feat: 支持主列表选择每页条数 (#242)

This commit is contained in:
chengma
2026-08-15 15:15:38 +08:00
parent 8c09023434
commit b4558537d5
37 changed files with 479 additions and 160 deletions
+9 -3
View File
@@ -249,19 +249,25 @@ type PddListResult struct {
// ListPddProducts 查列表并把每一行翻成界面文字。
func ListPddProducts(db *sql.DB, keyword string, status model.CollectStatus, requestedPage int) (*PddListResult, error) {
return ListPddProductsWithPageSize(db, keyword, status, requestedPage, DefaultPageSize)
}
// ListPddProductsWithPageSize 按白名单页容量返回 PDD 商品列表。
func ListPddProductsWithPageSize(db *sql.DB, keyword string, status model.CollectStatus, requestedPage, pageSize int) (*PddListResult, error) {
pageSize = NormalizePageSize(pageSize)
page := requestedPage
if page < 1 {
page = 1
}
rows, filteredTotal, err := repository.ListPddProducts(db, keyword, status, PageSize, (page-1)*PageSize)
rows, filteredTotal, err := repository.ListPddProducts(db, keyword, status, pageSize, (page-1)*pageSize)
if err != nil {
return nil, err
}
totalPages := TotalPages(filteredTotal)
totalPages := TotalPages(filteredTotal, pageSize)
clampedPage := ClampPage(page, totalPages)
if clampedPage != page {
page = clampedPage
rows, _, err = repository.ListPddProducts(db, keyword, status, PageSize, (page-1)*PageSize)
rows, _, err = repository.ListPddProducts(db, keyword, status, pageSize, (page-1)*pageSize)
if err != nil {
return nil, err
}