
- 新增我的课程列表API接口 - 支持按学习状态筛选(全部/学习中/已完结) - 支持分页查询 - 包含课程基本信息、学习进度等数据 - 添加Apifox接口文档配置指南 文件变更: - server/api/admin/mycourse/mycourse.go - API接口定义 - server/internal/controller/admin/mycourse/mycourse.go - 控制器层 - server/internal/service/mycourse.go - 服务层(模拟数据) - server/internal/router/admin.go - 路由配置 - docs/apifox_config.md - 接口文档
43 lines
970 B
Go
43 lines
970 B
Go
// Package mycourse
|
|
// @Link https://github.com/bufanyun/hotgo
|
|
// @Copyright Copyright (c) 2023 HotGo CLI
|
|
// @Author Yl <yl@example.com>
|
|
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
|
package mycourse
|
|
|
|
import (
|
|
"context"
|
|
"hotgo/api/admin/mycourse"
|
|
"hotgo/internal/library/contexts"
|
|
"hotgo/internal/service"
|
|
|
|
"github.com/gogf/gf/v2/errors/gerror"
|
|
)
|
|
|
|
var (
|
|
MyCourse = cMyCourse{}
|
|
)
|
|
|
|
type cMyCourse struct{}
|
|
|
|
// List 获取我的课程列表
|
|
func (c *cMyCourse) List(ctx context.Context, req *mycourse.MyCourseListReq) (res *mycourse.MyCourseListRes, err error) {
|
|
// 获取当前登录用户ID
|
|
userId := contexts.Get(ctx).User.Id
|
|
if userId <= 0 {
|
|
err = gerror.New("用户未登录")
|
|
return
|
|
}
|
|
|
|
// 调用服务层获取课程列表
|
|
list, totalCount, err := service.MyCourse().List(ctx, uint64(userId), req)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
res = new(mycourse.MyCourseListRes)
|
|
res.List = list
|
|
res.PageRes.Pack(req, totalCount)
|
|
return
|
|
}
|