From d153c426ce6c1f558c758727961a8b19c36c4fbe Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 23 Jun 2022 14:45:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=9D=E5=A7=8B=E5=8C=96ho?= =?UTF-8?q?use=20orgIdPath=E7=9A=84=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/HouseServiceImpl.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index 774504302e..ba9cb5e146 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -1100,8 +1100,18 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { houses2Dispose.stream().forEach(h -> { IcNeighborHoodDTO neighborhood = neighborHoodService.get(h.getNeighborHoodId()); + if (neighborhood == null) { + log.warn("为house初始化orgIdPath失败,指定ID的小区未找到。小区id:{}, 房屋id:{}", h.getNeighborHoodId(), h.getId()); + return; + } ArrayList pidList = new ArrayList<>(); - recureAppendParentAgencyId(neighborhood.getAgencyId(), pidList); + try { + recureAppendParentAgencyId(neighborhood.getAgencyId(), pidList); + } catch (Exception e) { + String errorMsg = ExceptionUtils.getErrorStackTrace(e); + log.warn(errorMsg); + return; + } String orgIdPath = String.join(":", pidList); // 更新 @@ -1122,6 +1132,9 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { private void recureAppendParentAgencyId(String agencyId, List result) { result.add(0, agencyId); CustomerAgencyEntity agency = customerAgencyDao.selectById(agencyId); + if (agency == null) { + throw new EpmetException(String.format("为house初始化orgIdPath失败,agency为号到。agencyId:%s", agencyId)); + } String pid = agency.getPid(); if (StringUtils.isBlank(pid) || "0".equals(pid)) { return;