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

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

@@ -15,8 +15,7 @@ import (
// region ListResourcePss
type ListResourcePssReq struct {
Page int `json:"page" validate:"required"`
Size int `json:"size" validate:"required"`
common.PageReq
ResourceNo *string `json:"resource_no"`
Active *bool `json:"active"`
Type *int `json:"type"`
@@ -39,14 +38,6 @@ func ListResourcePss(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.Resource.
@@ -77,16 +68,16 @@ func ListResourcePss(c *fiber.Ctx) error {
var resource []*m.Resource
err = do.Debug().
Order(q.ResourcePss.As(q.Resource.Pss.Name()).CreatedAt.Desc()).
Offset(offset).
Limit(limit).
Offset(req.GetOffset()).
Limit(req.GetLimit()).
Scan(&resource)
if err != nil {
return err
}
var total int64
if len(resource) < limit {
total = int64(len(resource) + offset)
if len(resource) < req.GetLimit() {
total = int64(len(resource) + req.GetOffset())
} else {
total, err = do.Count()
if err != nil {
@@ -96,8 +87,8 @@ func ListResourcePss(c *fiber.Ctx) error {
return c.JSON(common.PageResp{
Total: int(total),
Page: req.Page,
Size: req.Size,
Page: req.GetPage(),
Size: req.GetSize(),
List: resource,
})
}