diff --git a/app/repositories/comparison.py b/app/repositories/comparison.py index ad362e5..f233c4f 100644 --- a/app/repositories/comparison.py +++ b/app/repositories/comparison.py @@ -135,11 +135,11 @@ def list_records( limit: int = 20, cursor: int | None = None, ) -> tuple[list[ComparisonRecord], int | None]: - """比价记录分页(按 id 倒序,游标式)。附「已下单」店级标记(瞬态,不写库)。""" + """比价记录分页(按创建时间倒序、id 兜底,游标式)。附「已下单」店级标记(瞬态,不写库)。""" stmt = select(ComparisonRecord).where(ComparisonRecord.user_id == user_id) if cursor is not None: stmt = stmt.where(ComparisonRecord.id < cursor) - stmt = stmt.order_by(ComparisonRecord.id.desc()).limit(limit) + stmt = stmt.order_by(ComparisonRecord.created_at.desc(), ComparisonRecord.id.desc()).limit(limit) items = list(db.execute(stmt).scalars().all()) next_cursor = items[-1].id if len(items) == limit else None