瀏覽代碼

no message

libushang 8 月之前
父節點
當前提交
0453d35511

+ 2 - 1
common/db/db_event_management.py

@@ -78,7 +78,8 @@ def get_summary_file_list(db: Session, event_id: int):
     data = [
         {
             "file_name": row.file_name,
-            "url": "/api/event_management/event/download_file?file_id="+str(row.id)+"&event_id="+str(row.event_id)
+            # "url": "/api/event_management/event/download_file?file_id="+str(row.id)+"&event_id="+str(row.event_id)
+            "url": row.storage_file_name
         }
         for row in rows
     ]

+ 1 - 1
models/event_base.py

@@ -55,7 +55,7 @@ class EventFile(Base):
     id = Column(Integer, autoincrement=True, primary_key=True)
     event_id = Column(Integer, nullable=False, comment='事件ID')
     file_name = Column(String(255), nullable=False, comment='文件名称')
-    file_name_desc = Column(String(255), nullable=False, comment='文件名称原名')
+    storage_file_name = Column(String(255), nullable=False, comment='文件名称原名')
     file_path = Column(String(255), nullable=False, comment='文件存储路径')
     file_size = Column(String(50), comment='文件大小')
     foreign_key = Column(String(50), comment='文件外键 --技术字段')

+ 36 - 0
routers/api/eventManagement/event.py

@@ -362,6 +362,24 @@ async def close_event(
             db.add(event_tracking)
             db.commit()
 
+        if 'fileName' in body:
+            event_files = [
+                EventFile(
+                    event_id=event_base.id,
+                    file_name=fileName["name"],  # 使用 fileName["name"] 作为文件名
+                    file_path=f'/data/upload/mergefile/{fileName["url"]}',
+                    storage_file_name=fileName["url"],
+                    foreign_key=event_base.event_code,
+                    from_scenario="event_summary_file",
+                    update_time=datetime.now(),
+                    create_time=datetime.now(),
+                    del_flag='0'
+                )
+                for fileName in body['fileNames']  # body['fileNames'] 现在是一个包含对象的数组,每个对象都有 'name' 和 'url' 属性
+            ]
+            db.add_all(event_files)
+            db.commit()
+
         return {
             "code": 200,
             "msg": '关闭事件成功'
@@ -927,6 +945,24 @@ async def upload_casualties(
     db.query(EventBase).filter(EventBase.event_code == eventId).update(body)
     db.commit()
 
+    if 'fileName' in body:
+        event_files = [
+            EventFile(
+                event_id=event_base.id,
+                file_name=fileName["name"],  # 使用 fileName["name"] 作为文件名
+                file_path=f'/data/upload/mergefile/{fileName["url"]}',
+                storage_file_name=fileName["url"],
+                foreign_key=event_base.event_code,
+                from_scenario="event_summary_file",
+                update_time=datetime.now(),
+                create_time=datetime.now(),
+                del_flag='0'
+            )
+            for fileName in body['fileNames']  # body['fileNames'] 现在是一个包含对象的数组,每个对象都有 'name' 和 'url' 属性
+        ]
+        db.add_all(event_files)
+        db.commit()
+
     return {
         "code": 200,
         "msg": "保存事件伤亡情况成功"

+ 19 - 9
routers/api/infoPublish/back.py

@@ -241,17 +241,27 @@ async def post_edit_info(
     db: Session = Depends(get_db),
     user_id = Depends(valid_access_token)):
 
-    info_id = body['info_id']
-    del body['info_id']
-    body['recorded_by'] = user_id
+    try:
+        id = body['id']
+        remove_req_param(body, 'info_id')
 
-    db.query(InfoPublishBase).filter(InfoPublishBase.id == info_id).update(body)
-    db.commit()
+        examines = body['examines']
+        remove_req_param(body, 'examines')
 
-    return {
-        "code": 200,
-        "msg": "保存信息成功"
-    }
+        body['recorded_by'] = user_id
+
+        db.query(InfoPublishBase).filter(InfoPublishBase.id == id).update(body)
+        db.commit()
+
+        return {
+            "code": 200,
+            "msg": "保存信息成功"
+        }
+
+    except Exception as e:
+        # 处理异常
+        traceback.print_exc()
+        raise HTTPException(status_code=500, detail=str(e))
 
 # 信息发布提交审核
 @router.post('/examine')

+ 3 - 0
utils/StripTagsHTMLParser.py

@@ -7,6 +7,7 @@ from html.parser import HTMLParser
 from fastapi import Request
 import json
 from exceptions import XssException
+from extensions import logger
 
 class StripTagsHTMLParser(HTMLParser):
     data = ""
@@ -28,6 +29,8 @@ async def remove_xss_json(request: Request) -> dict:
         parser.feed(body)
         data = parser.getData()
         data = json.loads(data)
+        print("remove_xss_json>>>>>")
+        logger.info(data)
         return data
     except:
         raise XssException()

+ 4 - 0
utils/__init__.py

@@ -77,6 +77,10 @@ def get_req_param_optional(params: dict, name: str) -> any:
         return ''
     return params[name]
 
+def remove_req_param(params: dict, name: str) -> None:
+    if name in params:
+        del params[name]
+
 
 # 下发时间超过一个月的数据,删除字段“核处情况”、“身份证件号码”、“手机号码”
 def need_tuomin(xfsj: datetime):