瀏覽代碼

no message

libushang 8 月之前
父節點
當前提交
35cd7a0536
共有 1 個文件被更改,包括 16 次插入3 次删除
  1. 16 3
      routers/api/eventManagement/event.py

+ 16 - 3
routers/api/eventManagement/event.py

@@ -22,6 +22,7 @@ from urllib.parse import quote
 import base64
 from config import settings
 from extensions import logger
+import os
 
 router = APIRouter()
 
@@ -936,7 +937,11 @@ async def upload_casualties(
     body = Depends(remove_xss_json), 
     db: Session = Depends(get_db)
 ):
+    fileNames = []
     eventId = body['event_id']
+    if 'fileNames' in body:
+        fileNames = body['fileNames']
+        del body['fileNames']
     
     del body['event_id']
 
@@ -945,12 +950,20 @@ async def upload_casualties(
     db.query(EventBase).filter(EventBase.event_code == eventId).update(body)
     db.commit()
 
-    if 'fileNames' in body:
+    if len(fileNames) > 0:
+
+        event_base = db.query(EventBase).filter(EventBase.event_code == eventId).first()
+        
+        # 删除之前的总结报告,保留当前这一份    
+        db.query(EventFile).filter(and_(EventFile.from_scenario == 'event_summary_file', EventFile.foreign_key == event_base.event_code)).update({"del_flag": "2"})
+        db.commit()
+
         event_files = [
             EventFile(
                 event_id=event_base.id,
                 file_name=fileName["name"],  # 使用 fileName["name"] 作为文件名
-                file_path=f'/data/upload/mergefile/{fileName["url"]}',
+                file_path=f'/data/upload/mergefile/uploads/{fileName["url"]}',
+                file_size=os.path.getsize(f'/data/upload/mergefile/uploads/{fileName["url"]}'),
                 storage_file_name=fileName["url"],
                 foreign_key=event_base.event_code,
                 from_scenario="event_summary_file",
@@ -958,7 +971,7 @@ async def upload_casualties(
                 create_time=datetime.now(),
                 del_flag='0'
             )
-            for fileName in body['fileNames']  # body['fileNames'] 现在是一个包含对象的数组,每个对象都有 'name' 和 'url' 属性
+            for fileName in fileNames  # body['fileNames'] 现在是一个包含对象的数组,每个对象都有 'name' 和 'url' 属性
         ]
         db.add_all(event_files)
         db.commit()