enterprise/src/guanlixitong/userGroup.go
jingganjiaoyu 7c9e9abc92 opt some
2024-08-05 02:09:25 +08:00

62 lines
1.3 KiB
Go

package guanlixitong
import (
"shylinux.com/x/ice"
"shylinux.com/x/enterprise/src/guanlixitong/model"
)
type userGroup struct {
Table
group group
company company
}
func (s userGroup) User(m *ice.Message, arg ...string) {
if len(arg) == 1 {
s.Select(m, model.GROUP_UID, arg[0])
} else if len(arg) == 2 {
s.Select(m, model.GROUP_UID, arg[0], model.UID, arg[1])
} else {
return
}
m.RenameAppend(model.ROLE, model.USER_GROUP_ROLE)
s.SelectJoinUser(m)
s.RewriteAppend(m)
}
func (s userGroup) List(m *ice.Message, arg ...string) {
s.Tables(m, s.group, s.company).FieldsWithCreatedAT(m, s,
model.GROUP_NAME, model.GROUP_TYPE, model.USER_GROUP_ROLE,
model.COMPANY_NAME, model.GROUP_UID, model.CITY_UID,
)
if len(arg) == 1 {
s.Select(m, model.USER_UID, arg[0])
} else if len(arg) == 2 {
s.SelectDetail(m, model.USER_UID, arg[0], model.GROUP_UID, arg[1])
} else {
return
}
s.SelectJoinCity(m)
s.RewriteAppend(m)
}
func init() { ice.TeamCtxCmd(userGroup{}) }
type UserGroupRole int
const (
UserGroupCreator UserGroupRole = iota
UserGroupVisitor
UserGroupLeader
UserGroupMember
)
var UserGroupRoleList = map[UserGroupRole]string{
UserGroupCreator: "creator",
UserGroupVisitor: "visitor",
UserGroupLeader: "leader",
UserGroupMember: "member",
}
func (s UserGroupRole) String() string { return UserGroupRoleList[s] }