diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDictFormDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDictFormDTO.java index 4340d4d015..47d915cd4c 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDictFormDTO.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDictFormDTO.java @@ -13,6 +13,7 @@ public class AreaCodeDictFormDTO implements Serializable { private static final long serialVersionUID = 5780301376757138238L; + //平阴传参:rootAreaCode=370124, rootAreaLevel=district /** * 根结点code 不传,则返回全部 */ diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeChildDao.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeChildDao.java index 24339f6397..169449fc2f 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeChildDao.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeChildDao.java @@ -34,7 +34,7 @@ import java.util.List; @Mapper public interface AreaCodeChildDao extends BaseDao { - List selectAllChild(); + List selectAllChild(String areaCode); AreaCodeChildDTO selectByCode(@Param("code") String code); 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 6f4ad9f000..4d873b333e 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 @@ -137,7 +137,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl areaCodeDictResultDTOS = disposeTree(); + List areaCodeDictResultDTOS = disposeTree(formDTO); areaCodeRedis.set(AreaCodeConstant.SCREEN_TREE,areaCodeDictResultDTOS); tree = areaCodeDictResultDTOS; } @@ -154,11 +154,11 @@ public class AreaCodeServiceImpl extends BaseServiceImpl disposeTree(){ + public List disposeTree(AreaCodeDictFormDTO formDTO){ // 查询所有省市区 List areaCodeDTOS = baseDao.selectAllArea(); // 查询所有街道、社区 - List areaCodeChildDTOS = childDao.selectAllChild(); + List areaCodeChildDTOS = childDao.selectAllChild(formDTO.getRootAreaCode()); List result = new ArrayList<>(); List fourResult = new ArrayList<>(); List cityResult = new ArrayList<>(); @@ -388,21 +388,21 @@ public class AreaCodeServiceImpl extends BaseServiceImpl afterTwoTree(){ + public List afterTwoTree(AreaCodeDictFormDTO form){ // 查询所有街道、社区 - List areaCodeChildDTOS = childDao.selectAllChild(); + List areaCodeChildDTOS = childDao.selectAllChild(form.getRootAreaCode()); List fourResult = new ArrayList<>(); List fiveResult = new ArrayList<>(); // 街道-社区 Map> groupByLevel = areaCodeChildDTOS.stream().collect(Collectors.groupingBy(AreaCodeChildDTO::getLevel)); //社区 - List levelFive = groupByLevel.get(NumConstant.FIVE); - Map> groupByPCode = levelFive.stream().collect(Collectors.groupingBy(AreaCodeChildDTO::getPCode)); + List 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 = groupByLevel.get(NumConstant.FOUR); + 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 = levelSix.stream().collect(Collectors.groupingBy(AreaCodeChildDTO::getPCode)); + Map> groupBySixPCode = CollectionUtils.isEmpty(levelSix) ? new HashMap<>() : levelSix.stream().collect(Collectors.groupingBy(AreaCodeChildDTO::getPCode)); levelFive.forEach(f -> { AreaCodeDictResultDTO dto = new AreaCodeDictResultDTO(); @@ -450,7 +450,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl disposeAfterTwoLevel(AreaCodeDictFormDTO form){ List result = new ArrayList<>(); - List areaCodeDictResultDTOS = afterTwoTree(); + List areaCodeDictResultDTOS = afterTwoTree(form); if (CollectionUtils.isEmpty(areaCodeDictResultDTOS)){ return new ArrayList<>(); } @@ -532,7 +532,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl disposeBeforeThreeLevelFinal(AreaCodeDictFormDTO form,List tree){ List threeDto = disposeBeforeThreeLevel(form, tree); - List twoDto = afterTwoTree(); + List twoDto = afterTwoTree(form); if (CollectionUtils.isEmpty(threeDto)){ return new ArrayList<>(); } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ShowApiServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ShowApiServiceImpl.java index 369c0b9753..7d2aadcc2d 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ShowApiServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/ShowApiServiceImpl.java @@ -128,34 +128,37 @@ public class ShowApiServiceImpl implements ShowApiService { DayDetailResultDTO dayDetailResultDTO = null; try { dayDetailResultDTO = ShowApiUtil.queryHolidayV2020(currentDate); + if (dayDetailResultDTO == null){ + logger.warn("initWorkDay howApiUtil.queryHolidayV2020 return null"); + return; + } } catch (Exception e) { logger.error("queryHolidayV2020 exception", e); return; } List list = calenderDao.selectByDay(currentDate); if(null!=list&&list.size()>0){ - if (0 == dayDetailResultDTO.getRet_code()) { - for (CalenderEntity calenderEntity : list) { - calenderEntity.setRetCode(dayDetailResultDTO.getRet_code()); - calenderEntity.setWeekday(dayDetailResultDTO.getWeekDay()); - calenderEntity.setBegin(dayDetailResultDTO.getBegin()); - calenderEntity.setEnd(dayDetailResultDTO.getEnd()); - calenderEntity.setHoliday(dayDetailResultDTO.getHoliday()); - calenderEntity.setHolidayRemark(dayDetailResultDTO.getHoliday_remark()); - calenderEntity.setEn(dayDetailResultDTO.getEn()); - calenderEntity.setCn(dayDetailResultDTO.getCn()); - calenderEntity.setType(dayDetailResultDTO.getType()); - //1为工作日,2为周末,3为节假日 - if ("1".equals(dayDetailResultDTO.getType())) { - calenderEntity.setTypeName("工作日"); - } else if ("2".equals(dayDetailResultDTO.getType())) { - calenderEntity.setTypeName("周末"); - } else if ("3".equals(dayDetailResultDTO.getType())) { - calenderEntity.setTypeName("节假日"); - } - calenderDao.updateById(calenderEntity); + for (CalenderEntity calenderEntity : list) { + calenderEntity.setRetCode(dayDetailResultDTO.getRet_code()); + calenderEntity.setWeekday(dayDetailResultDTO.getWeekDay()); + calenderEntity.setBegin(dayDetailResultDTO.getBegin()); + calenderEntity.setEnd(dayDetailResultDTO.getEnd()); + calenderEntity.setHoliday(dayDetailResultDTO.getHoliday()); + calenderEntity.setHolidayRemark(dayDetailResultDTO.getHoliday_remark()); + calenderEntity.setEn(dayDetailResultDTO.getEn()); + calenderEntity.setCn(dayDetailResultDTO.getCn()); + calenderEntity.setType(dayDetailResultDTO.getType()); + //1为工作日,2为周末,3为节假日 + if ("1".equals(dayDetailResultDTO.getType())) { + calenderEntity.setTypeName("工作日"); + } else if ("2".equals(dayDetailResultDTO.getType())) { + calenderEntity.setTypeName("周末"); + } else if ("3".equals(dayDetailResultDTO.getType())) { + calenderEntity.setTypeName("节假日"); } + calenderDao.updateById(calenderEntity); } + }else { calenderDao.insert(getCalenderEntity(dayDetailResultDTO)); } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/ShowApiUtil.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/ShowApiUtil.java index ad097e5c7c..6b9052cbcb 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/ShowApiUtil.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/ShowApiUtil.java @@ -1,10 +1,13 @@ package com.epmet.utils; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.constant.ShowApiConstant; import com.epmet.result.DayDetailResultDTO; import com.epmet.result.HolidayResultDTO; import com.epmet.result.ShowApiResult; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -51,7 +54,10 @@ public class ShowApiUtil { JSONObject jsonobject = JSONObject.parseObject(resultStr); ShowApiResult showApiResult= JSONObject.toJavaObject(jsonobject, ShowApiResult.class); logger.info(showApiResult.toString()); - + if (showApiResult.getShowapi_res_code() != NumConstant.ZERO || StringUtils.isBlank(showApiResult.getShowapi_res_body())) { + logger.error("获取工作日失败,result:{}", JSON.toJSONString(showApiResult)); + return null; + } JSONObject holidayJsonObject = JSONObject.parseObject(showApiResult.getShowapi_res_body()); DayDetailResultDTO dayDetailResultDTO= JSONObject.toJavaObject(holidayJsonObject, DayDetailResultDTO.class); logger.info(String.format("(3)QUERY_HOLIDAY_V2020返参:%s",dayDetailResultDTO.toString())); diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeChildDao.xml b/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeChildDao.xml index c918bb7702..34877f6c08 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeChildDao.xml +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeChildDao.xml @@ -5,7 +5,9 @@