123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package model
- import (
- "dy-admin/internal/pcmserver/common"
- "gorm.io/gorm"
- )
- type Role struct {
- RoleID int `json:"roleId" gorm:"primaryKey;autoIncrement;comment:角色编码"`
- RoleName string `json:"roleName" form:"roleName" gorm:"size:128;comment:角色名称"`
- Status string `json:"status" form:"status" gorm:"size:4;comment:角色状态"`
- RoleSort int `json:"roleSort" gorm:"comment:角色排序"`
- Remark string `json:"remark" gorm:"size:255;"`
- MenuIds []int `json:"menuIds" gorm:"-"`
- DeptIds []int `json:"deptIds" gorm:"-"`
- DataScope string `json:"dataScope" gorm:"size:128;"`
- SysDept []Dept `json:"sysDept" gorm:"many2many:sys_role_dept;foreignKey:RoleID;joinForeignKey:RoleID;References:DeptID;joinReferences:DeptID"`
- SysMenu []Menu `json:"sysMenu" gorm:"many2many:sys_role_menu;foreignKey:RoleID;joinForeignKey:RoleID;References:MenuID;joinReferences:MenuID"`
- SysUser []User `json:"sysUser" gorm:"many2many:sys_user_role;foreignKey:RoleID;joinForeignKey:RoleID;References:UserID;joinReferences:UserID"`
- common.ControlBy
- common.ModelTime
- }
- func (m *Role) TableName() string {
- return "sys_roles"
- }
- func (m *Role) AllowOrderField() map[string]struct{} {
- orderMap := make(map[string]struct{}, 6)
- orderMap["roleSort"] = struct{}{}
- return orderMap
- }
- func (m *Role) AfterFind(_ *gorm.DB) error {
- menuIds := make([]int, 0, len(m.MenuIds))
- for _, menu := range m.SysMenu {
- menuIds = append(menuIds, menu.MenuID)
- }
- deptIds := make([]int, 0, len(m.SysDept))
- for _, dept := range m.SysDept {
- deptIds = append(deptIds, dept.DeptID)
- }
- m.MenuIds = menuIds
- m.DeptIds = deptIds
- return nil
- }
|