package service import ( "aps_crm/model" "aps_crm/model/request" "aps_crm/pkg/ecode" "fmt" ) type CityService struct{} func (CityService) AddCity(city []*model.City) int { err := model.NewCitySearch().Create(city) if err != nil { fmt.Println(err) return ecode.CityExist } return ecode.OK } func (CityService) UpdateCity(city []request.UpdateCity) int { for _, v := range city { // check city exist _, err := model.NewCitySearch().SetId(v.Id).First() if err != nil { return ecode.CityNotExist } err = model.NewCitySearch().SetId(v.Id).Updates(map[string]interface{}{ "name": v.Name, }) if err != nil { return ecode.CityNotExist } } return ecode.OK } func (CityService) SetCities(provinceId int, list []int) int { // check province exist _, err := model.NewProvinceSearch(nil).SetId(provinceId).First() if err != nil { return ecode.ProvinceNotExist } // update city list err = model.NewCitySearch().UpdateList(map[string]interface{}{ "province_id": provinceId, }, list) if err != nil { return ecode.CitySetErr } return ecode.OK } func (CityService) ListCities(id int) ([]*model.City, int) { // get city list if id != 0 { list, err := model.NewCitySearch().SetProvinceId(id).FindAll() if err != nil { return nil, ecode.CityListErr } return list, ecode.OK } else { list, err := model.NewCitySearch().FindAll() if err != nil { return nil, ecode.CityListErr } return list, ecode.OK } } func (CityService) DeleteCity(id int) int { // check city exist _, err := model.NewCitySearch().SetId(id).First() if err != nil { return ecode.CityNotExist } // delete city err = model.NewCitySearch().SetId(id).Delete() if err != nil { return ecode.CityDeleteErr } return ecode.OK }