| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package entity
- import (
- "context"
- "gorm.io/gorm"
- "yx-dataset-server/app/schema"
- )
- // GetMenuDB 获取Menu存储
- func GetMenuDB(ctx context.Context, defDB *gorm.DB) *gorm.DB {
- return getDBWithModel(ctx, defDB, Menu{})
- }
- // SchemaMenu Menu对象
- type SchemaMenu schema.Menu
- // ToMenu 转换为Menu实体
- func (a SchemaMenu) ToMenu() *Menu {
- item := &Menu{
- RecordID: a.RecordID,
- Name: a.Name,
- Path: a.Path,
- Component: a.Component,
- ParentId: a.ParentId,
- Icon: a.Meta.Icon,
- Title: a.Meta.Title,
- IsLink: a.Meta.IsLink,
- IsHide: a.Meta.IsHide,
- IsFull: a.Meta.IsFull,
- IsAffix: a.Meta.IsAffix,
- IsKeepAlive: a.Meta.IsKeepAlive,
- Sequence: &a.Sequence,
- CreatorId: a.CreatorId,
- }
- return item
- }
- // ToSchemaMenu 转换为Menu对象
- func (a Menu) ToSchemaMenu() *schema.Menu {
- item := &schema.Menu{
- RecordID: a.RecordID,
- Name: a.Name,
- Path: a.Path,
- Component: a.Component,
- ParentId: a.ParentId,
- Sequence: *a.Sequence,
- CreatorId: a.CreatorId,
- CreatedAt: a.CreatedAt,
- Meta: schema.MenuMeta{
- Icon: a.Icon,
- Title: a.Title,
- IsLink: a.IsLink,
- IsHide: a.IsHide,
- IsFull: a.IsFull,
- IsAffix: a.IsAffix,
- IsKeepAlive: a.IsKeepAlive,
- },
- }
- return item
- }
- // Menu Menu实体
- type Menu struct {
- gorm.Model
- RecordID string `gorm:"column:record_id;size:32;index;comment:'记录内码'"`
- Name string `gorm:"column:name;size:50;index;comment:'菜单名称'"`
- Path string `gorm:"column:path;size:50;"` // 路径
- Component string `gorm:"column:component;size:50;"` // 组件
- ParentId string `gorm:"column:parent_id;size:32;index;"` // 父级id
- Icon string `gorm:"column:icon;size:30;"` // 图标
- Title string `gorm:"column:title;size:50;"` // 标题
- IsLink string `gorm:"column:is_link;size:10;"` // 是否外链
- IsHide bool `gorm:"column:is_hide;"` // 是否隐藏
- IsFull bool `gorm:"column:is_full;"` // 是否全屏
- IsAffix bool `gorm:"column:is_affix;"` // 是否固定
- IsKeepAlive bool `gorm:"column:is_keep_alive;"` // 是否缓存
- Sequence *int `gorm:"column:sequence;auto_increment;"` // 排序值
- CreatorId string `gorm:"column:creator_id;size:32;"` // 创建人
- }
- // Menus Menu列表
- type Menus []*Menu
- // ToSchemaMenus 转换为Menu对象列表
- func (a Menus) ToSchemaMenus() []*schema.Menu {
- list := make([]*schema.Menu, len(a))
- for i, item := range a {
- list[i] = item.ToSchemaMenu()
- }
- return list
- }
|