package jiaowuxitong import ( "shylinux.com/x/ice" "shylinux.com/x/education/src/jiaowuxitong/model" ) type userClass struct { Table class class school school } func (s userClass) User(m *ice.Message, arg ...string) { s.FieldsWithCreatedAT(m, s, model.USER_UID, model.ROLE) if len(arg) == 1 { s.Select(m, model.CLASS_UID, arg[0]) } else if len(arg) == 2 { s.SelectDetail(m, model.CLASS_UID, arg[0], model.UID, arg[1]) } else { return } m.RenameAppend(model.ROLE, model.USER_CLASS_ROLE) s.SelectJoinUser(m) s.RewriteAppend(m) } func (s userClass) List(m *ice.Message, arg ...string) { s.Tables(m, s.class, s.school).FieldsWithCreatedAT(m, s, model.CLASS_NAME, model.CLASS_TYPE, model.USER_CLASS_ROLE, model.CITY_UID, model.SCHOOL_NAME, model.GRADE, model.CLASS_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], s.Key(s, model.CLASS_UID), arg[1]) } else { return } s.SelectJoinCity(m) s.RewriteAppend(m) } func init() { ice.TeamCtxCmd(userClass{}) } type UserClassRole int const ( UserClassVisitor UserClassRole = iota UserClassCreator UserClassTeacher UserClassStudent UserClassParent ) var UserClassRoleList = map[UserClassRole]string{ UserClassVisitor: "visitor", UserClassCreator: "creator", UserClassTeacher: "teacher", UserClassStudent: "student", UserClassParent: "parent", } func (s UserClassRole) String() string { return UserClassRoleList[s] }