package service import ( "aps_crm/model" "aps_crm/pkg/ecode" ) type AssignService struct{} type Assign interface { Assign(id int) error } func (AssignService) Assign(memberId, id int, modelType string) int { // check member exist _, err := model.NewUserSearch(nil).SetUserId(memberId).First() if err != nil { return ecode.UserNotExist } var errCode int switch modelType { case "client": errCode = ClientService{}.Assign(id, memberId) case "salesLead": errCode = SalesLeadsService{}.Assign(id, memberId) default: errCode = ecode.AssignWrongModelType } if errCode != ecode.OK { return errCode } return ecode.OK }