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] }