education/src/jiaowuxitong/userClass.go
jingganjiaoyu 4d41683af7 opt some
2024-08-20 19:53:35 +08:00

65 lines
1.5 KiB
Go

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