fix(announcement): 将分页计数移至排序之前执行

This commit is contained in:
fawney19
2026-03-03 22:35:08 +08:00
parent 97b0146ce9
commit cdce817928

View File

@@ -79,15 +79,15 @@ class AnnouncementService:
or_(Announcement.end_time == None, Announcement.end_time >= now), or_(Announcement.end_time == None, Announcement.end_time >= now),
) )
# 分页
total = int(query.with_entities(func.count(Announcement.id)).scalar() or 0)
# 排序:置顶优先,然后按优先级和创建时间 # 排序:置顶优先,然后按优先级和创建时间
query = query.order_by( query = query.order_by(
Announcement.is_pinned.desc(), Announcement.is_pinned.desc(),
Announcement.priority.desc(), Announcement.priority.desc(),
Announcement.created_at.desc(), Announcement.created_at.desc(),
) )
# 分页
total = int(query.with_entities(func.count(Announcement.id)).scalar() or 0)
announcements = query.offset(offset).limit(limit).all() announcements = query.offset(offset).limit(limit).all()
# 获取已读状态 # 获取已读状态