- 业务组 MasterUid 改为 MasterUids(逗号分隔多用户ID) - 应用 OwnerId 改为 OwnerIds(逗号分隔多用户ID) - 前端负责人下拉框改为多选 - 权限查询改用 FIND_IN_SET 匹配多负责人 - 修复 user_permissions 表名错误(应为 user_permission) - 所有数据库实体添加 TableName() 方法显式指定表名 - xorm tag 显式指定 owner_ids/master_uids 列名 - 启动时自动清理 owner_ids 中的空格
54 lines
1.7 KiB
Go
54 lines
1.7 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
type User struct {
|
|
Id int `xorm:"int autoincr pk" json:"id"`
|
|
GroupId *int `xorm:"int" json:"groupId"`
|
|
Name string `xorm:"varchar(16)" json:"name"`
|
|
Password string `xorm:"varchar(64)" json:"-"`
|
|
Mobile string `xorm:"char(11)" json:"mobile"`
|
|
Email string `xorm:"varchar(32)" json:"email"`
|
|
Type string `xorm:"varchar(16) default 'user'" json:"type"` // user, groupAdmin, superAdmin
|
|
Enabled bool `xorm:"tinyint(1) default 1" json:"enabled"`
|
|
CreatedAt *time.Time `xorm:"datetime" json:"createdAt"`
|
|
UpdatedAt *time.Time `xorm:"datetime" json:"updatedAt"`
|
|
LastLogoutAt *time.Time `xorm:"datetime" json:"-"`
|
|
GroupName string `xorm:"-" json:"groupName,omitempty"`
|
|
GroupMaster bool `xorm:"-" json:"groupMaster,omitempty"`
|
|
}
|
|
|
|
func (User) TableName() string {
|
|
return "user"
|
|
}
|
|
|
|
type UserPermission struct {
|
|
Id int `xorm:"int autoincr pk" json:"id"`
|
|
UserId int `xorm:"int" json:"userId"`
|
|
Env string `xorm:"varchar(16)" json:"env"`
|
|
AppId int `xorm:"int" json:"appId"`
|
|
Operate string `xorm:"varchar(8) default 'RW'" json:"operate"` // RO, RW
|
|
}
|
|
|
|
func (UserPermission) TableName() string {
|
|
return "user_permission"
|
|
}
|
|
|
|
type LoginUserInfo struct {
|
|
Id string `json:"id"`
|
|
Name string `json:"name"`
|
|
Type string `json:"type"`
|
|
GroupId *int `json:"groupId"`
|
|
GrantAppIds []int `json:"grantAppIds"`
|
|
GrantPermissons []string `json:"grantPermissons"`
|
|
GroupMaster bool `json:"groupMaster"`
|
|
}
|
|
|
|
func (u *LoginUserInfo) IsSuperAdmin() bool {
|
|
return u.Type == "superAdmin"
|
|
}
|
|
|
|
func (u *LoginUserInfo) IsGroupAdmin() bool {
|
|
return u.Type == "groupAdmin"
|
|
}
|