package service
|
|
import (
|
"aps_crm/model"
|
"aps_crm/model/request"
|
"aps_crm/pkg/ecode"
|
)
|
|
type RegionService struct{}
|
|
func (RegionService) AddRegion(region *model.Region) int {
|
err := model.NewRegionSearch().Create(region)
|
if err != nil {
|
return ecode.RegionExist
|
}
|
return ecode.OK
|
}
|
|
func (RegionService) SetRegions(cityId int, list []int) int {
|
// check city exist
|
_, err := model.NewCitySearch().SetId(cityId).First()
|
if err != nil {
|
return ecode.CityNotExist
|
}
|
|
// update region list
|
err = model.NewRegionSearch().UpdateList(map[string]interface{}{
|
"city_id": cityId,
|
}, list)
|
if err != nil {
|
return ecode.RegionSetErr
|
}
|
|
return ecode.OK
|
}
|
|
func (RegionService) DeleteRegion(id int) int {
|
err := model.NewRegionSearch().SetId(id).Delete()
|
if err != nil {
|
return ecode.RegionNotExist
|
}
|
return ecode.OK
|
}
|
|
func (RegionService) UpdateRegion(region []request.UpdateRegion) int {
|
for _, v := range region {
|
// check region exist
|
_, err := model.NewRegionSearch().SetId(v.Id).First()
|
if err != nil {
|
return ecode.RegionNotExist
|
}
|
|
err = model.NewRegionSearch().SetId(v.Id).Updates(map[string]interface{}{
|
"name": v.Name,
|
})
|
if err != nil {
|
return ecode.RegionNotExist
|
}
|
}
|
|
return ecode.OK
|
}
|
|
func (RegionService) ListRegions(id int) ([]*model.Region, int) {
|
// get region list
|
if id != 0 {
|
list, err := model.NewRegionSearch().SetCityId(id).FindAll()
|
if err != nil {
|
return nil, ecode.RegionListErr
|
}
|
|
return list, ecode.OK
|
} else {
|
list, err := model.NewRegionSearch().FindAll()
|
if err != nil {
|
return nil, ecode.RegionListErr
|
}
|
|
return list, ecode.OK
|
}
|
}
|