mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 15:38:19 +08:00
@@ -65,76 +65,92 @@ class TransferHistory(Base):
|
|||||||
def list_by_title(cls, db: Session, title: str, page: Optional[int] = 1, count: Optional[int] = 30,
|
def list_by_title(cls, db: Session, title: str, page: Optional[int] = 1, count: Optional[int] = 30,
|
||||||
status: bool = None):
|
status: bool = None):
|
||||||
if status is not None:
|
if status is not None:
|
||||||
return db.query(cls).filter(
|
query = db.query(cls).filter(
|
||||||
cls.status == status
|
cls.status == status
|
||||||
).order_by(
|
).order_by(
|
||||||
cls.date.desc()
|
cls.date.desc()
|
||||||
).offset((page - 1) * count).limit(count).all()
|
)
|
||||||
else:
|
else:
|
||||||
return db.query(cls).filter(or_(
|
query = db.query(cls).filter(or_(
|
||||||
cls.title.like(f'%{title}%'),
|
cls.title.like(f'%{title}%'),
|
||||||
cls.src.like(f'%{title}%'),
|
cls.src.like(f'%{title}%'),
|
||||||
cls.dest.like(f'%{title}%'),
|
cls.dest.like(f'%{title}%'),
|
||||||
)).order_by(
|
)).order_by(
|
||||||
cls.date.desc()
|
cls.date.desc()
|
||||||
).offset((page - 1) * count).limit(count).all()
|
)
|
||||||
|
|
||||||
|
# 当count为负数时,不限制页数查询所有
|
||||||
|
if count >= 0:
|
||||||
|
query = query.offset((page - 1) * count).limit(count)
|
||||||
|
|
||||||
|
return query.all()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@async_db_query
|
@async_db_query
|
||||||
async def async_list_by_title(cls, db: AsyncSession, title: str, page: Optional[int] = 1, count: Optional[int] = 30,
|
async def async_list_by_title(cls, db: AsyncSession, title: str, page: Optional[int] = 1, count: Optional[int] = 30,
|
||||||
status: bool = None):
|
status: bool = None):
|
||||||
if status is not None:
|
if status is not None:
|
||||||
result = await db.execute(
|
query = select(cls).filter(
|
||||||
select(cls).filter(
|
cls.status == status
|
||||||
cls.status == status
|
).order_by(
|
||||||
).order_by(
|
cls.date.desc()
|
||||||
cls.date.desc()
|
|
||||||
).offset((page - 1) * count).limit(count)
|
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
result = await db.execute(
|
query = select(cls).filter(or_(
|
||||||
select(cls).filter(or_(
|
cls.title.like(f'%{title}%'),
|
||||||
cls.title.like(f'%{title}%'),
|
cls.src.like(f'%{title}%'),
|
||||||
cls.src.like(f'%{title}%'),
|
cls.dest.like(f'%{title}%'),
|
||||||
cls.dest.like(f'%{title}%'),
|
)).order_by(
|
||||||
)).order_by(
|
cls.date.desc()
|
||||||
cls.date.desc()
|
|
||||||
).offset((page - 1) * count).limit(count)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# 当count为负数时,不限制页数查询所有
|
||||||
|
if count >= 0:
|
||||||
|
query = query.offset((page - 1) * count).limit(count)
|
||||||
|
|
||||||
|
result = await db.execute(query)
|
||||||
return result.scalars().all()
|
return result.scalars().all()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@db_query
|
@db_query
|
||||||
def list_by_page(cls, db: Session, page: Optional[int] = 1, count: Optional[int] = 30, status: bool = None):
|
def list_by_page(cls, db: Session, page: Optional[int] = 1, count: Optional[int] = 30, status: bool = None):
|
||||||
if status is not None:
|
if status is not None:
|
||||||
return db.query(cls).filter(
|
query = db.query(cls).filter(
|
||||||
cls.status == status
|
cls.status == status
|
||||||
).order_by(
|
).order_by(
|
||||||
cls.date.desc()
|
cls.date.desc()
|
||||||
).offset((page - 1) * count).limit(count).all()
|
)
|
||||||
else:
|
else:
|
||||||
return db.query(cls).order_by(
|
query = db.query(cls).order_by(
|
||||||
cls.date.desc()
|
cls.date.desc()
|
||||||
).offset((page - 1) * count).limit(count).all()
|
)
|
||||||
|
|
||||||
|
# 当count为负数时,不限制页数查询所有
|
||||||
|
if count >= 0:
|
||||||
|
query = query.offset((page - 1) * count).limit(count)
|
||||||
|
|
||||||
|
return query.all()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@async_db_query
|
@async_db_query
|
||||||
async def async_list_by_page(cls, db: AsyncSession, page: Optional[int] = 1, count: Optional[int] = 30,
|
async def async_list_by_page(cls, db: AsyncSession, page: Optional[int] = 1, count: Optional[int] = 30,
|
||||||
status: bool = None):
|
status: bool = None):
|
||||||
if status is not None:
|
if status is not None:
|
||||||
result = await db.execute(
|
query = select(cls).filter(
|
||||||
select(cls).filter(
|
cls.status == status
|
||||||
cls.status == status
|
).order_by(
|
||||||
).order_by(
|
cls.date.desc()
|
||||||
cls.date.desc()
|
|
||||||
).offset((page - 1) * count).limit(count)
|
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
result = await db.execute(
|
query = select(cls).order_by(
|
||||||
select(cls).order_by(
|
cls.date.desc()
|
||||||
cls.date.desc()
|
|
||||||
).offset((page - 1) * count).limit(count)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# 当count为负数时,不限制页数查询所有
|
||||||
|
if count >= 0:
|
||||||
|
query = query.offset((page - 1) * count).limit(count)
|
||||||
|
|
||||||
|
result = await db.execute(query)
|
||||||
return result.scalars().all()
|
return result.scalars().all()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|||||||
Reference in New Issue
Block a user