浏览代码

no message

libushang 10 月之前
父节点
当前提交
9153725a47
共有 1 个文件被更改,包括 52 次插入12 次删除
  1. 52 12
      routers/api/eventManagement/event.py

+ 52 - 12
routers/api/eventManagement/event.py

@@ -312,28 +312,37 @@ async def close_event(
 
     try:
         # 验证必需的字段
+        '''
         required_fields = ['eventId', 'deaths', 'injuries', 'missing', 'fileNames']
         missing_fields = [field for field in required_fields if field not in body]
         print('missing_fields', missing_fields)
         if missing_fields:
             raise HTTPException(status_code=401, detail=f"Missing required fields: {', '.join(missing_fields)}")
+        '''
 
         eventId = body['eventId']
 
         # 标记关闭状态
         event_base = db.query(EventBase).filter(EventBase.event_code == eventId).first()
-        event_base.event_status = "3" 
-        db.commit()
+        if event_base is None:
+            return {
+                "code": 500,
+                "msg": '事件不存在'
+            }
+        
+        if event_base.event_status != "3": 
+            event_base.event_status = "3" 
+            db.commit()
 
-        event_tracking = EventTracking()
-        event_tracking.event_id = event_base.id
-        event_tracking.event_status = event_base.event_status
-        event_tracking.event_level = event_base.event_level
-        event_tracking.tracking_time = datetime.now()
-        event_tracking.recorded_by = user_id
-        event_tracking.del_flag = "0"
-        db.add(event_tracking)
-        db.commit()
+            event_tracking = EventTracking()
+            event_tracking.event_id = event_base.id
+            event_tracking.event_status = event_base.event_status
+            event_tracking.event_level = event_base.event_level
+            event_tracking.tracking_time = datetime.now()
+            event_tracking.recorded_by = user_id
+            event_tracking.del_flag = "0"
+            db.add(event_tracking)
+            db.commit()
 
         return {
             "code": 200,
@@ -421,4 +430,35 @@ async def notice_bar(
     except Exception as e:
         traceback.print_exc()
         # 处理异常
-        raise HTTPException(status_code=500, detail=str(e))
+        raise HTTPException(status_code=500, detail=str(e))
+    
+
+# 列出已登记(未开始指挥)的事件列表
+@router.post("/list_registered")
+async def list_registered(
+    request: Request,  
+    db: Session = Depends(get_db)
+):
+    where = and_(EventBase.del_flag == '0', EventBase.event_status == '0')
+    rows = db.query(EventBase).filter(where).order_by(EventBase.event_time.asc()).all()
+    data = [
+        {
+            "event_id": row.event_code,
+            "event_title": row.event_title,
+            "event_type": row.event_type,
+            "event_level": row.event_level,
+            "event_status": row.event_status,
+            "latitude": row.latitude,
+            "longitude": row.longitude,
+            "address": row.address,
+            "event_time": get_datetime_str(row.event_time)
+        }
+        for row in rows
+    ]
+
+    # 返回结果
+    return {
+        "code": 200,
+        "msg": "查询成功",
+        "data": data
+    }