From 63b6ed16b336d61833b4bf11a5b86dfcfea9097d Mon Sep 17 00:00:00 2001 From: P3ngSaM <61768364+P3ngSaM@users.noreply.github.com> Date: Thu, 24 Nov 2022 14:06:20 +0800 Subject: [PATCH] =?UTF-8?q?changes=20=E6=B5=81=E7=A8=8B=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App/Crud/RatingFlowCrud.py | 1 + App/Crud/RatingFlowParticipantCrud.py | 11 ++++++++--- App/Router/RatingFlowRouter.py | 8 +++++--- App/Schemas/RatingFlowSchema.py | 5 +++++ 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/App/Crud/RatingFlowCrud.py b/App/Crud/RatingFlowCrud.py index a404bfe..7eb6bfb 100644 --- a/App/Crud/RatingFlowCrud.py +++ b/App/Crud/RatingFlowCrud.py @@ -99,3 +99,4 @@ def change_rating_status(db, _id: str, status: bool): db.query(RatingFlowNode).filter_by(id=_id).update(update_data) db.commit() return db.query(RatingFlowNode).filter_by(id=_id).first() + diff --git a/App/Crud/RatingFlowParticipantCrud.py b/App/Crud/RatingFlowParticipantCrud.py index ca5149f..4992de9 100644 --- a/App/Crud/RatingFlowParticipantCrud.py +++ b/App/Crud/RatingFlowParticipantCrud.py @@ -3,6 +3,11 @@ from sqlalchemy.orm import Session from App.Model.RatingFlowModel import RatingFlowParticipant -def list_users_rating_flows(db: Session, user_id): - items = db.query(RatingFlowParticipant).filter_by(user_id=user_id).all() - return items +def list_users_rating_flows(db: Session, user_id, page, pagesize): + page = 1 if page < 1 else (100 if page > 100 else page) + pagesize = 5 if pagesize < 5 else (20 if pagesize > 20 else pagesize) + + items = db.query(RatingFlowParticipant).filter_by(user_id=user_id).offset((page-1)*pagesize).limit(pagesize).all() + count = db.query(RatingFlowParticipant).filter_by(user_id=user_id).count() + + return items, count diff --git a/App/Router/RatingFlowRouter.py b/App/Router/RatingFlowRouter.py index 5bcf114..6c18e5b 100644 --- a/App/Router/RatingFlowRouter.py +++ b/App/Router/RatingFlowRouter.py @@ -91,12 +91,14 @@ def func(schema: RatingFlowSchema.SaveRatingFlowNodeReqBody, db: Session = Depen @router.post("/list", summary="获取用户参与的所有评级流程", tags=["评级流程"]) -def func(token: str = Header(...), db: Session = Depends(get_db)): +def func(schema: RatingFlowSchema.RatingFlowListReqBody, token: str = Header(...), db: Session = Depends(get_db)): decoded_info = decode_token(token=token) user_info = decoded_info.get("user_info") user_id = user_info.get("uid") + page = schema.page + pagesize = schema.pagesize - items = list_users_rating_flows(db=db, user_id=user_id) + items, total = list_users_rating_flows(db=db, user_id=user_id, page=page, pagesize=pagesize) _list = [] for item in items: rating_flow = { @@ -107,7 +109,7 @@ def func(token: str = Header(...), db: Session = Depends(get_db)): } _list.append(rating_flow) - return _list + return {"items": _list, "total": total} @router.post("/node_data", summary="获取流程节点数据", tags=["评级流程"]) diff --git a/App/Schemas/RatingFlowSchema.py b/App/Schemas/RatingFlowSchema.py index 35209d3..fbf3b22 100644 --- a/App/Schemas/RatingFlowSchema.py +++ b/App/Schemas/RatingFlowSchema.py @@ -83,3 +83,8 @@ class ChangeStatusReqBody(BaseModel): rating_flow_id: str node_name: str status: bool + + +class RatingFlowListReqBody(BaseModel): + page: int = 1 + pagesize: int = 10