瀏覽代碼

任务登记模块更新

xuguoyang 10 月之前
父節點
當前提交
a91702b46d
共有 1 個文件被更改,包括 17 次插入3 次删除
  1. 17 3
      routers/api/taskRegistration/__init__.py

+ 17 - 3
routers/api/taskRegistration/__init__.py

@@ -8,7 +8,7 @@ from models import *
 from common.db import db_task
 from common.security import valid_access_token
 from datetime import datetime, timedelta
-from fastapi import APIRouter, Depends,HTTPException,Response
+from fastapi import APIRouter, Depends,HTTPException,Response,Query
 from database import get_db
 from pydantic import BaseModel
 
@@ -58,11 +58,14 @@ class TaskQuery(BaseModel):
     processing_status: str = None
 
 @router.post('/select')
+@router.get('/select')
 async def select_tasks(
     request: Request,
     db: Session = Depends(get_db),
     query: TaskQuery = Depends(),
-    user_id=Depends(valid_access_token)):
+    user_id=Depends(valid_access_token),
+    pageNum: int = Query(1, gt=0, description="页码"),
+    pageSize: int = Query(10, gt=0, le=100, description="每页大小")):
     try:
         data_query = db.query(TaskRegistration).filter(TaskRegistration.del_flag != '2')
 
@@ -79,12 +82,22 @@ async def select_tasks(
         if query.processing_status:
             data_query = data_query.filter(TaskRegistration.processing_status == query.processing_status)
 
+        # 计算分页的偏移量
+        offset = (pageNum - 1) * pageSize
+        # 应用分页
+        data_query = data_query.offset(offset).limit(pageSize)
+
         tasks = data_query.all()
+        total_count = data_query.count()
 
         return {
             "code": 200,
             "msg": "任务查询成功",
-            "data": tasks
+            "data": tasks,
+            "total": total_count,
+            "pages": (total_count + pageSize - 1) // pageSize,
+            "current_page": pageNum,
+            "page_size": pageSize
         }
 
     except Exception as e:
@@ -94,6 +107,7 @@ async def select_tasks(
 
 
 
+
 @router.put('/update')
 async def update_task_status(
     request: Request,