libushang 6 ماه پیش
والد
کامیت
9ad900f1f2
2فایلهای تغییر یافته به همراه15 افزوده شده و 11 حذف شده
  1. 3 1
      models/taskRegistration_base.py
  2. 12 10
      routers/api/taskRegistration/__init__.py

+ 3 - 1
models/taskRegistration_base.py

@@ -1,4 +1,4 @@
-from sqlalchemy import Column, Integer, String, DateTime, ForeignKey,Text
+from sqlalchemy import Column, Integer, String, DateTime, ForeignKey,Text, Float
 from sqlalchemy.ext.declarative import declarative_base
 from sqlalchemy.orm import relationship
 from datetime import datetime
@@ -70,6 +70,8 @@ class TaskFeeback(Base):
     leader_name = Column(String(150), default='', server_default='', comment='领导姓名')
     approval_content = Column(Text, comment='批复内容')
     approval_time = Column(DateTime, comment='批复时间')
+    longitude = Column(Float, nullable=True, comment='经度')
+    latitude = Column(Float, nullable=True, comment='纬度')
 
     class Config:
         orm_mode = True

+ 12 - 10
routers/api/taskRegistration/__init__.py

@@ -220,20 +220,20 @@ async def select_tasks(
 @router.put('/update')
 async def update_task_status(
         request: Request,
+        body = Depends(remove_xss_json), 
         db: Session = Depends(get_db),
         user_id=Depends(valid_access_token)):
 
     try:
-        body = await request.json()
-        task_id_to_use = body.get('task_id')
-        processing_status = body.get('processing_status')
-        feedback_content = body.get('feedback_content')
-        attachList = body.get('attachList')
-
-        event_code = db.query(EventBase).filter(EventBase.event_code == body.get('event_code')).first()
-        if not event_code:
-            return Response(content="事件不存在", status_code=400)
+        task_id_to_use = get_req_param(body, 'task_id')
+        processing_status = get_req_param(body, 'processing_status')
+        feedback_content = get_req_param(body, 'feedback_content')
+        attachList = get_req_param(body, 'fileList')
 
+        longitude = latitude = None
+        if 'lnglat' in body:
+            longitude = body['lnglat'][0]
+            latitude = body['lnglat'][1]
 
         if not task_id_to_use:
             return Response(content="Missing required parameter 'task_id'", status_code=400)
@@ -257,7 +257,9 @@ async def update_task_status(
             leader_unit = "",
             leader_name = "",
             approval_content = "",
-            recorded_by=user_id
+            recorded_by=user_id,
+            longitude = longitude,
+            latitude = latitude
         )
         db.add(new_feeback)
         db.commit()