diff --git a/api/requests/area.go b/api/requests/area.go index d96b9b7..79e086c 100644 --- a/api/requests/area.go +++ b/api/requests/area.go @@ -16,7 +16,7 @@ type GetAreaList struct { // AddArea 新增地区 type AddArea struct { - AreaId string `json:"area_id" form:"area_id" label:"名称" validate:"required"` + AreaId string `json:"area_id" form:"area_id" label:"地区编号" validate:"required"` AreaName string `json:"area_name" form:"area_name" label:"名称" validate:"required"` ParentId string `json:"parent_id" form:"parent_id" label:"上级编号" validate:"required"` AreaType *int `json:"area_type" form:"area_type" label:"类型(1:国家,2:省,3:市,4:区县)" validate:"required"` @@ -25,7 +25,7 @@ type AddArea struct { // PutArea 修改地区 type PutArea struct { - AreaId string `json:"area_id" form:"area_id" label:"名称" validate:"required"` + AreaId string `json:"area_id" form:"area_id" label:"地区编号" validate:"required"` AreaName string `json:"area_name" form:"area_name" label:"名称" validate:"required"` Zip string `json:"zip" form:"zip" label:"邮编"` } diff --git a/api/service/area.go b/api/service/area.go index f7f5407..0fe033c 100644 --- a/api/service/area.go +++ b/api/service/area.go @@ -38,6 +38,14 @@ func (r *AreaService) AddArea(req requests.AddArea) (bool, string, error) { return false, "", errors.New("上级地区错误") } + // 检测编码是否重复 + maps = make(map[string]interface{}) + maps["area_id"] = req.AreaId + areas, _ := areaDao.GetAreaList(maps) + if len(areas) >= 1 { + return false, "", errors.New("地区编码重复") + } + // 开始事务 tx := global.Db.Begin() defer func() { @@ -86,6 +94,14 @@ func (r *AreaService) PutArea(areaId int, req requests.PutArea) (bool, error) { return false, err } + // 检测编码是否重复 + maps := make(map[string]interface{}) + maps["area_id"] = req.AreaId + areas, err := areaDao.GetAreaList(maps) + if len(areas) > 1 { + return false, errors.New("地区编码重复") + } + // 开始事务 tx := global.Db.Begin() defer func() {