diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/annotation/MaskResponse.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/annotation/MaskResponse.java index bb889a5913..26a0e2d01a 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/annotation/MaskResponse.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/annotation/MaskResponse.java @@ -15,6 +15,7 @@ public @interface MaskResponse { */ String MASK_TYPE_ID_CARD = "ID_CARD"; String MASK_TYPE_MOBILE = "MOBILE"; + String MASK_TYPE_CHINESE_NAME = "CHINESE_NAME"; ///** // * 默认的一些字段,如果没有手动指定,就会使用默认的。如果手动指定了,就不再使用默认的 diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java index 11b5c5ce4f..a3169a2ec6 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/processor/MaskProcessor.java @@ -133,11 +133,35 @@ public class MaskProcessor { return maskIdCard(originString); } else if (MaskResponse.MASK_TYPE_MOBILE.equals(maskType)) { return maskMobile(originString); + } else if (MaskResponse.MASK_TYPE_CHINESE_NAME.equals(maskType)) { + return maskChineseName(originString); } else { return originString; } } + /** + * 对中文人名进行打码 + * @param originString + * @return + */ + private String maskChineseName(String originString) { + if (StringUtils.isBlank(originString)) { + // 空串,或者只有一个字的,不打码,直接返回 + return originString; + } + + int length = originString.length(); + // 2个字以上的,首位字母明文,中间* + // 中文不能用\\w,要用[\u4e00-\u9fa5] + if (length == 2) { + return originString.replaceAll("^([\\u4e00-\\u9fa5]).*$", "$1*"); + } else { + String maskStr = StrUtil.repeat("*", length - 2); + return originString.replaceAll("^([\\u4e00-\\u9fa5]).*([\\u4e00-\\u9fa5])$", "$1" + maskStr + "$2"); + } + } + /** * 唯一整件号打码,可能是身份证号或者是护照号 * 将明文字符串打码变为掩码。保留前6,后面打码 diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingResultDTO.java index dc2624e160..63b6235605 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/BuildingResultDTO.java @@ -28,4 +28,10 @@ public class BuildingResultDTO implements Serializable { private String label; + private String allParentName; + + private String agencyName; + + private String customerId; + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java index 3ca505d172..66658f83f2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcNeighborHoodServiceImpl.java @@ -191,7 +191,7 @@ public class IcNeighborHoodServiceImpl extends BaseServiceImpl getNeighborhoodList(TokenDto tokenDto, IcNeighborHoodDTO dto) { dto.setCustomerId(tokenDto.getCustomerId()); - if (StringUtils.isBlank(dto.getAgencyId()) && StringUtils.isEmpty(dto.getGridId())) { - log.info("agencyId与gridId都为空时,默认查询当前工作人员所属组织下的小区"); - CustomerStaffInfoCacheResult result= CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); - if (null == result || StringUtils.isBlank(result.getAgencyId())) { - log.error(String.format("staffId:%s,工作人员缓存信息查询异常")); - return Collections.emptyList(); - } - dto.setAgencyId(result.getAgencyId()); - } +// if (StringUtils.isBlank(dto.getAgencyId()) && StringUtils.isEmpty(dto.getGridId())) { +// log.info("agencyId与gridId都为空时,默认查询当前工作人员所属组织下的小区"); +// CustomerStaffInfoCacheResult result= CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); +// if (null == result || StringUtils.isBlank(result.getAgencyId())) { +// log.error(String.format("staffId:%s,工作人员缓存信息查询异常", tokenDto.getUserId())); +// return Collections.emptyList(); +// } +// dto.setAgencyId(result.getAgencyId()); +// } return icBuildingDao.listBuildingInfo(dto); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml index d7f3b1080d..8e6b5dd039 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml @@ -458,15 +458,20 @@ n.id AS neighborhoodId, n.NEIGHBOR_HOOD_NAME AS neighborhoodName, n.GRID_ID, - g.GRID_NAME + g.GRID_NAME, + a.ALL_PARENT_NAME, + a.ORGANIZATION_NAME AS AGENCY_NAME, + n.CUSTOMER_ID FROM ic_building b LEFT JOIN ic_neighbor_hood n ON b.NEIGHBOR_HOOD_ID = n.id LEFT JOIN customer_grid g ON n.GRID_ID = g.id + LEFT JOIN customer_agency a ON a.id = g.pid WHERE n.DEL_FLAG = '0' AND b.DEL_FLAG = '0' AND g.DEL_FLAG = '0' + AND a.DEL_FLAG = '0' AND n.CUSTOMER_ID = #{customerId} AND n.GRID_ID = #{gridId} @@ -474,9 +479,11 @@ AND (n.NEIGHBOR_HOOD_NAME LIKE CONCAT('%', #{buildingName}, '%') OR b.BUILDING_NAME LIKE CONCAT('%', #{buildingName}, '%')) - AND ( - n.AGENCY_ID = #{agencyId} - OR n.AGENCY_PIDS LIKE CONCAT('%', #{agencyId}, '%')) + + AND ( + n.AGENCY_ID = #{agencyId} + OR n.AGENCY_PIDS LIKE CONCAT('%', #{agencyId}, '%')) +