package handlers import ( "platform/web/auth" "platform/web/core" c "platform/web/core" g "platform/web/globals" q "platform/web/queries" "time" "github.com/gofiber/fiber/v2" ) // PageResourceBatch 分页查询套餐提取记录 func PageResourceBatch(ctx *fiber.Ctx) error { // 检查权限 authCtx, err := auth.GetAuthCtx(ctx).PermitUser() if err != nil { return err } // 解析请求参数 req := new(PageResourceBatchReq) if err := g.Validator.ParseBody(ctx, req); err != nil { return err } // 查询批次 conds := q.LogsUserUsage.Where(q.LogsUserUsage.UserID.Eq(authCtx.User.ID)) if req.TimeStart != nil { conds.Where(q.LogsUserUsage.Time.Gte(*req.TimeStart)) } if req.TimeEnd != nil { conds.Where(q.LogsUserUsage.Time.Lte(*req.TimeEnd)) } list, total, err := q.LogsUserUsage.Where(conds). Order(q.LogsUserUsage.Time.Desc()). FindByPage(req.GetOffset(), req.GetLimit()) if err != nil { return core.NewBizErr("获取数据失败", err) } // 返回数据 return ctx.JSON(c.PageResp{ Total: int(total), List: list, Page: req.GetPage(), Size: req.GetSize(), }) } type PageResourceBatchReq struct { c.PageReq TimeStart *time.Time `json:"time_start"` TimeEnd *time.Time `json:"time_end"` }