|
@@ -60,15 +60,18 @@ class TaskQuery(BaseModel):
|
|
|
@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),
|
|
|
- pageNum: int = Query(1, gt=0, description="页码"),
|
|
|
- pageSize: int = Query(10, gt=0, le=100, description="每页大小")):
|
|
|
+ request: Request,
|
|
|
+ db: Session = Depends(get_db),
|
|
|
+ query: TaskQuery = Depends(),
|
|
|
+ sortBy: str = Query(None, description="排序字段"),
|
|
|
+ sortOrder: str = Query(None, description="排序顺序"),
|
|
|
+ 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')
|
|
|
|
|
|
+ # 应用过滤条件
|
|
|
if query.task_id:
|
|
|
data_query = data_query.filter(TaskRegistration.task_id == query.task_id)
|
|
|
if query.task_description:
|
|
@@ -81,7 +84,16 @@ async def select_tasks(
|
|
|
data_query = data_query.filter(TaskRegistration.creation_time == query.creation_time)
|
|
|
if query.processing_status:
|
|
|
data_query = data_query.filter(TaskRegistration.processing_status == query.processing_status)
|
|
|
-
|
|
|
+
|
|
|
+ print(TaskRegistration,sortBy)
|
|
|
+ if sortBy:
|
|
|
+ if hasattr(TaskRegistration, sortBy):
|
|
|
+ print("xx")
|
|
|
+ sort_attr = getattr(TaskRegistration, sortBy)
|
|
|
+ data_query = data_query.order_by(sort_attr.asc() if sortOrder == 'asc' else sort_attr.desc())
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
total_count = data_query.count()
|
|
|
# 计算分页的偏移量
|
|
|
offset = (pageNum - 1) * pageSize
|
|
@@ -89,7 +101,6 @@ async def select_tasks(
|
|
|
data_query = data_query.offset(offset).limit(pageSize)
|
|
|
|
|
|
tasks = data_query.all()
|
|
|
-
|
|
|
|
|
|
return {
|
|
|
"code": 200,
|