feat: 🎸 课程列表增加分类id参数

This commit is contained in:
GoCo 2025-07-26 11:40:47 +08:00
parent 09c7f0f6a5
commit 0ba0bda7f8
2 changed files with 17 additions and 3 deletions

View File

@ -9,6 +9,8 @@ import (
// 获取课程列表请求
type LessonListReq struct {
g.Meta `path:"/lesson/list" method:"get" tags:"课程" summary:"获取课程列表"`
CategoryId int64 `json:"categoryId" dc:"分类ID"`
Tag string `json:"tag" dc:"标签"`
}
// 获取课程列表响应

View File

@ -12,17 +12,29 @@ import (
)
func (c *ControllerV1) LessonList(ctx context.Context, req *v1.LessonListReq) (res *v1.LessonListRes, err error) {
// 构建查询条件
query := dao.Lesson.Ctx(ctx)
// 按分类ID过滤
if req.CategoryId > 0 {
query = query.Where("category_id = ?", req.CategoryId)
}
// TODO 按标签过滤
// 查询课程列表
var list []*entity.Lesson
err = dao.Lesson.Ctx(ctx).Scan(&list)
err = query.Scan(&list)
if err != nil {
return nil, gerror.NewCode(gcode.CodeDbOperationError, "数据库错误")
}
// 统计总数
total, err := dao.Lesson.Ctx(ctx).Count()
total, err := query.Count()
if err != nil {
return nil, gerror.NewCode(gcode.CodeDbOperationError, "统计总数失败")
}
res = &v1.LessonListRes{
List: list,
Total: total,