diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/DemandResearchAnalysisFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/DemandResearchAnalysisFormDTO.java index ea3f8bcdcd..a6adc0a695 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/DemandResearchAnalysisFormDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/DemandResearchAnalysisFormDTO.java @@ -36,6 +36,6 @@ public class DemandResearchAnalysisFormDTO implements Serializable { * 个人档案:personal-data * 服务措施分析:demand-analysis */ - @NotBlank(message = "个人档案:personal-data;服务措施分析:demand-analysis",groups = AddUserInternalGroup.class) + @NotBlank(message = "queryOrigin不能为空:个人档案:personal-data;服务措施分析:demand-analysis",groups = AddUserInternalGroup.class) private String queryOrigin; } diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/DemandResearchAnalysisResultDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/DemandResearchAnalysisResultDTO.java index 32f0737dc6..4828385812 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/DemandResearchAnalysisResultDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/DemandResearchAnalysisResultDTO.java @@ -1,6 +1,5 @@ package com.epmet.dto.result.demand; -import com.epmet.dto.result.HouseUserDTO; import lombok.Data; import java.io.Serializable; @@ -10,15 +9,8 @@ import java.util.List; * 数据分析-个人档案-需求详情,研判分析 */ @Data -public class DemandResearchAnalysisResultDTO implements Serializable { +public class DemandResearchAnalysisResultDTO extends HouseMemResDTO implements Serializable { private static final long serialVersionUID = -1024304149893118204L; - /** - * 居民信息及家属列表 - */ - private String icResiUserId; - private String icUserName; - private String houseId; - private List houseUserList; private List demandData; /** diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/HouseMemResDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/HouseMemResDTO.java new file mode 100644 index 0000000000..f8126473b5 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/HouseMemResDTO.java @@ -0,0 +1,22 @@ +package com.epmet.dto.result.demand; + +import com.epmet.dto.result.HouseUserDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 数据分析-个人档案-需求详情,研判分析 + * 案件居民、家属 + */ +@Data +public class HouseMemResDTO implements Serializable { + /** + * 居民信息及家属列表 + */ + private String icResiUserId; + private String icUserName; + private String houseId; + private List houseUserList; +} diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java index 1edd9d20d5..e77ff237cd 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java @@ -42,12 +42,10 @@ import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.IcUserDemandRecDTO; import com.epmet.dto.form.CustomerGridFormDTO; +import com.epmet.dto.form.FindIcUserFormDTO; import com.epmet.dto.form.ResiUserFormDTO; import com.epmet.dto.form.demand.*; -import com.epmet.dto.result.AllGridsByUserIdResultDTO; -import com.epmet.dto.result.IcResiUserBriefDTO; -import com.epmet.dto.result.ResiUserResDTO; -import com.epmet.dto.result.UserBaseInfoResultDTO; +import com.epmet.dto.result.*; import com.epmet.dto.result.demand.*; import com.epmet.entity.*; import com.epmet.feign.EpmetAdminOpenFeignClient; @@ -579,13 +577,9 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl userRes = epmetUserOpenFeignClient.findFamilyMem(formDTO.getIcResiUserId()); - if (!userRes.success() || null == userRes.getData()) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取居民信息接口异常"); - } - IcResiUserBriefDTO icResiUserDTO = userRes.getData(); - DemandResearchAnalysisResultDTO resultDTO = ConvertUtils.sourceToTarget(icResiUserDTO, DemandResearchAnalysisResultDTO.class); - + HouseMemResDTO houseMemResDTO=queryDemandUserFamily(formDTO); + DemandResearchAnalysisResultDTO resultDTO = ConvertUtils.sourceToTarget(houseMemResDTO, DemandResearchAnalysisResultDTO.class); + //log.info(JSON.toJSONString(formDTO)); //返参格式套一层类别和类别名称 List demandData=new ArrayList<>(); @@ -596,13 +590,14 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl resiRes=epmetUserOpenFeignClient.findEpmetUser(resiUserFormDTO); - if(!resiRes.success()){ + Result resiRes = epmetUserOpenFeignClient.findEpmetUser(resiUserFormDTO); + if (!resiRes.success()) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "查询小程序用户异常"); } if (null != resiRes.getData() && CollectionUtils.isNotEmpty(resiRes.getData().getEpmetUserIdList())) { @@ -655,6 +650,45 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl userRes = epmetUserOpenFeignClient.findFamilyMem(formDTO.getIcResiUserId()); + if (!userRes.success() || null == userRes.getData()) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取居民信息接口异常"); + } + houseMemResDTO=ConvertUtils.sourceToTarget(userRes.getData(),HouseMemResDTO.class); + } + //服务措施点击了,小程序用户上报的需求 + if (StringUtils.isBlank(formDTO.getIcResiUserId())&&CollectionUtils.isNotEmpty(formDTO.getEpmetUserIdList())) { + //需要找到当前这个epmetUserIdList相同身份证号的人, + //以及这个身份证号所对应的居民的家属 + FindIcUserFormDTO findIcUserFormDTO=new FindIcUserFormDTO(); + findIcUserFormDTO.setCustomerId(formDTO.getCustomerId()); + findIcUserFormDTO.setEpmetUserId(formDTO.getEpmetUserIdList().get(NumConstant.ZERO)); + Result epmetUserFamilyDTOResult=epmetUserOpenFeignClient.findIcUser(findIcUserFormDTO); + if (!epmetUserFamilyDTOResult.success() || null == epmetUserFamilyDTOResult.getData()) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "根据小程序用户id,获取ic居民信息接口异常"); + } + houseMemResDTO=ConvertUtils.sourceToTarget(epmetUserFamilyDTOResult.getData(),HouseMemResDTO.class); + formDTO.setEpmetUserIdList(epmetUserFamilyDTOResult.getData().getEpmetUserIdList()); + } + return houseMemResDTO; + } + /** * 数分析-服务措施分析-分页查询 * diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/FindIcUserFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/FindIcUserFormDTO.java new file mode 100644 index 0000000000..c42fdeac01 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/FindIcUserFormDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + + +@Data +public class FindIcUserFormDTO implements Serializable { + public interface AddUserInternalGroup { + } + + @NotBlank(message = "epmetUserId不能为空", groups = AddUserInternalGroup.class) + private String epmetUserId; + + @NotBlank(message = "客户id不能为空", groups = AddUserInternalGroup.class) + private String customerId; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpmetUserFamilyDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpmetUserFamilyDTO.java new file mode 100644 index 0000000000..9b80c69701 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/EpmetUserFamilyDTO.java @@ -0,0 +1,35 @@ +package com.epmet.dto.result; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + + +@Data +public class EpmetUserFamilyDTO implements Serializable { + /** + * 当前客户下,与自己相同身份证号的所有账号 + */ + private List epmetUserIdList; + + /** + * 同身份证号对应的ic里的居民 + */ + private String icResiUserId; + /** + * ic里的姓名 + */ + private String icUserName; + + /** + * ic里的房子id + */ + private String houseId; + + /** + * 同屋的其他人 + */ + private List houseUserList; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index 2fe940ead3..bff8b92a50 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -672,4 +672,13 @@ public interface EpmetUserOpenFeignClient { @GetMapping("/epmetuser/icresiuser/findfamilymem/{icResiUserId}") Result findFamilyMem(@PathVariable("icResiUserId") String icResiUserId); + + /** + * 查找居民端小程序里的用户对应ic里的人。以及家属们 + * + * @param formDTO + * @return + */ + @PostMapping(value = "/epmetuser/user/findicuser") + Result findIcUser(@RequestBody FindIcUserFormDTO formDTO); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index fc6766d255..109c54c0ed 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -495,4 +495,15 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien public Result findFamilyMem(String icResiUserId) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "findFamilyMem", icResiUserId); } + + /** + * 查找居民端小程序里的用户对应ic里的人。以及家属们 + * + * @param epmetUserIdList + * @return + */ + @Override + public Result findIcUser(FindIcUserFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "findIcUser", formDTO); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java index 66d5d15d7a..5d5870439e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.java @@ -198,4 +198,16 @@ public class UserController { ValidatorUtils.validateEntity(formDTO,ResiUserFormDTO.AddUserInternalGroup.class); return new Result().ok(userService.findEpmetUser(formDTO)); } + + /** + * 查找居民端小程序里的用户对应ic里的人。以及家属们 + * + * @param findIcUserFormDTO + * @return + */ + @PostMapping(value = "findicuser") + public Result findIcUser(@RequestBody FindIcUserFormDTO findIcUserFormDTO){ + ValidatorUtils.validateEntity(findIcUserFormDTO,FindIcUserFormDTO.AddUserInternalGroup.class); + return new Result().ok(userService.findIcUser(findIcUserFormDTO)); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserDao.java index e4c7a2cec5..0d77ea3ae3 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserDao.java @@ -12,6 +12,8 @@ import com.epmet.entity.UserEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @Description 用户DAO * @IntefaceName UserDao @@ -63,4 +65,8 @@ public interface UserDao extends BaseDao { * @date 2021/9/10 8:51 上午 */ UserDTO selectByUserId(String userId); + + String selectIdNum(@Param("customerId") String customerId,@Param("epmetUserId") String epmetUserId); + + List selectCommonEpmetUser(@Param("idNum") String idNum, @Param("customerId") String customerId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserService.java index 0790655742..132ef019a7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserService.java @@ -113,4 +113,12 @@ public interface UserService extends BaseService { * @return */ ResiUserResDTO findEpmetUser(ResiUserFormDTO formDTO); + + /** + * 查找居民端小程序里的用户对应ic里的人。以及家属们 + * + * @param findIcUserFormDTO + * @return + */ + EpmetUserFamilyDTO findIcUser(FindIcUserFormDTO findIcUserFormDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java index 697fda9582..1d987951bd 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserServiceImpl.java @@ -33,6 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -385,4 +386,32 @@ public class UserServiceImpl extends BaseServiceImpl implem return resiUserResDTO; } + /** + * 查找居民端小程序里的用户对应ic里的人。以及家属们 + * + * @param findIcUserFormDTO + * @return + */ + @Override + public EpmetUserFamilyDTO findIcUser(FindIcUserFormDTO findIcUserFormDTO) { + EpmetUserFamilyDTO result=new EpmetUserFamilyDTO(); + String idNum=baseDao.selectIdNum(findIcUserFormDTO.getCustomerId(),findIcUserFormDTO.getEpmetUserId()); + if(StringUtils.isNotBlank(idNum)){ + //同客户下,相同身份证号的,epmetuser + List epmetUserIdList=baseDao.selectCommonEpmetUser(idNum,findIcUserFormDTO.getCustomerId()); + result.setEpmetUserIdList(epmetUserIdList); + //找到该身份证号的居民 + IcResiUserDTO icResiUserDTO=icResiUserService.getByIdCard(findIcUserFormDTO.getCustomerId(),idNum,null); + if(null!=icResiUserDTO){ + result.setIcResiUserId(icResiUserDTO.getId()); + result.setIcUserName(icResiUserDTO.getName()); + result.setHouseId(icResiUserDTO.getHomeId()); + IcResiUserBriefDTO icResiUserBriefDTO=icResiUserService.findFamilyMem(icResiUserDTO.getId()); + result.setHouseUserList(null!=icResiUserBriefDTO&&CollectionUtils.isNotEmpty(icResiUserBriefDTO.getHouseUserList())?icResiUserBriefDTO.getHouseUserList():new ArrayList<>()); + } + } + result.setEpmetUserIdList(Arrays.asList(findIcUserFormDTO.getEpmetUserId())); + return result; + } + } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserDao.xml index 6d82e4c200..605350bde2 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserDao.xml @@ -82,4 +82,26 @@ u.DEL_FLAG = '0' AND u.id = #{userId} + + + +