|
@@ -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,
|