feat: 支持主列表选择每页条数 (#242)
This commit is contained in:
@@ -81,15 +81,21 @@ type ShopeeListResult struct {
|
||||
// (repository.CountShopeeProductsFiltered),分页页数据此算出,
|
||||
// page 越界时兜到最后一页,见 service/pagination.go(工单 #43)。
|
||||
func ListShopeeProducts(db *sql.DB, filter repository.ShopeeFilter, page int) (*ShopeeListResult, error) {
|
||||
return ListShopeeProductsWithPageSize(db, filter, page, DefaultPageSize)
|
||||
}
|
||||
|
||||
// ListShopeeProductsWithPageSize 按白名单页容量返回蝦皮商品列表。
|
||||
func ListShopeeProductsWithPageSize(db *sql.DB, filter repository.ShopeeFilter, page, pageSize int) (*ShopeeListResult, error) {
|
||||
pageSize = NormalizePageSize(pageSize)
|
||||
total, err := repository.CountShopeeProductsFiltered(db, filter)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
totalPages := TotalPages(total)
|
||||
totalPages := TotalPages(total, pageSize)
|
||||
page = ClampPage(page, totalPages)
|
||||
offset := (page - 1) * PageSize
|
||||
offset := (page - 1) * pageSize
|
||||
|
||||
rows, err := repository.ListShopeeProducts(db, filter, PageSize, offset)
|
||||
rows, err := repository.ListShopeeProducts(db, filter, pageSize, offset)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -105,7 +111,7 @@ func ListShopeeProducts(db *sql.DB, filter repository.ShopeeFilter, page int) (*
|
||||
HasAnyProducts: hasAny > 0,
|
||||
IsFiltered: strings.TrimSpace(filter.Keyword) != "" || filter.Status != "" || filter.Deleted || filter.Unlinked,
|
||||
Page: page,
|
||||
PageSize: PageSize,
|
||||
PageSize: pageSize,
|
||||
TotalPages: totalPages,
|
||||
}
|
||||
for _, r := range rows {
|
||||
|
||||
Reference in New Issue
Block a user