package zijinlian import ( "shylinux.com/x/ice" "shylinux.com/x/education/src/zijinlian/model" ) type userInvestor struct { Table investor investor } func (s userInvestor) User(m *ice.Message, arg ...string) { s.FieldsWithCreatedAT(m, s, model.USER_UID, model.ROLE) if len(arg) == 1 { s.Select(m, model.INVESTOR_UID, arg[0]) } else if len(arg) == 2 { s.SelectDetail(m, model.INVESTOR_UID, arg[0], model.UID, arg[1]) } else { return } m.RenameAppend(model.ROLE, model.USER_INVESTOR_ROLE) s.SelectJoinUser(m) } func (s userInvestor) List(m *ice.Message, arg ...string) { s.Tables(m, s.investor).FieldsWithCreatedAT(m, s, model.INVESTOR_NAME, model.INVESTOR_TYPE, model.USER_INVESTOR_ROLE, model.COMPANY_UID, model.INVESTOR_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.INVESTOR_UID), arg[1]) } else { return } s.SelectJoinCompany(m) s.SelectJoinCity(m) } func init() { ice.TeamCtxCmd(userInvestor{}) } type UserInvestorRole int const ( UserInvestorVisitor UserInvestorRole = iota UserInvestorCreator UserInvestorLeader UserInvestorWorker UserInvestorServer ) var UserInvestorRoleList = map[UserInvestorRole]string{ UserInvestorVisitor: "visitor", UserInvestorCreator: "creator", UserInvestorLeader: "leader", UserInvestorWorker: "worker", UserInvestorServer: "server", } func (s UserInvestorRole) String() string { return UserInvestorRoleList[s] }