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