mirror of
https://shylinux.com/x/education
synced 2025-04-25 10:08:05 +08:00
65 lines
1.5 KiB
Go
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] }
|