
- 新增我的课程列表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 - 接口文档
49 lines
1.3 KiB
Go
49 lines
1.3 KiB
Go
// Package fix
|
|
// @Link https://github.com/bufanyun/hotgo
|
|
// @Copyright Copyright (c) 2023 HotGo CLI
|
|
// @Author Ms <133814250@qq.com>
|
|
// @License https://github.com/bufanyun/hotgo/blob/master/LICENSE
|
|
package fix
|
|
|
|
import (
|
|
"context"
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
"github.com/gogf/gf/v2/os/gtime"
|
|
"hotgo/internal/dao"
|
|
"hotgo/internal/library/hgorm"
|
|
"hotgo/internal/model/entity"
|
|
)
|
|
|
|
// UpdateAdminMenuTree 更新菜单关系树
|
|
// 根据树等级从上到下依次检查,将无效的关系树进行修复更新
|
|
func UpdateAdminMenuTree(ctx context.Context) {
|
|
var list []*entity.AdminMenu
|
|
err := dao.AdminMenu.Ctx(ctx).OrderAsc("level").Scan(&list)
|
|
if err != nil {
|
|
g.Log().Fatal(ctx, err)
|
|
}
|
|
|
|
genUpdateData := func(v *entity.AdminMenu) g.Map {
|
|
update := g.Map{"updated_at": gtime.Now()}
|
|
if v.Pid <= 0 {
|
|
update["level"] = 1
|
|
update["tree"] = ""
|
|
return update
|
|
}
|
|
|
|
// 生成下级关系树
|
|
update["pid"], update["level"], update["tree"], err = hgorm.GenSubTree(ctx, &dao.AdminMenu, v.Pid)
|
|
return update
|
|
}
|
|
|
|
for _, v := range list {
|
|
update := genUpdateData(v)
|
|
if v.Level == update["level"] && v.Tree == update["tree"] {
|
|
continue
|
|
}
|
|
if _, err = dao.AdminMenu.Ctx(ctx).WherePri(v.Id).Data(genUpdateData(v)).Update(); err != nil {
|
|
g.Log().Fatal(ctx, err)
|
|
}
|
|
}
|
|
}
|