浏览代码

250717-2代码。

baoyubo 1 周之前
父节点
当前提交
6a9daf367d
共有 1 个文件被更改,包括 15 次插入4 次删除
  1. 15 4
      routers/api/eventManagement/checkin.py

+ 15 - 4
routers/api/eventManagement/checkin.py

@@ -224,8 +224,10 @@ async def check(
 @router.get('/list')
 async def get_event_list(
     event_id: str,
-    page: int = Query(1, gt=0, description='页码'),
-    page_size: int = Query(10, gt=0, description='pageSize'),
+    page: int = Query(0, gt=0, description='页码'),
+    page_size: int = Query(0, gt=0, description='pageSize'),
+    sort_by: str = Query('sign_time', description="排序字段"),
+    sort_order: str = Query('desc', description="排序顺序"),
     db: Session = Depends(get_db)
 ):
     try:
@@ -235,11 +237,20 @@ async def get_event_list(
         q = db.query(func.count(EventCheckin.id))
         q = q.filter(where)
         total = q.scalar()
-        
+        if page==0 or page_size==0:
+            page = 1
+            page_size=total
         # 执行分页查询
         q = db.query(EventCheckin)
         q = q.filter(where)
-        rows = q.order_by(EventCheckin.id.desc()).offset((page - 1) * page_size).limit(page_size).all()
+
+        # # 应用排序条件
+        q = q.order_by(EventCheckin.dept_name)
+        if hasattr(EventCheckin, sort_by):
+            sort_attr = getattr(EventCheckin, sort_by)
+            q = q.order_by(sort_attr.asc() if sort_order == 'asc' else sort_attr.desc())
+
+        rows = q.offset((page - 1) * page_size).limit(page_size).all()
         data = [
             {
                 "event_id": row.event_id,