refactor: reorganize modules and add Linux build tooling
This commit is contained in:
22
module/base/mgt/internal/models/department.go
Normal file
22
module/base/mgt/internal/models/department.go
Normal file
@@ -0,0 +1,22 @@
|
||||
package models
|
||||
|
||||
import coreTypes "git.apinb.com/bsm-sdk/core/types"
|
||||
|
||||
// 部门模型(应用->部门->权限:每个应用拥有不同的部门)
|
||||
type MgtDepartment struct {
|
||||
coreTypes.Std_IICUDS // 标准字段
|
||||
AppID uint `gorm:"column:app_id;default:0" json:"app_id,omitempty"` // 所属应用ID
|
||||
Name string `gorm:"column:name;" json:"name,omitempty"` // 部门名称
|
||||
ParentID uint `gorm:"column:parent_id;default:0" json:"parent_id,omitempty"` // 父部门ID
|
||||
LeaderID uint `gorm:"column:leader_id;" json:"leader_id,omitempty"` // 部门负责人ID
|
||||
Leader MgtUser `gorm:"foreignKey:LeaderID;references:ID" json:"leader"` // 部门负责人
|
||||
Users []MgtUser `gorm:"many2many:mgt_link_user_dpt;foreignKey:ID;joinForeignKey:dpt_id;References:ID;joinReferences:user_id" json:"users,omitempty"`
|
||||
Roles []MgtRole `gorm:"many2many:mgt_link_dpt_role;foreignKey:ID;joinForeignKey:dpt_id;References:ID;joinReferences:role_id" json:"roles,omitempty"` // 部门关联的角色(部门替代用户组)
|
||||
Permissions []MgtPermission `gorm:"many2many:mgt_link_dpt_pmn;foreignKey:ID;joinForeignKey:dpt_id;References:ID;joinReferences:pmn_id" json:"permissions,omitempty"` // 部门关联的权限
|
||||
PmnApplication []MgtApplication `gorm:"many2many:mgt_link_dpt_pmn;foreignKey:ID;joinForeignKey:dpt_id;References:ID;joinReferences:app_id" json:"pmn_application,omitempty"` // 部门权限按应用聚合(树形用)
|
||||
Children []MgtDepartment `gorm:"foreignKey:ParentID;references:ID" json:"children,omitempty"` // 子部门
|
||||
}
|
||||
|
||||
// func init() {
|
||||
// database.AppendMigrate(&Department{})
|
||||
// }
|
||||
Reference in New Issue
Block a user