Browse Source

任务登记模块更新

xuguoyang 10 months ago
parent
commit
cb6edfd5df
1 changed files with 41 additions and 1 deletions
  1. 41 1
      routers/api/taskRegistration/__init__.py

+ 41 - 1
routers/api/taskRegistration/__init__.py

@@ -151,4 +151,44 @@ async def update_task_status(
 
     except Exception as e:
         db.rollback()
-        raise HTTPException(status_code=500, detail=str(e))
+        raise HTTPException(status_code=500, detail=str(e))
+
+
+@router.delete('/delete')
+async def delete_task(
+    request: Request,
+    db: Session = Depends(get_db),
+    user_id=Depends(valid_access_token)):  # 确保用户已验证
+    try:
+        body = await request.json()
+        task_id_to_use = body.get('taskID')
+        if not task_id_to_use:
+            raise HTTPException(status_code=400, detail="Missing required parameter 'taskID'")
+
+        # 查询要删除的任务
+        task_entry = db.query(TaskRegistration).filter(TaskRegistration.task_id == task_id_to_use).first()
+        if not task_entry:
+            raise HTTPException(status_code=404, detail="任务不存在")
+
+        # 将找到的任务的 del_flag 改为 '2'
+        task_entry.del_flag = '2'
+
+        try:
+            db.commit()
+            return {
+                "code": 200,
+                "msg": "任务删除成功",
+                "data": {
+                    "task_id": task_entry.task_id
+                }
+            }
+        except Exception as e:
+            db.rollback()
+            raise HTTPException(status_code=500, detail=f"An error occurred while deleting the task: {str(e)}")
+
+    except HTTPException as e:
+        # 如果捕获到HTTP异常,直接抛出
+        raise e
+    except Exception as e:
+        db.rollback()
+        raise HTTPException(status_code=500, detail=f"An unexpected error occurred: {str(e)}")