统一处理分页参数简化查询接口

This commit is contained in:
2025-04-12 11:48:39 +08:00
parent ca6e160bef
commit 438a55cc3e
4 changed files with 66 additions and 54 deletions

View File

@@ -12,8 +12,7 @@ import (
)
type ListWhitelistReq struct {
Page int `json:"page" validate:"required"`
Size int `json:"size" validate:"required"`
common.PageReq
}
type ListWhitelistResp struct {
@@ -36,22 +35,14 @@ func ListWhitelist(c *fiber.Ctx) error {
if err := c.BodyParser(req); err != nil {
return err
}
if req.Page < 1 {
req.Page = 1
}
if req.Size < 1 {
req.Size = 10
}
var offset = (req.Page - 1) * req.Size
var limit = req.Size
// 获取用户信息
do := q.Whitelist.
Where(q.Whitelist.UserID.Eq(authContext.Payload.Id))
list, err := do.
Offset(offset).
Limit(limit).
Offset(req.GetOffset()).
Limit(req.GetLimit()).
Order(q.Whitelist.CreatedAt.Desc()).
Find()
if err != nil {
@@ -59,8 +50,8 @@ func ListWhitelist(c *fiber.Ctx) error {
}
var total int64
if len(list) < limit {
total = int64(len(list) + offset)
if len(list) < req.GetLimit() {
total = int64(len(list) + req.GetOffset())
} else {
total, err = do.Count()
if err != nil {
@@ -72,8 +63,8 @@ func ListWhitelist(c *fiber.Ctx) error {
return c.JSON(common.PageResp{
Total: int(total),
List: list,
Page: req.Page,
Size: req.Size,
Page: req.GetPage(),
Size: req.GetSize(),
})
}