From 471facc12a8eec7abadcbbdc2140cd2e18ff6cb5 Mon Sep 17 00:00:00 2001 From: Administrator Date: Mon, 24 Apr 2023 09:57:37 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A1=E7=AE=97=E8=B4=A2=E6=8A=A5=E6=80=BB?= =?UTF-8?q?=E9=A2=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Mods/Finance/Crud.py | 4 +++- Mods/Finance/Router.py | 5 +++-- Mods/Finance/Schemas.py | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Mods/Finance/Crud.py b/Mods/Finance/Crud.py index 9c96e8b..9a2314b 100644 --- a/Mods/Finance/Crud.py +++ b/Mods/Finance/Crud.py @@ -52,7 +52,9 @@ def finance_query(db: Session, params: Schemas.FinanceQuery): query = query.filter(getattr(db_model, key) <= datetime.fromtimestamp(value[1] / 1000)) else: query = query.filter(getattr(db_model, key) == value) + total = sum([item[0].income for item in query if item[0].income]) count = query.count() + page = None page_size = None if 'page' in params_dict: @@ -63,6 +65,6 @@ def finance_query(db: Session, params: Schemas.FinanceQuery): if page is not None and page_size is not None: page_size = min(page_size, 100) query = query.offset((page - 1) * page_size).limit(page_size).all() - return count, query + return count, query,total ################ diff --git a/Mods/Finance/Router.py b/Mods/Finance/Router.py index 52cae92..fa500d7 100644 --- a/Mods/Finance/Router.py +++ b/Mods/Finance/Router.py @@ -40,13 +40,14 @@ def finance_get(req: Schemas.FinanceGetReq, db: Session = Depends(get_db)): @router.post("/finance/query", summary="查询财务数据", response_model=Schemas.FinanceQueryRes) def finance_query(req: Schemas.FinanceQueryReq, db: Session = Depends(get_db)): - count, query = Crud.finance_query(db, req) + count, query,total = Crud.finance_query(db, req) items = [] for item in query: finance_info = item[0].to_dict() finance_info['user_info'] = item[1].to_dict() items.append(Schemas.FinanceInfo(**finance_info)) - return Schemas.FinanceQueryRes(count=count, items=items) + print(total,"total") + return Schemas.FinanceQueryRes(count=count, items=items,total=total) @router.post("/finance/query_common", summary="通用查询财务数据", diff --git a/Mods/Finance/Schemas.py b/Mods/Finance/Schemas.py index 9330d43..0d56db6 100644 --- a/Mods/Finance/Schemas.py +++ b/Mods/Finance/Schemas.py @@ -70,6 +70,7 @@ class FinanceGetRes(FinanceInfo): class FinanceQueryRes(BaseModel): count: int items: List[FinanceInfo] + total: Optional[float] class FinanceDeleteReq(BaseModel):