package api import ( "github.com/gin-gonic/gin" "online_code/core" "online_code/models/param" "online_code/repository" "online_code/utils" ) type problemApi struct{} func ProblemApi() *problemApi { return &problemApi{} } func (problemApi) GetProbleList(ctx *gin.Context) { var p param.GetProblemList if err := ctx.ShouldBind(&p); err != nil { core.R(ctx).FailWithMessage("参数错误: " + err.Error()) return } records, count, err := repository.ProblemService().GetList(p) if err != nil { core.R(ctx).FailWithMessage("获取题目列表失败: " + err.Error()) return } // 计算总页码 totalPage := utils.GenTotalPage(count, p.Size) // 返回结果 core.R(ctx).OkWithData(core.PageData{Current: p.Current, Size: p.Size, Total: count, TotalPage: totalPage, Records: records}) }