diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDetailFormDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDetailFormDTO.java new file mode 100644 index 0000000000..5b243434f5 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDetailFormDTO.java @@ -0,0 +1,9 @@ +package com.epmet.dto.form; + +import lombok.Data; + +@Data +public class AreaCodeDetailFormDTO { + private String areaCode; + private String level; +} 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 4214e77cf8..fb854155a2 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 @@ -98,6 +98,17 @@ public interface EpmetCommonServiceOpenFeignClient { @PostMapping("commonservice/workday/workminutes") Result> workMinutes(@RequestBody WorkMinuteFormDTO param); + /** + * 行政地区编码查询 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author zhy + * @date 2022/7/6 15:07 + */ + @PostMapping("commonservice/areacode/areacodedetail") + Result areaCodeDetail(@RequestBody AreaCodeDetailFormDTO formDTO); + /** * @Description 行政地区编码查询 * @Param 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 21f7fe531a..9b8b0bdc3c 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 @@ -79,6 +79,11 @@ public class EpmetCommonServiceOpenFeignClientFallback implements EpmetCommonSer return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "workMinutes", param); } + @Override + public Result areaCodeDetail(AreaCodeDetailFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "areaCodeDetail", formDTO); + } + @Override public Result> areaCodeDictTree(AreaCodeDictFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "areaCodeDictTree", formDTO); 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 7bf4e537f8..a57e19bc99 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 @@ -25,10 +25,7 @@ import com.epmet.commons.tools.validator.group.AddGroup; 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.form.AreaCodeFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.AreaCodeDictResultDTO; import com.epmet.dto.result.AreaCodeResultDTO; import com.epmet.service.AreaCodeService; @@ -133,4 +130,15 @@ public class AreaCodeController { public Result> nextArea(@RequestBody AreaCodeFormDTO formDTO){ return new Result>().ok(areaCodeService.nextArea(formDTO)); } + + /** + * @Description 行政地区编码查询 + * @Param formDTO + * @author zxc + * @date 2021/1/7 下午1:41 + */ + @PostMapping("areacodedetail") + public Result areaCodeDetail(@RequestBody AreaCodeDetailFormDTO formDTO){ + return new Result().ok(areaCodeService.getAreaCodeDetail(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 bfe5c8139e..ab101aba89 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 @@ -37,19 +37,25 @@ public interface AreaCodeDao extends BaseDao { List selectAllArea(); - AreaCodeDTO selectByCountyCode(String countyCode); + AreaCodeDTO selectByCountyCode(@Param("countyCode") String countyCode); - AreaCodeDTO selectByCityCode(String cityCode); + AreaCodeDTO selectByCityCode(@Param("cityCode") String cityCode); + + AreaCodeDTO selectByProvinceCode(@Param("provinceCode") String provinceCode); + + AreaCodeResultDTO selectByStreetCode(@Param("streetCode") String streetCode); + + AreaCodeResultDTO selectByCommunityCode(@Param("communityCode") String communityCode); AreaCodeDTO selectMaxCounty(String cityCode); List selectProvince(); - List selectCity(@Param("pCode")String pCode); + List selectCity(@Param("pCode") String pCode); - List selectDistrict(@Param("pCode")String pCode); + List selectDistrict(@Param("pCode") String pCode); - List selectStreet(@Param("pCode")String pCode); + List selectStreet(@Param("pCode") String pCode); - List selectCommunity(@Param("pCode")String pCode); + List selectCommunity(@Param("pCode") String pCode); } \ 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 e452332fea..232f3e7191 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 @@ -20,10 +20,7 @@ package com.epmet.service; 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.form.AreaCodeFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.AreaCodeDictResultDTO; import com.epmet.dto.result.AreaCodeResultDTO; import com.epmet.entity.AreaCodeEntity; @@ -127,4 +124,6 @@ public interface AreaCodeService extends BaseService { String addAreaCode(AddAreaCodeFormDTO formDTO); List nextArea(AreaCodeFormDTO formDTO); + + AreaCodeResultDTO getAreaCodeDetail(AreaCodeDetailFormDTO 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 4d873b333e..f0eedca4ad 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 @@ -36,10 +36,7 @@ import com.epmet.dao.AreaCodeChildDao; 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.form.AreaCodeFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.AreaCodeDictResultDTO; import com.epmet.dto.result.AreaCodeResultDTO; import com.epmet.entity.AreaCodeEntity; @@ -72,6 +69,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -88,8 +86,8 @@ public class AreaCodeServiceImpl extends BaseServiceImpl getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); @@ -125,7 +123,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl areaCodeDictTree(AreaCodeDictFormDTO formDTO) { List tree = new ArrayList<>(); String s = areaCodeRedis.get(AreaCodeConstant.SCREEN_TREE); - if (StringUtils.isNotBlank(s)){ - tree = JSON.parseArray(s,AreaCodeDictResultDTO.class); - }else { + if (StringUtils.isNotBlank(s)) { + tree = JSON.parseArray(s, AreaCodeDictResultDTO.class); + } else { List areaCodeDictResultDTOS = disposeTree(formDTO); - areaCodeRedis.set(AreaCodeConstant.SCREEN_TREE,areaCodeDictResultDTOS); + areaCodeRedis.set(AreaCodeConstant.SCREEN_TREE, areaCodeDictResultDTOS); tree = areaCodeDictResultDTOS; } - if (StringUtils.isBlank(formDTO.getRootAreaCode())){ + if (StringUtils.isBlank(formDTO.getRootAreaCode())) { return tree; } List treeByRootAreaCode = getTreeByRootAreaCode(tree, formDTO.getRootAreaCode()); @@ -149,12 +147,12 @@ public class AreaCodeServiceImpl extends BaseServiceImpl disposeTree(AreaCodeDictFormDTO formDTO){ + public List disposeTree(AreaCodeDictFormDTO formDTO) { // 查询所有省市区 List areaCodeDTOS = baseDao.selectAllArea(); // 查询所有街道、社区 @@ -173,8 +171,8 @@ public class AreaCodeServiceImpl extends BaseServiceImpl { - if (dto.getCode().equals(pCode)){ + groupByPCode.forEach((pCode, v) -> { + if (dto.getCode().equals(pCode)) { List fiveResult = new ArrayList<>(); v.forEach(five -> { AreaCodeDictResultDTO fiveDto = new AreaCodeDictResultDTO(); @@ -189,7 +187,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl fourSort = new ArrayList<>(); - if (!CollectionUtils.isEmpty(fourResult)){ + if (!CollectionUtils.isEmpty(fourResult)) { fourSort = fourResult.stream().sorted(Comparator.comparing(AreaCodeDictResultDTO::getCode)).collect(Collectors.toList()); } @@ -209,7 +207,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl fourOnceResult = new ArrayList<>(); finalFourSort.forEach(four -> { - if (dto.getCode().equals(four.getParentCode())){ + if (dto.getCode().equals(four.getParentCode())) { fourOnceResult.add(four); } }); @@ -220,13 +218,13 @@ public class AreaCodeServiceImpl extends BaseServiceImpl { + groupByProvince.forEach((p, v) -> { AreaCodeDictResultDTO dto = new AreaCodeDictResultDTO(); dto.setCode(p); dto.setName(v.get(NumConstant.ZERO).getProvinceName()); List cityOnceResult = new ArrayList<>(); cityResult.forEach(c -> { - if (dto.getCode().equals(c.getParentCode())){ + if (dto.getCode().equals(c.getParentCode())) { cityOnceResult.add(c); } }); @@ -239,54 +237,51 @@ public class AreaCodeServiceImpl extends BaseServiceImpl + *

* 暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样 - * ==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样== - * 暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样 - * - * - * + * ==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样== + * 暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样==暂时这样 * @Param tree * @Param rootAreaCode * @author zxc * @date 2021/1/8 上午10:02 */ - public List getTreeByRootAreaCode(List tree , String rootAreaCode){ + public List getTreeByRootAreaCode(List tree, String rootAreaCode) { List result = new ArrayList<>(); - if (!CollectionUtils.isEmpty(tree)){ + if (!CollectionUtils.isEmpty(tree)) { // 省级获取 for (AreaCodeDictResultDTO dto : tree) { - if (rootAreaCode.equals(dto.getCode())){ + if (rootAreaCode.equals(dto.getCode())) { result.add(dto); return result; } // 市级获取 - if (!CollectionUtils.isEmpty(dto.getChildren())){ + if (!CollectionUtils.isEmpty(dto.getChildren())) { for (AreaCodeDictResultDTO child : dto.getChildren()) { - if (rootAreaCode.equals(child.getCode())){ + if (rootAreaCode.equals(child.getCode())) { result.add(child); return result; } // 区级获取 - if (!CollectionUtils.isEmpty(child.getChildren())){ + if (!CollectionUtils.isEmpty(child.getChildren())) { for (AreaCodeDictResultDTO threeChild : child.getChildren()) { - if (rootAreaCode.equals(threeChild.getCode())){ + if (rootAreaCode.equals(threeChild.getCode())) { result.add(threeChild); return result; } // 街道获取 - if (!CollectionUtils.isEmpty(threeChild.getChildren())){ + if (!CollectionUtils.isEmpty(threeChild.getChildren())) { for (AreaCodeDictResultDTO fourChild : threeChild.getChildren()) { - if (rootAreaCode.equals(fourChild.getCode())){ + if (rootAreaCode.equals(fourChild.getCode())) { result.add(fourChild); return result; } // 社区获取 - if (!CollectionUtils.isEmpty(fourChild.getChildren())){ + if (!CollectionUtils.isEmpty(fourChild.getChildren())) { for (AreaCodeDictResultDTO fiveChild : fourChild.getChildren()) { - if (rootAreaCode.equals(fiveChild.getCode())){ + if (rootAreaCode.equals(fiveChild.getCode())) { result.add(fiveChild); return result; } @@ -304,40 +299,40 @@ public class AreaCodeServiceImpl extends BaseServiceImpl areaCodeDictTreePlus(AreaCodeDictFormDTO formDTO){ + public List areaCodeDictTreePlus(AreaCodeDictFormDTO formDTO) { List tree = new ArrayList<>(); String s = areaCodeRedis.get(AreaCodeConstant.THREE_SCREEN_TREE); - if (StringUtils.isNotBlank(s)){ - tree = JSON.parseArray(s,AreaCodeDictResultDTO.class); - }else { + if (StringUtils.isNotBlank(s)) { + tree = JSON.parseArray(s, AreaCodeDictResultDTO.class); + } else { List threeTree = beforeThreeTree(); - areaCodeRedis.set(AreaCodeConstant.THREE_SCREEN_TREE,threeTree); + areaCodeRedis.set(AreaCodeConstant.THREE_SCREEN_TREE, threeTree); tree = threeTree; } - if (StringUtils.isBlank(formDTO.getRootAreaCode())){ + if (StringUtils.isBlank(formDTO.getRootAreaCode())) { return tree; } - if (StringUtils.isBlank(formDTO.getRootAreaLevel())){ + if (StringUtils.isBlank(formDTO.getRootAreaLevel())) { throw new RenException(AreaCodeConstant.ROOT_AGENCY_LEVEL_IS_LEVEL); } // 传参为街道-社区级 - if (formDTO.getRootAreaLevel().equals(AreaCodeConstant.STREET) || formDTO.getRootAreaLevel().equals(AreaCodeConstant.COMMUNITY)){ + if (formDTO.getRootAreaLevel().equals(AreaCodeConstant.STREET) || formDTO.getRootAreaLevel().equals(AreaCodeConstant.COMMUNITY)) { tree = disposeAfterTwoLevel(formDTO); - }else if (formDTO.getRootAreaLevel().equals(AreaCodeConstant.PROVINCE) || formDTO.getRootAreaLevel().equals(AreaCodeConstant.CITY) || formDTO.getRootAreaLevel().equals(AreaCodeConstant.DISTRICT)){ - tree = disposeBeforeThreeLevelFinal(formDTO,tree); - }else { - throw new RenException(String.format(AreaCodeConstant.LEVEL_ERROR,formDTO.getRootAreaLevel())); + } else if (formDTO.getRootAreaLevel().equals(AreaCodeConstant.PROVINCE) || formDTO.getRootAreaLevel().equals(AreaCodeConstant.CITY) || formDTO.getRootAreaLevel().equals(AreaCodeConstant.DISTRICT)) { + tree = disposeBeforeThreeLevelFinal(formDTO, tree); + } else { + throw new RenException(String.format(AreaCodeConstant.LEVEL_ERROR, formDTO.getRootAreaLevel())); } return tree; } /** - * @Description 省市区三级联动查询 + * @Description 省市区三级联动查询 * @Param * @author zxc * @date 2021/1/11 上午9:35 */ - public List beforeThreeTree(){ + public List beforeThreeTree() { // 查询所有省市区 List areaCodeDTOS = baseDao.selectAllArea(); Map> groupByCity = areaCodeDTOS.stream().collect(Collectors.groupingBy(AreaCodeDTO::getCityCode)); @@ -362,13 +357,13 @@ public class AreaCodeServiceImpl extends BaseServiceImpl { + groupByProvince.forEach((p, v) -> { AreaCodeDictResultDTO dto = new AreaCodeDictResultDTO(); dto.setCode(p); dto.setName(v.get(NumConstant.ZERO).getProvinceName()); List cityOnceResult = new ArrayList<>(); cityResult.forEach(c -> { - if (dto.getCode().equals(c.getParentCode())){ + if (dto.getCode().equals(c.getParentCode())) { cityOnceResult.add(c); } }); @@ -383,12 +378,12 @@ public class AreaCodeServiceImpl extends BaseServiceImpl afterTwoTree(AreaCodeDictFormDTO form){ + public List afterTwoTree(AreaCodeDictFormDTO form) { // 查询所有街道、社区 List areaCodeChildDTOS = childDao.selectAllChild(form.getRootAreaCode()); List fourResult = new ArrayList<>(); @@ -399,7 +394,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl levelFive = org.apache.commons.collections4.CollectionUtils.isNotEmpty(groupByLevel.get(NumConstant.FIVE)) ? groupByLevel.get(NumConstant.FIVE) : new ArrayList<>(); Map> groupByPCode = CollectionUtils.isEmpty(levelFive) ? new HashMap<>() : levelFive.stream().collect(Collectors.groupingBy(AreaCodeChildDTO::getPCode)); //街道 - List levelFour = org.apache.commons.collections4.CollectionUtils.isNotEmpty(groupByLevel.get(NumConstant.FOUR)) ?groupByLevel.get(NumConstant.FOUR):new ArrayList<>(); + List levelFour = org.apache.commons.collections4.CollectionUtils.isNotEmpty(groupByLevel.get(NumConstant.FOUR)) ? groupByLevel.get(NumConstant.FOUR) : new ArrayList<>(); // 6级 List levelSix = groupByLevel.get(NumConstant.SIX); Map> groupBySixPCode = CollectionUtils.isEmpty(levelSix) ? new HashMap<>() : levelSix.stream().collect(Collectors.groupingBy(AreaCodeChildDTO::getPCode)); @@ -409,8 +404,8 @@ public class AreaCodeServiceImpl extends BaseServiceImpl { - if (dto.getCode().equals(k)){ + groupBySixPCode.forEach((k, v) -> { + if (dto.getCode().equals(k)) { List six = new ArrayList<>(); v.forEach(s -> { AreaCodeDictResultDTO sixDto = new AreaCodeDictResultDTO(); @@ -431,8 +426,8 @@ public class AreaCodeServiceImpl extends BaseServiceImpl { - if (dto.getCode().equals(pCode)){ + groupByFivePCode.forEach((pCode, v) -> { + if (dto.getCode().equals(pCode)) { dto.setChildren(v); } }); @@ -443,28 +438,28 @@ public class AreaCodeServiceImpl extends BaseServiceImpl disposeAfterTwoLevel(AreaCodeDictFormDTO form){ + public List disposeAfterTwoLevel(AreaCodeDictFormDTO form) { List result = new ArrayList<>(); List areaCodeDictResultDTOS = afterTwoTree(form); - if (CollectionUtils.isEmpty(areaCodeDictResultDTOS)){ + if (CollectionUtils.isEmpty(areaCodeDictResultDTOS)) { return new ArrayList<>(); } - if (form.getRootAreaLevel().equals(AreaCodeConstant.STREET)){ + if (form.getRootAreaLevel().equals(AreaCodeConstant.STREET)) { for (AreaCodeDictResultDTO dto : areaCodeDictResultDTOS) { - if (dto.getCode().equals(form.getRootAreaCode())){ + if (dto.getCode().equals(form.getRootAreaCode())) { result.add(dto); } } - }else { + } else { for (AreaCodeDictResultDTO dto : areaCodeDictResultDTOS) { - if (!CollectionUtils.isEmpty(dto.getChildren())){ + if (!CollectionUtils.isEmpty(dto.getChildren())) { for (AreaCodeDictResultDTO child : dto.getChildren()) { - if (child.getCode().equals(form.getRootAreaCode())){ + if (child.getCode().equals(form.getRootAreaCode())) { result.add(child); } } @@ -475,42 +470,42 @@ public class AreaCodeServiceImpl extends BaseServiceImpl disposeBeforeThreeLevel(AreaCodeDictFormDTO form,List tree){ + public List disposeBeforeThreeLevel(AreaCodeDictFormDTO form, List tree) { List result = new ArrayList<>(); - if (CollectionUtils.isEmpty(tree)){ + if (CollectionUtils.isEmpty(tree)) { return new ArrayList<>(); } - if (form.getRootAreaLevel().equals(AreaCodeConstant.PROVINCE)){ + if (form.getRootAreaLevel().equals(AreaCodeConstant.PROVINCE)) { for (AreaCodeDictResultDTO dto : tree) { - if (dto.getCode().equals(form.getRootAreaCode())){ + if (dto.getCode().equals(form.getRootAreaCode())) { result.add(dto); return result; } } - }else if (form.getRootAreaLevel().equals(AreaCodeConstant.CITY)){ + } else if (form.getRootAreaLevel().equals(AreaCodeConstant.CITY)) { for (AreaCodeDictResultDTO dto : tree) { - if (!CollectionUtils.isEmpty(dto.getChildren())){ + if (!CollectionUtils.isEmpty(dto.getChildren())) { for (AreaCodeDictResultDTO city : dto.getChildren()) { - if (city.getCode().equals(form.getRootAreaCode())){ + if (city.getCode().equals(form.getRootAreaCode())) { result.add(city); return result; } } } } - }else if (form.getRootAreaLevel().equals(AreaCodeConstant.DISTRICT)){ + } else if (form.getRootAreaLevel().equals(AreaCodeConstant.DISTRICT)) { for (AreaCodeDictResultDTO dto : tree) { - if (!CollectionUtils.isEmpty(dto.getChildren())){ + if (!CollectionUtils.isEmpty(dto.getChildren())) { for (AreaCodeDictResultDTO city : dto.getChildren()) { - if (!CollectionUtils.isEmpty(city.getChildren())){ + if (!CollectionUtils.isEmpty(city.getChildren())) { for (AreaCodeDictResultDTO child : city.getChildren()) { - if (child.getCode().equals(form.getRootAreaCode())){ + if (child.getCode().equals(form.getRootAreaCode())) { result.add(child); return result; } @@ -524,29 +519,29 @@ public class AreaCodeServiceImpl extends BaseServiceImpl disposeBeforeThreeLevelFinal(AreaCodeDictFormDTO form,List tree){ + public List disposeBeforeThreeLevelFinal(AreaCodeDictFormDTO form, List tree) { List threeDto = disposeBeforeThreeLevel(form, tree); List twoDto = afterTwoTree(form); - if (CollectionUtils.isEmpty(threeDto)){ + if (CollectionUtils.isEmpty(threeDto)) { return new ArrayList<>(); } - if (!CollectionUtils.isEmpty(twoDto)){ - if (form.getRootAreaLevel().equals(AreaCodeConstant.PROVINCE)){ + if (!CollectionUtils.isEmpty(twoDto)) { + if (form.getRootAreaLevel().equals(AreaCodeConstant.PROVINCE)) { for (AreaCodeDictResultDTO dto : tree) { - if (dto.getCode().equals(form.getRootAreaCode())){ - if (!CollectionUtils.isEmpty(dto.getChildren())){ + if (dto.getCode().equals(form.getRootAreaCode())) { + if (!CollectionUtils.isEmpty(dto.getChildren())) { for (AreaCodeDictResultDTO city : dto.getChildren()) { - if (!CollectionUtils.isEmpty(city.getChildren())){ + if (!CollectionUtils.isEmpty(city.getChildren())) { for (AreaCodeDictResultDTO child : city.getChildren()) { List areaList = new ArrayList<>(); for (AreaCodeDictResultDTO area : twoDto) { - if (child.getCode().equals(area.getParentCode())){ + if (child.getCode().equals(area.getParentCode())) { areaList.add(area); } } @@ -557,13 +552,13 @@ public class AreaCodeServiceImpl extends BaseServiceImpl areaList = new ArrayList<>(); for (AreaCodeDictResultDTO area : twoDto) { - if (child.getCode().equals(area.getParentCode())){ + if (child.getCode().equals(area.getParentCode())) { areaList.add(area); } } @@ -571,11 +566,11 @@ public class AreaCodeServiceImpl extends BaseServiceImpl areaList = new ArrayList<>(); for (AreaCodeDictResultDTO area : twoDto) { - if (dto.getCode().equals(area.getParentCode())){ + if (dto.getCode().equals(area.getParentCode())) { areaList.add(area); } } @@ -677,35 +672,35 @@ public class AreaCodeServiceImpl extends BaseServiceImpl nextArea(AreaCodeFormDTO formDTO) { - if(StringUtils.isBlank(formDTO.getParentAreaCode())&&StringUtils.isBlank(formDTO.getParentLevel())){ - String pKey=RedisKeys.getNextAreaCodeKey(NumConstant.ZERO_STR); - List list=areaCodeRedis.getNextAreaCodeKey(pKey); - if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)){ + if (StringUtils.isBlank(formDTO.getParentAreaCode()) && StringUtils.isBlank(formDTO.getParentLevel())) { + String pKey = RedisKeys.getNextAreaCodeKey(NumConstant.ZERO_STR); + List list = areaCodeRedis.getNextAreaCodeKey(pKey); + if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)) { return list; } - List pList=baseDao.selectProvince(); - areaCodeRedis.setNextAreaCodeKey(pKey,pList); + List pList = baseDao.selectProvince(); + areaCodeRedis.setNextAreaCodeKey(pKey, pList); return pList; } - String key=RedisKeys.getNextAreaCodeKey(formDTO.getParentAreaCode()); - List list=areaCodeRedis.getNextAreaCodeKey(key); - if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)){ + String key = RedisKeys.getNextAreaCodeKey(formDTO.getParentAreaCode()); + List list = areaCodeRedis.getNextAreaCodeKey(key); + if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)) { return list; } switch (formDTO.getParentLevel()) { @@ -723,17 +718,59 @@ public class AreaCodeServiceImpl extends BaseServiceImpl + + + + + + \ No newline at end of file diff --git a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java index 08780aaa0f..17d72aff14 100644 --- a/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java +++ b/epmet-module/oper-crm/oper-crm-client/src/main/java/com/epmet/dto/result/CustomerRelationTreeDTO.java @@ -84,6 +84,11 @@ public class CustomerRelationTreeDTO implements Serializable { */ private String areaCode; + /** + * 当前客户的地区名称 + */ + private String areaName; + /** * 下一级 */ diff --git a/epmet-module/oper-crm/oper-crm-server/pom.xml b/epmet-module/oper-crm/oper-crm-server/pom.xml index b85e21d911..0df193618f 100644 --- a/epmet-module/oper-crm/oper-crm-server/pom.xml +++ b/epmet-module/oper-crm/oper-crm-server/pom.xml @@ -111,6 +111,12 @@ 2.0.0 compile + + com.epmet + common-service-client + 2.0.0 + compile + diff --git a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java index afa1a7a8e7..9fe4219926 100644 --- a/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java +++ b/epmet-module/oper-crm/oper-crm-server/src/main/java/com/epmet/service/impl/CustomerRelationServiceImpl.java @@ -27,11 +27,16 @@ import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.Result; import com.epmet.dao.CustomerRelationDao; +import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.CustomerDTO; import com.epmet.dto.CustomerRelationDTO; +import com.epmet.dto.form.AreaCodeDetailFormDTO; +import com.epmet.dto.result.AreaCodeResultDTO; import com.epmet.dto.result.CustomerRelationTreeDTO; import com.epmet.entity.CustomerRelationEntity; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.redis.CustomerRedis; import com.epmet.service.CustomerRelationService; import com.epmet.service.CustomerService; @@ -60,6 +65,8 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl page(Map params) { @@ -178,7 +185,18 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl rootList = baseDao.selectRootCustomerByCustomerId(customerId); if (!rootList.isEmpty()) { - rootList.forEach(this::getSubCustomer); + rootList.forEach(item -> { + AreaCodeDetailFormDTO formDTO = new AreaCodeDetailFormDTO(); + formDTO.setAreaCode(item.getAreaCode()); + formDTO.setLevel(item.getLevel()); + Result area = epmetCommonServiceOpenFeignClient.areaCodeDetail(formDTO); + if (area.success()) { + if (area.getData() != null) { + item.setAreaName(area.getData().getAreaName()); + } + } + getSubCustomer(item); + }); } return rootList; } @@ -195,7 +213,18 @@ public class CustomerRelationServiceImpl extends BaseServiceImpl children = baseDao.selectSubCustomerByPid(customer.getCustomerId()); customer.setChildren(children); if (!children.isEmpty()) { - children.forEach(this::getSubCustomer); + children.forEach(item -> { + AreaCodeDetailFormDTO formDTO = new AreaCodeDetailFormDTO(); + formDTO.setAreaCode(item.getAreaCode()); + formDTO.setLevel(item.getLevel()); + Result area = epmetCommonServiceOpenFeignClient.areaCodeDetail(formDTO); + if (area.success()) { + if (area.getData() != null) { + item.setAreaName(area.getData().getAreaName()); + } + } + getSubCustomer(item); + }); } return customer; }