package service
|
|
import (
|
"aps_crm/model"
|
"aps_crm/model/request"
|
"aps_crm/pkg/ecode"
|
)
|
|
type ProvinceService struct{}
|
|
func (ProvinceService) AddProvince(province *model.Province) int {
|
err := model.NewProvinceSearch(nil).Create(province)
|
if err != nil {
|
return ecode.ProvinceExist
|
}
|
|
return ecode.OK
|
}
|
|
func (ProvinceService) DeleteProvince(id int) int {
|
err := model.NewProvinceSearch(nil).SetId(id).Delete()
|
if err != nil {
|
return ecode.ProvinceNotExist
|
}
|
return ecode.OK
|
}
|
|
func (ProvinceService) UpdateProvince(province request.UpdateProvinces) int {
|
for _, v := range province.Provinces {
|
// check province exist
|
_, err := model.NewProvinceSearch(nil).SetId(v.Id).First()
|
if err != nil {
|
return ecode.ProvinceNotExist
|
}
|
|
err = model.NewProvinceSearch(nil).SetId(v.Id).Updates(map[string]interface{}{
|
"name": v.Name,
|
})
|
|
if err != nil {
|
return ecode.ProvinceNotExist
|
}
|
}
|
|
return ecode.OK
|
}
|
|
func (ProvinceService) GetProvinces(countryId int) ([]*model.Province, int) {
|
// get province list
|
if countryId != 0 {
|
list, err := model.NewProvinceSearch(nil).SetCountryId(countryId).FindAll()
|
if err != nil {
|
return nil, ecode.ProvinceNotExist
|
}
|
return list, ecode.OK
|
} else {
|
list, err := model.NewProvinceSearch(nil).FindAll()
|
if err != nil {
|
return nil, ecode.ProvinceNotExist
|
}
|
return list, ecode.OK
|
}
|
}
|
|
func (ProvinceService) SetProvinces(countryId int, list []int) int {
|
// check country exist
|
_, err := model.NewCountrySearch(nil).SetId(countryId).First()
|
if err != nil {
|
return ecode.CountryNotExist
|
}
|
|
// update province list
|
err = model.NewProvinceSearch(nil).UpdateList(map[string]interface{}{
|
"country_id": countryId,
|
}, list)
|
if err != nil {
|
return ecode.ProvinceSetErr
|
}
|
|
return ecode.OK
|
}
|