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