91 lines
3.1 KiB
Go
91 lines
3.1 KiB
Go
// Code generated by sql2gorm. DO NOT EDIT.
|
||
package repo
|
||
|
||
import (
|
||
"context"
|
||
"time"
|
||
|
||
"github.com/samber/do"
|
||
"gorm.io/gorm"
|
||
appModel "busniess-user-center/internal/models/application"
|
||
)
|
||
|
||
func init(){
|
||
do.Provide[ApplicationRepo](nil, NewApplicationRepoS)
|
||
}
|
||
|
||
// 菜单
|
||
type Menu struct {
|
||
ID uint `gorm:"column:id;primary_key;AUTO_INCREMENT"` // id
|
||
AppCode string `gorm:"column:app_code;NOT NULL"` // 应用code
|
||
Code string `gorm:"column:code;NOT NULL"` // 编码
|
||
Name string `gorm:"column:name;NOT NULL"` // 名称
|
||
ParentCode string `gorm:"column:parent_code;NOT NULL"` // 父级菜单编码
|
||
Order int `gorm:"column:order;default:0;NOT NULL"` // 排序
|
||
Icon string `gorm:"column:icon;NOT NULL"` // 图标
|
||
Path string `gorm:"column:path;NOT NULL"` // 访问路径
|
||
ChildPath string `gorm:"column:child_path;NOT NULL"` // 子级路径(前端用)
|
||
GoFirstChild int `gorm:"column:go_first_child;default:0;NOT NULL"` // 前端用
|
||
IsShow int `gorm:"column:is_show;default:0;NOT NULL"` // 是否显示(0:否;1:是)
|
||
CreatedBy string `gorm:"column:created_by"` // 创建人
|
||
CreatedOn time.Time `gorm:"column:created_on;default:CURRENT_TIMESTAMP;NOT NULL"` // 记录创建时间
|
||
ModifiedBy string `gorm:"column:modified_by"` // 修改人
|
||
ModifiedOn time.Time `gorm:"column:modified_on;default:CURRENT_TIMESTAMP"` // 记录修改时间
|
||
}
|
||
|
||
func (m *Menu) TableName() string {
|
||
return "menu"
|
||
}
|
||
|
||
type MenuRepo interface{
|
||
GetAppMenus(ctx context.Context,appCode string)([]appModel.Menu,error)
|
||
Create(ctx context.Context,menu *Menu)(id uint,err error)
|
||
DelMenuById(ctx context.Context,id uint)error
|
||
SaveMenu(ctx context.Context,menu *Menu)error
|
||
GetMenuById(ctx context.Context,id uint)(menu Menu,err error)
|
||
}
|
||
|
||
type menuRepo struct{
|
||
db *gorm.DB
|
||
}
|
||
|
||
func NewMenuRepo(i *do.Injector)(MenuRepo,error){
|
||
return &menuRepo{
|
||
db: do.MustInvoke[*gorm.DB](i),
|
||
}, nil
|
||
}
|
||
|
||
func (m *menuRepo)GetAppMenus(ctx context.Context,appCode string)(menus []appModel.Menu,err error){
|
||
dbMenus,err := m.getAppMenu(appCode)
|
||
if err != nil{
|
||
return
|
||
}
|
||
|
||
menus = makeTreeStructure(dbMenus)
|
||
return
|
||
}
|
||
|
||
func (m *menuRepo)getAppMenu(appCode string)(menus []Menu,err error){
|
||
err = m.db.Where("app_code = ?",appCode).Find(&menus).Error
|
||
return
|
||
}
|
||
|
||
func (m *menuRepo)Create(ctx context.Context,menu *Menu)(id uint,err error){
|
||
menu.ID = 0
|
||
err = m.db.Create(menu).Error
|
||
id = menu.ID
|
||
return
|
||
}
|
||
|
||
func (m *menuRepo)DelMenuById(ctx context.Context,id uint)error{
|
||
return m.db.Where("id = ?",id).Delete(&Menu{}).Error
|
||
}
|
||
|
||
func (m *menuRepo)SaveMenu(ctx context.Context,menu *Menu)error{
|
||
return m.db.Save(&menu).Error
|
||
}
|
||
|
||
func (m *menuRepo)GetMenuById(ctx context.Context,id uint)(menu Menu,err error){
|
||
err = m.db.Where("id = ?",id).Take(&menu).Error
|
||
return
|
||
} |