重构 orm 代码生成逻辑,实现 bill 接口,优化请求字段检查与 list total 查询逻辑

This commit is contained in:
2025-04-11 17:36:34 +08:00
parent c1b4f8d605
commit 636bdcdb87
36 changed files with 794 additions and 193 deletions

View File

@@ -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,
})
}