package service import ( "aps_crm/model" "aps_crm/model/request" "aps_crm/pkg/ecode" ) type DepartmentService struct{} func (DepartmentService) AddDepartment(department *model.Department) int { err := model.NewDepartmentSearch().Create(department) if err != nil { return ecode.DepartmentExist } return ecode.OK } func (DepartmentService) DeleteDepartment(id int) int { _, err := model.NewDepartmentSearch().SetId(id).Find() if err != nil { return ecode.DepartmentNotExist } err = model.NewDepartmentSearch().SetId(id).Delete() if err != nil { return ecode.DepartmentNotExist } return ecode.OK } func (DepartmentService) GetDepartmentList() ([]*model.Department, int) { list, err := model.NewDepartmentSearch().Find() if err != nil { return nil, ecode.DepartmentListErr } return list, ecode.OK } func (DepartmentService) UpdateDepartment(departments []*request.UpdateDepartment) int { for _, v := range departments { // check department exist _, err := model.NewDepartmentSearch().SetId(v.Id).Find() if err != nil { return ecode.DepartmentNotExist } err = model.NewDepartmentSearch().SetId(v.Id).Updates(map[string]interface{}{ "name": v.Name, }) if err != nil { return ecode.DepartmentSetErr } } return ecode.OK }