重构 orm 代码生成逻辑,实现 bill 接口,优化请求字段检查与 list total 查询逻辑
This commit is contained in:
@@ -2,6 +2,7 @@ package handlers
|
||||
|
||||
import (
|
||||
"platform/web/auth"
|
||||
"platform/web/common"
|
||||
m "platform/web/models"
|
||||
q "platform/web/queries"
|
||||
"platform/web/services"
|
||||
@@ -35,38 +36,44 @@ func ListWhitelist(c *fiber.Ctx) error {
|
||||
if err := c.BodyParser(req); err != nil {
|
||||
return err
|
||||
}
|
||||
var page = req.Page
|
||||
if page < 1 {
|
||||
page = 1
|
||||
if req.Page < 1 {
|
||||
req.Page = 1
|
||||
}
|
||||
var size = req.Size
|
||||
if size < 1 {
|
||||
size = 10
|
||||
if req.Size < 1 {
|
||||
req.Size = 10
|
||||
}
|
||||
var offset = (req.Page - 1) * req.Size
|
||||
var limit = req.Size
|
||||
|
||||
// 获取用户信息
|
||||
list, err := q.Whitelist.
|
||||
Where(q.Whitelist.UserID.Eq(authContext.Payload.Id)).
|
||||
Offset((page - 1) * size).
|
||||
Limit(size).
|
||||
do := q.Whitelist.
|
||||
Where(q.Whitelist.UserID.Eq(authContext.Payload.Id))
|
||||
|
||||
list, err := do.
|
||||
Offset(offset).
|
||||
Limit(limit).
|
||||
Order(q.Whitelist.CreatedAt.Desc()).
|
||||
Find()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
count, err := q.Whitelist.
|
||||
Where(q.Whitelist.UserID.Eq(authContext.Payload.Id)).
|
||||
Count()
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
var total int64
|
||||
if len(list) < limit {
|
||||
total = int64(len(list) + offset)
|
||||
} else {
|
||||
total, err = do.Count()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// 返回结果
|
||||
return c.Status(fiber.StatusOK).JSON(ListWhitelistResp{
|
||||
Total: count,
|
||||
return c.JSON(common.PageResp{
|
||||
Total: int(total),
|
||||
List: list,
|
||||
Page: page,
|
||||
Size: size,
|
||||
Page: req.Page,
|
||||
Size: req.Size,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user