diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index 210f2d3443..79f5421789 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -70,6 +70,8 @@ public enum EpmetErrorCode { NOT_DEL_AGENCY_PER(8205, "该机关存在工作人员,不允许删除"), NOT_DEL_DEPARTMENT(8206, "该部门存在工作人员,不允许删除"), NOT_DEL_AGENCY_GRID(8207, "该机关存在网格,不允许删除"), + AREA_CODE_ALREADY_EXISTS(8208,"组织区划已被占用,请重新选择"), + AGENCY_NAME_ALREADY_EXISTS(8209,"您当前的组织名称已存在,请重新修改"), REQUIRE_PERMISSION(8301, "您没有足够的操作权限"), THIRD_PLAT_REQUEST_ERROR(8302, "请求第三方平台错误"), diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AddAreaCodeFormDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AddAreaCodeFormDTO.java new file mode 100644 index 0000000000..349e6f89e3 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AddAreaCodeFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/13 14:36 + */ +@Data +public class AddAreaCodeFormDTO implements Serializable { + + @NotBlank(message = "currentAreaLevel不能为空") + private String currentAreaLevel; + @NotBlank(message = "parentAreaCode不能为空") + private String parentAreaCode; + + /** + * 新增的街道或者社区名称 + */ + @NotBlank(message = "name不能为空") + private String name; +} diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java index 66a1f46ee7..62989575c3 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java @@ -113,4 +113,14 @@ public interface EpmetCommonServiceOpenFeignClient { **/ @PostMapping(value = "commonservice/areacode/addstreetcommareacode", consumes = MediaType.APPLICATION_JSON_VALUE) Result addStreetCommAreaCode(@RequestBody AddAreaCodeDictFormDTO formDTO); + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 自定义行政地区编码 + * @Date 2021/4/13 14:31 + **/ + @PostMapping(value = "commonservice/areacode/addareacode", consumes = MediaType.APPLICATION_JSON_VALUE) + Result addAreaCode(AddAreaCodeFormDTO formDTO); } diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java index d9731558cd..4abd2dce39 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java @@ -89,4 +89,16 @@ public class EpmetCommonServiceOpenFeignClientFallback implements EpmetCommonSer public Result addStreetCommAreaCode(AddAreaCodeDictFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "addStreetCommAreaCode", formDTO); } + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 自定义行政地区编码 + * @Date 2021/4/13 14:31 + **/ + @Override + public Result addAreaCode(AddAreaCodeFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "addAreaCode", formDTO); + } } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/constant/AreaCodeConstant.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/constant/AreaCodeConstant.java index 3ee44fec5f..1768f08c37 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/constant/AreaCodeConstant.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/constant/AreaCodeConstant.java @@ -26,4 +26,8 @@ public interface AreaCodeConstant { String LEVEL_ERROR = "RootAreaLevel填写错误【%s】"; + String FIRST_THREE_UD="001_UD"; + + String FIRST_TOW_UD="01_UD"; + String UD="_UD"; } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java index af8ecf093f..df821f7410 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java @@ -26,6 +26,7 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.AreaCodeDTO; import com.epmet.dto.form.AddAreaCodeDictFormDTO; +import com.epmet.dto.form.AddAreaCodeFormDTO; import com.epmet.dto.form.AreaCodeDictFormDTO; import com.epmet.dto.result.AreaCodeDictResultDTO; import com.epmet.service.AreaCodeService; @@ -107,4 +108,17 @@ public class AreaCodeController { ValidatorUtils.validateEntity(formDTO); return new Result().ok(areaCodeService.addStreetCommAreaCode(formDTO)); } + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 自定义行政地区编码-产品自身使用 + * @Date 2021/4/13 14:40 + **/ + @PostMapping(value = "addareacode") + Result addAreaCode(@RequestBody AddAreaCodeFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result().ok(areaCodeService.addAreaCode(formDTO)); + } } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java index a5496cecc4..54b89ee82f 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java @@ -36,4 +36,8 @@ public interface AreaCodeDao extends BaseDao { List selectAllArea(); AreaCodeDTO selectByCountyCode(String countyCode); + + AreaCodeDTO selectByCityCode(String cityCode); + + AreaCodeDTO selectMaxCounty(String cityCode); } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java index 415712de43..99c25ab2f2 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java @@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.AreaCodeDTO; import com.epmet.dto.form.AddAreaCodeDictFormDTO; +import com.epmet.dto.form.AddAreaCodeFormDTO; import com.epmet.dto.form.AreaCodeDictFormDTO; import com.epmet.dto.result.AreaCodeDictResultDTO; import com.epmet.entity.AreaCodeEntity; @@ -113,4 +114,13 @@ public interface AreaCodeService extends BaseService { * @Date 2021/2/5 17:39 **/ String addStreetCommAreaCode(AddAreaCodeDictFormDTO formDTO); + + /** + * @return java.lang.String + * @param formDTO + * @author yinzuomei + * @description 自定义行政地区编码 + * @Date 2021/4/13 14:40 + **/ + String addAreaCode(AddAreaCodeFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java index f34ff30605..29cfc457aa 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java @@ -34,6 +34,7 @@ import com.epmet.dao.AreaCodeDao; import com.epmet.dto.AreaCodeChildDTO; import com.epmet.dto.AreaCodeDTO; import com.epmet.dto.form.AddAreaCodeDictFormDTO; +import com.epmet.dto.form.AddAreaCodeFormDTO; import com.epmet.dto.form.AreaCodeDictFormDTO; import com.epmet.dto.result.AreaCodeDictResultDTO; import com.epmet.entity.AreaCodeEntity; @@ -588,7 +589,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl select * from area_code m where m.COUNTY_CODE=#{countyCode} + + + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java new file mode 100644 index 0000000000..bf29a4aede --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java @@ -0,0 +1,86 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 添加组织V2 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/13 11:08 + */ +@Data +public class AddAgencyV2FormDTO implements Serializable { + private static final long serialVersionUID = -8951334902226679043L; + + public interface AddUserInternalGroup { + } + + public interface DefaultUserShowGroup extends CustomerClientShowGroup { + } + + public interface AreaCodeGroup extends CustomerClientShowGroup { + } + + + @NotBlank(message = "上级组织ID不能为空", groups = AddUserInternalGroup.class) + private String parentAgencyId; + + /** + * 机构组织名称 + */ + @NotBlank(message = "组织名称不能为空", groups = DefaultUserShowGroup.class) + @Length(max = 50, message = "组织名称不能超过50个字", groups = DefaultUserShowGroup.class) + private String agencyName; + + /** + * 机关级别(社区级:community, + * 乡(镇、街道)级:street, + * 区县级: district, + * 市级: city + * 省级:province) + */ + @NotBlank(message = "组织级别不能为空;社区级:community,乡(镇、街道)级:street,区县级: district,市级: city省级:province", groups = AddUserInternalGroup.class) + private String level; + + /** + * open: 选择地区编码必填;closed: 无需选择地区编码;0409新增返参 + */ + @NotBlank(message = "areaCodeSwitch不能为空", groups = AddUserInternalGroup.class) + private String areaCodeSwitch; + + /** + * 地区编码 + */ + @NotBlank(message = "请选择组织区划", groups = AreaCodeGroup.class) + private String areaCode; + + /** + * 省份 + */ + private String province; + + /** + * 城市 + */ + private String city; + + /** + * 区县 + */ + private String district; + + /** + * 区域编码字典中的【街道】名称;来源于【/data/aggregator/org/nextlevelareacodelist】接口里的areaName + */ + private String street; + + /** + * 区域编码字典中的【社区】名称;来源于【/data/aggregator/org/nextlevelareacodelist】接口里的areaName + */ + private String community; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AddAgencyResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AddAgencyResultDTO.java index bd8d994b8a..c77356968d 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AddAgencyResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AddAgencyResultDTO.java @@ -33,8 +33,18 @@ public class AddAgencyResultDTO implements Serializable { private static final long serialVersionUID = 1L; /** - * 机关组织Id + * 新添加的组织Id */ - private String agencyId = ""; + private String agencyId; + + /** + * 新添加的组织地区编码 + */ + private String areaCode; + + /** + * open: 选择地区编码必填;closed: 无需选择地区编码;0409新增返参 + */ + private String areaCodeSwitch; } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml index 595c20f348..7644b56007 100644 --- a/epmet-module/gov-org/gov-org-server/pom.xml +++ b/epmet-module/gov-org/gov-org-server/pom.xml @@ -101,6 +101,12 @@ epmet-commons-rocketmq 2.0.0 + + com.epmet + common-service-client + 2.0.0 + compile + diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index 08154a921d..74e095de3e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -33,6 +33,7 @@ import com.epmet.dto.result.AgencysResultDTO; import com.epmet.dto.result.SubAgencyResultDTO; import com.epmet.entity.CustomerAgencyEntity; import com.epmet.service.AgencyService; +import com.epmet.service.CustomerAgencyService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -54,6 +55,8 @@ public class AgencyController { @Autowired private AgencyService agencyService; + @Autowired + private CustomerAgencyService customerAgencyService; /** * @param formDTO @@ -81,6 +84,25 @@ public class AgencyController { return agencyService.addAgency(formDTO); } + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 添加组织V2 + * @Date 2021/4/13 11:09 + **/ + @PostMapping("addagency-v2") + @RequirePermission(requirePermission = RequirePermissionEnum.ORG_SUBAGENCY_CREATE) + public Result addAgencyV2(@RequestBody AddAgencyV2FormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, AddAgencyV2FormDTO.DefaultUserShowGroup.class, AddAgencyV2FormDTO.AddUserInternalGroup.class); + if (formDTO.getAreaCodeSwitch().equals(CustomerAgencyConstant.AREA_CODE_SWITCH_OPEN)) { + ValidatorUtils.validateEntity(formDTO, AddAgencyV2FormDTO.AreaCodeGroup.class); + } + //组织名称是否存在 + customerAgencyService.checkAgencyName(formDTO.getAgencyName()); + return new Result().ok(agencyService.addAgencyV2(formDTO)); + } + /** * 添加根级组织 * @param form diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index c304943b30..f9742f72e3 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -224,4 +224,6 @@ public interface CustomerAgencyDao extends BaseDao { * @Date 2020/12/15 10:04 **/ int delByAgencyId(@Param("agencyId") String agencyId, @Param("operateUserId") String operateUserId); + + List selectAgencyIdsByAreaCode(String areaCode); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java index 2eb012ca11..381fb7256a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java @@ -108,4 +108,13 @@ public interface AgencyService { * @Date 2020/7/16 17:13 **/ void saveRootAgency(AddAgencyAndStaffFormDTO agencyAndStaff); + + /** + * 添加组织V2 + * + * @param formDTO rule id + * @return com.epmet.dto.result.AddAgencyResultDTO + */ + AddAgencyResultDTO addAgencyV2(AddAgencyV2FormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index 8051ca63f5..464c46c8dc 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -234,4 +234,6 @@ public interface CustomerAgencyService extends BaseService * @author sun **/ OrganizeTreeResultDTO organizeTree(String agencyId); + + void checkAgencyName(String agencyName); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 7e5f4b2831..40e81e9ff5 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -34,11 +34,13 @@ import com.epmet.dto.GovStaffRoleDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.CustomerAgencyEntity; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.redis.CustomerAgencyRedis; import com.epmet.service.AgencyService; import com.epmet.service.CustomerAgencyService; import com.epmet.service.CustomerOrgParameterService; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -77,6 +79,9 @@ public class AgencyServiceImpl implements AgencyService { private LoginUserUtil loginUserUtil; @Autowired private CustomerOrgParameterService customerOrgParameterService; + @Autowired + private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient; + /** * @param formDTO @@ -411,4 +416,62 @@ public class AgencyServiceImpl implements AgencyService { } + /** + * 添加组织V2 + * + * @param formDTO rule id + * @return com.epmet.dto.result.AddAgencyResultDTO + */ + @Transactional(rollbackFor = Exception.class) + @Override + public AddAgencyResultDTO addAgencyV2(AddAgencyV2FormDTO formDTO) { + CustomerAgencyDTO parent = customerAgencyService.get(formDTO.getParentAgencyId()); + if (null == parent) { + throw new RenException(String.format("添加组织失败:没有找到跟组织信息,parentAgencyId=%s", formDTO.getParentAgencyId())); + } + AddAgencyResultDTO resultDTO = new AddAgencyResultDTO(); + resultDTO.setAreaCodeSwitch(formDTO.getAreaCodeSwitch()); + //判断areaCodeSwitch:open: 选择地区编码必填;closed: 无需选择地区编码 + CustomerAgencyEntity insertEntity = ConvertUtils.sourceToTarget(formDTO, CustomerAgencyEntity.class); + insertEntity.setOrganizationName(formDTO.getAgencyName()); + insertEntity.setTotalUser(NumConstant.ZERO); + insertEntity.setPid(parent.getId()); + insertEntity.setCustomerId(parent.getCustomerId()); + insertEntity.setParentAreaCode(parent.getAreaCode()); + if (StringUtils.isBlank(parent.getPid()) || NumConstant.ZERO_STR.equals(parent.getPid())) { + //如果上级是根级组织 + insertEntity.setPids(parent.getId()); + insertEntity.setAllParentName(parent.getOrganizationName()); + } else { + insertEntity.setPids(parent.getPids().concat(StrConstant.COLON).concat(parent.getId())); + insertEntity.setAllParentName(parent.getAllParentName().concat(StrConstant.HYPHEN).concat(parent.getOrganizationName())); + } + if (CustomerAgencyConstant.AREA_CODE_SWITCH_OPEN.equals(formDTO.getAreaCodeSwitch())) { + //校验areaCode是否被使用过 + if (!"other".equals(formDTO.getAreaCode())) { + List agencyIds = customerAgencyDao.selectAgencyIdsByAreaCode(insertEntity.getAreaCode()); + if (CollectionUtils.isNotEmpty(agencyIds)) { + //已经被占用,提示 + throw new RenException(EpmetErrorCode.AREA_CODE_ALREADY_EXISTS.getCode(), EpmetErrorCode.AREA_CODE_ALREADY_EXISTS.getMsg()); + } + }else{ + //如果选择的是other,需要自定义一个编码 + AddAreaCodeFormDTO addAreaCodeFormDTO = new AddAreaCodeFormDTO(); + addAreaCodeFormDTO.setCurrentAreaLevel(formDTO.getLevel()); + addAreaCodeFormDTO.setParentAreaCode(parent.getAreaCode()); + addAreaCodeFormDTO.setName(formDTO.getAgencyName()); + Result addAreaCodeResult = epmetCommonServiceOpenFeignClient.addAreaCode(addAreaCodeFormDTO); + if (!addAreaCodeResult.success() || StringUtils.isBlank(addAreaCodeResult.getData())) { + throw new RenException("自定义area_code异常" + addAreaCodeResult.getInternalMsg()); + } + insertEntity.setAreaCode(addAreaCodeResult.getData()); + } + } + customerAgencyDao.insert(insertEntity); + //3:返回新组织Id + resultDTO.setAgencyId(insertEntity.getId()); + resultDTO.setAreaCode(StrConstant.EPMETY_STR); + return resultDTO; + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index bc91668e7c..dc81a51b47 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; @@ -40,6 +41,7 @@ import com.epmet.feign.OperCrmFeignClient; import com.epmet.redis.CustomerAgencyRedis; import com.epmet.service.CustomerAgencyService; import com.epmet.util.ModuleConstant; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -1057,4 +1059,14 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(agencyName), "ORGANIZATION_NAME", agencyName); + List entityList = baseDao.selectList(wrapper); + if (CollectionUtils.isNotEmpty(entityList)) { + throw new RenException(EpmetErrorCode.AGENCY_NAME_ALREADY_EXISTS.getCode(), EpmetErrorCode.AGENCY_NAME_ALREADY_EXISTS.getMsg()); + } + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml index 24d44d88f9..6c2d82a05b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml @@ -128,14 +128,14 @@ 15 - + diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 87f00d6652..27d446f644 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -399,4 +399,14 @@ UPDATED_TIME=NOW() where id=#{agencyId} + + \ No newline at end of file