diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java index d40ff78a46..e5bf477bc6 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java @@ -1870,6 +1870,28 @@ public class IcEventServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); + UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); + messageFormDTO.setCustomerId(formDTO.getCustomerId()); + messageFormDTO.setApp(ProjectConstant.RESI); + messageFormDTO.setGridId(icEventEntity.getGridId()); + messageFormDTO.setUserId(icEventEntity.getCreatedBy()); + messageFormDTO.setTitle(UserMessageConstant.EVENT_TITILE); + // 获取当前工作人员缓存信息 + CustomerStaffInfoCacheResult staffInfo = getStaffInfo(formDTO.getCustomerId(), formDTO.getCurrentUserId()); + messageFormDTO.setMessageContent(String.format("%s将您上报的事件转为议题,请查看。", staffInfo.getAgencyName())); + messageFormDTO.setReadFlag(Constant.UNREAD); + messageFormDTO.setMessageType(UserMessageTypeConstant.IC_EVENT); + messageFormDTO.setTargetId(icEventEntity.getId()); + msgList.add(messageFormDTO); + Result sendMessageRes = messageOpenFeignClient.saveUserMessageList(msgList); + if (!sendMessageRes.success()) { + log.warn(String.format("事件转议题,给居民端用户发送站内信异常,事件Id->%s", icEventEntity.getId())); + } + } } /** diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/MyHomeServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/MyHomeServiceImpl.java index 9f5df02195..7b1051f587 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/MyHomeServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/MyHomeServiceImpl.java @@ -196,20 +196,25 @@ public class MyHomeServiceImpl implements MyHomeService { */ @Override public HomeInfoResultDTO getHomeInfo(TokenDto tokenDto) { - HomeInfoResultDTO resultDto = new HomeInfoResultDTO(); //通过用户ID获取居民端用户信息 ResiUserBaseInfoResultDTO baseInfo = userBaseInfoDao.selecUserBaseInfoByUserId(tokenDto.getUserId()); - if (null == baseInfo) { - return resultDto; + if (null == baseInfo||StringUtils.isBlank(baseInfo.getIdNum())) { + log.warn(String.format("user_base_info.id_num is null userId:%s",tokenDto.getUserId())); + return null; } //通过居民身份证号获取居民信息 LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(IcResiUserEntity::getCustomerId, tokenDto.getCustomerId()); wrapper.eq(IcResiUserEntity::getIdCard, baseInfo.getIdNum()); + wrapper.select(IcResiUserEntity::getId) + .select(IcResiUserEntity::getHomeId) + .select(IcResiUserEntity::getIdCard); IcResiUserEntity icUser = icResiUserDao.selectOne(wrapper); if (null == icUser) { - return resultDto; + log.warn(String.format("ic_resi_user is null id_card:%s",baseInfo.getIdNum())); + return null; } + HomeInfoResultDTO resultDto = new HomeInfoResultDTO(); resultDto.setIcResiUserId(icUser.getId()); //通过房屋ID获取房屋信息 HouseInfoCache houseInfo = CustomerIcHouseRedis.getHouseInfo(tokenDto.getCustomerId(), icUser.getHomeId()); @@ -221,17 +226,12 @@ public class MyHomeServiceImpl implements MyHomeService { resultDto.setHouseCode(houseInfo.getHouseCode()); resultDto.setQrCodeUrl(houseInfo.getHouseQrcodeUrl()); resultDto.setCoding(houseInfo.getCoding()); - //获取房屋房主信息,判断是否是房主 - Result icHouseResult = govOrgOpenFeignClient.get(icUser.getHomeId()); - if (!icHouseResult.success() || null == icHouseResult.getData()) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取房屋信息失败", "获取房屋信息失败"); - } - if (icUser.getIdCard().equals(icHouseResult.getData().getOwnerIdCard())) { + if (icUser.getIdCard().equals(houseInfo.getOwnerIdCard())) { resultDto.setIsOwner(NumConstant.ONE_STR); } else { resultDto.setIsOwner(NumConstant.ZERO_STR); } - resultDto.setOwnerIdCard(icHouseResult.getData().getOwnerIdCard()); + resultDto.setOwnerIdCard(houseInfo.getOwnerIdCard()); return resultDto; }