diff --git a/app/api/endpoints/history.py b/app/api/endpoints/history.py index 8c8a8aee..219e5b8d 100644 --- a/app/api/endpoints/history.py +++ b/app/api/endpoints/history.py @@ -36,7 +36,7 @@ def delete_download_history(history_in: schemas.DownloadHistory, return schemas.Response(success=True) -@router.get("/transfer", summary="查询转移历史记录", response_model=List[schemas.TransferHistory]) +@router.get("/transfer", summary="查询转移历史记录", response_model=schemas.Response) def transfer_history(title: str = None, page: int = 1, count: int = 30, @@ -46,9 +46,17 @@ def transfer_history(title: str = None, 查询转移历史记录 """ if title: - return TransferHistory.list_by_title(db, title, page, count) + return schemas.Response(success=True, + data={ + "list": TransferHistory.list_by_title(db, title, page, count), + "total": TransferHistory.count_by_title(db, title), + }) else: - return TransferHistory.list_by_page(db, page, count) + return schemas.Response(success=True, + data={ + "list": TransferHistory.list_by_page(db, page, count), + "total": TransferHistory.count(db), + }) @router.delete("/transfer", summary="删除转移历史记录", response_model=schemas.Response) diff --git a/app/db/models/transferhistory.py b/app/db/models/transferhistory.py index 0b49b478..26064dfe 100644 --- a/app/db/models/transferhistory.py +++ b/app/db/models/transferhistory.py @@ -70,3 +70,10 @@ class TransferHistory(Base): time.localtime(time.time() - 86400 * days))).subquery() return db.query(sub_query.c.date, func.count(sub_query.c.id)).group_by(sub_query.c.date).all() + @staticmethod + def count(db: Session): + return db.query(func.count(TransferHistory.id)).first()[0] + + @staticmethod + def count_by_title(db: Session, title: str): + return db.query(func.count(TransferHistory.id)).filter(TransferHistory.title == title).first()[0]