package service import ( "aps_crm/model" "aps_crm/model/request" "aps_crm/pkg/ecode" ) type StatusService struct{} func (StatusService) AddStatus(status *model.Status) int { err := model.NewStatusSearch().Create(status) if err != nil { return ecode.StatusExist } return ecode.OK } func (StatusService) DeleteStatus(id int) int { _, err := model.NewStatusSearch().SetId(id).Find() if err != nil { return ecode.StatusNotExist } err = model.NewStatusSearch().SetId(id).Delete() if err != nil { return ecode.StatusNotExist } return ecode.OK } func (StatusService) GetStatusList() ([]*model.Status, int) { list, err := model.NewStatusSearch().FindAll() if err != nil { return nil, ecode.StatusListErr } return list, ecode.OK } func (StatusService) UpdateStatus(statuses []*request.UpdateStatus) int { for _, v := range statuses { // check status exist _, err := model.NewStatusSearch().SetId(v.Id).Find() if err != nil { return ecode.StatusNotExist } err = model.NewStatusSearch().SetId(v.Id).Updates(map[string]interface{}{ "name": v.Name, }) if err != nil { return ecode.StatusSetErr } } return ecode.OK }