From dcf1985361006228a565697453d31dcd07193278 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sat, 23 Dec 2023 19:32:34 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8D=E4=BA=86=E6=9C=AA?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E8=AE=A2=E9=98=85=E7=AB=99=E7=82=B9=E6=97=B6?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E7=BC=96=E8=BE=91=E8=AE=A2=E9=98=85=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20-=20=E5=8E=86=E5=8F=B2=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=BF=87=E6=BB=A4=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/endpoints/history.py | 15 ++++++++++++--- app/db/models/transferhistory.py | 33 +++++++++++++++++++++++--------- version.py | 2 +- 3 files changed, 37 insertions(+), 13 deletions(-) diff --git a/app/api/endpoints/history.py b/app/api/endpoints/history.py index 3aca0475..18104ed9 100644 --- a/app/api/endpoints/history.py +++ b/app/api/endpoints/history.py @@ -42,16 +42,25 @@ def delete_download_history(history_in: schemas.DownloadHistory, def transfer_history(title: str = None, page: int = 1, count: int = 30, + status: bool = None, db: Session = Depends(get_db), _: schemas.TokenPayload = Depends(verify_token)) -> Any: """ 查询转移历史记录 """ + if title == "失败": + title = None + status = False + elif title == "成功": + title = None + status = True + if title: - total = TransferHistory.count_by_title(db, title) - result = TransferHistory.list_by_title(db, title, page, count) + total = TransferHistory.count_by_title(db, title=title, status=status) + result = TransferHistory.list_by_title(db, title=title, page=page, + count=count, status=status) else: - result = TransferHistory.list_by_page(db, page, count) + result = TransferHistory.list_by_page(db, page=page, count=count, status=status) total = TransferHistory.count(db) return schemas.Response(success=True, diff --git a/app/db/models/transferhistory.py b/app/db/models/transferhistory.py index 93948008..0b246a4a 100644 --- a/app/db/models/transferhistory.py +++ b/app/db/models/transferhistory.py @@ -48,17 +48,28 @@ class TransferHistory(Base): @staticmethod @db_query - def list_by_title(db: Session, title: str, page: int = 1, count: int = 30): - result = db.query(TransferHistory).filter(TransferHistory.title.like(f'%{title}%')).order_by( - TransferHistory.date.desc()).offset((page - 1) * count).limit( - count).all() + def list_by_title(db: Session, title: str, page: int = 1, count: int = 30, status: bool = None): + if status is not None: + result = db.query(TransferHistory).filter(TransferHistory.title.like(f'%{title}%'), + TransferHistory.status == status).order_by( + TransferHistory.date.desc()).offset((page - 1) * count).limit( + count).all() + else: + result = db.query(TransferHistory).filter(TransferHistory.title.like(f'%{title}%')).order_by( + TransferHistory.date.desc()).offset((page - 1) * count).limit( + count).all() return list(result) @staticmethod @db_query - def list_by_page(db: Session, page: int = 1, count: int = 30): - result = db.query(TransferHistory).order_by(TransferHistory.date.desc()).offset((page - 1) * count).limit( - count).all() + def list_by_page(db: Session, page: int = 1, count: int = 30, status: bool = None): + if status is not None: + result = db.query(TransferHistory).filter(TransferHistory.status == status).order_by( + TransferHistory.date.desc()).offset((page - 1) * count).limit( + count).all() + else: + result = db.query(TransferHistory).order_by(TransferHistory.date.desc()).offset((page - 1) * count).limit( + count).all() return list(result) @staticmethod @@ -97,8 +108,12 @@ class TransferHistory(Base): @staticmethod @db_query - def count_by_title(db: Session, title: str): - return db.query(func.count(TransferHistory.id)).filter(TransferHistory.title.like(f'%{title}%')).first()[0] + def count_by_title(db: Session, title: str, status: bool = None): + if status is not None: + return db.query(func.count(TransferHistory.id)).filter(TransferHistory.title.like(f'%{title}%'), + TransferHistory.status == status).first()[0] + else: + return db.query(func.count(TransferHistory.id)).filter(TransferHistory.title.like(f'%{title}%')).first()[0] @staticmethod @db_query diff --git a/version.py b/version.py index 05f61f94..36453f48 100644 --- a/version.py +++ b/version.py @@ -1 +1 @@ -APP_VERSION = 'v1.5.3' +APP_VERSION = 'v1.5.4'