From 30425b5a87bf7c2ab54ad93650742ed2ef5ee48b Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 9 Dec 2021 12:49:06 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9C=80=E6=B1=82=E7=A0=94=E5=88=A4=E5=88=86?= =?UTF-8?q?=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demand/DemandResearchAnalysisFormDTO.java | 34 +++++++++++++ .../DemandResearchAnalysisResultDTO.java | 28 ++++++++++ .../controller/IcUserDemandRecController.java | 14 ++++- .../epmet/service/IcUserDemandRecService.java | 9 ++++ .../impl/IcUserDemandRecServiceImpl.java | 51 +++++++++++++++++++ .../com/epmet/dto/result/HouseUserDTO.java | 15 ++++++ .../epmet/dto/result/IcResiUserBriefDTO.java | 19 +++++++ .../epmet/feign/EpmetUserOpenFeignClient.java | 3 ++ .../EpmetUserOpenFeignClientFallback.java | 5 ++ .../controller/IcResiUserController.java | 13 +++++ .../java/com/epmet/dao/IcResiUserDao.java | 21 ++++++-- .../com/epmet/service/IcResiUserService.java | 2 + .../service/impl/IcResiUserServiceImpl.java | 5 ++ .../main/resources/mapper/IcResiUserDao.xml | 37 ++++++++++++++ 14 files changed, 251 insertions(+), 5 deletions(-) create mode 100644 epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/DemandResearchAnalysisFormDTO.java create mode 100644 epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/DemandResearchAnalysisResultDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseUserDTO.java create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserBriefDTO.java 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 new file mode 100644 index 0000000000..745d5038be --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/DemandResearchAnalysisFormDTO.java @@ -0,0 +1,34 @@ +package com.epmet.dto.form.demand; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + + +/** + * 需求研判分析 入参DTO + */ +@Data +public class DemandResearchAnalysisFormDTO implements Serializable { + private static final long serialVersionUID = 3528172570410679765L; + public interface AddUserInternalGroup { + } + + public interface AddUserShowGroup extends CustomerClientShowGroup { + } + + @NotBlank(message = "firstCategoryCode不能为空",groups = AddUserInternalGroup.class) + private String firstCategoryCode; + + @NotBlank(message = "isResiUserId不能为空",groups = AddUserInternalGroup.class) + private String isResiUserId; + + private List epmetUserIdList; + + + @NotBlank(message = "tokenDto中的customerId不能为空",groups = AddUserInternalGroup.class) + private String customerId; +} 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 new file mode 100644 index 0000000000..3a17485f7a --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/demand/DemandResearchAnalysisResultDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.result.demand; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 数据分析-个人档案-需求详情,研判分析 + */ +@Data +public class DemandResearchAnalysisResultDTO implements Serializable { + private static final long serialVersionUID = -1024304149893118204L; + /** + * 居民信息及家属列表 + */ + private String icResiUserId; + private String icUserName; + private String houseId; + private List houseUserList; + + + private List demandList; + /** + * 入参中给的,再返回去 + */ + private List epmetUserIdList; +} diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java index 9ce587e7b3..563777d008 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcUserDemandRecController.java @@ -25,6 +25,7 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.constant.UserDemandConstant; import com.epmet.dto.form.demand.*; import com.epmet.dto.result.demand.DemandRecResultDTO; +import com.epmet.dto.result.demand.DemandResearchAnalysisResultDTO; import com.epmet.dto.result.demand.IcResiUserReportDemandRes; import com.epmet.dto.result.demand.OptionDTO; import com.epmet.service.*; @@ -210,7 +211,18 @@ public class IcUserDemandRecController { } - + /** + * 数据分析-个人档案-需求详情,研判分析 + * + * @param formDTO + * @return + */ + @PostMapping("demand-research-analysis") + public Result queryDemandResearchAnalysis(@LoginUser TokenDto tokenDto,@RequestBody DemandResearchAnalysisFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + ValidatorUtils.validateEntity(formDTO, DemandResearchAnalysisFormDTO.AddUserInternalGroup.class); + return new Result().ok(icUserDemandRecService.queryDemandResearchAnalysis(formDTO)); + } } \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java index e3b719615e..e2e9f10e4c 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcUserDemandRecService.java @@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IcUserDemandRecDTO; import com.epmet.dto.form.demand.*; import com.epmet.dto.result.demand.DemandRecResultDTO; +import com.epmet.dto.result.demand.DemandResearchAnalysisResultDTO; import com.epmet.dto.result.demand.IcResiUserReportDemandRes; import com.epmet.entity.IcUserDemandRecEntity; @@ -144,4 +145,12 @@ public interface IcUserDemandRecService extends BaseService userRes = epmetUserOpenFeignClient.findFamilyMem(formDTO.getIsResiUserId()); + 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); + resultDTO.setEpmetUserIdList(CollectionUtils.isNotEmpty(formDTO.getEpmetUserIdList()) ? formDTO.getEpmetUserIdList() : Collections.emptyList()); + //获取当前需求人,相同分类的需求列表。不分页,直接返回所有 + List userIds=new ArrayList<>(); + userIds.add(formDTO.getIsResiUserId()); + if(CollectionUtils.isNotEmpty(formDTO.getEpmetUserIdList())){ + userIds.addAll(formDTO.getEpmetUserIdList()); + } + IcResiUserDemandFromDTO icResiUserDemandFromDTO=new IcResiUserDemandFromDTO(); + icResiUserDemandFromDTO.setUserIds(userIds); + icResiUserDemandFromDTO.setFirstCategoryCode(formDTO.getFirstCategoryCode()); + List demandList = baseDao.selectUserDemand(icResiUserDemandFromDTO); + + if(CollectionUtils.isNotEmpty(demandList)){ + // 1、状态字典 + Result> statusRes = adminOpenFeignClient.dictMap(DictTypeEnum.USER_DEMAND_STATUS.getCode()); + Map statusMap = statusRes.success() && MapUtils.isNotEmpty(statusRes.getData()) ? statusRes.getData() : new HashMap<>(); + //2、查询分类名称 + List categoryCodes = demandList.stream().map(IcResiUserReportDemandRes::getCategoryCode).collect(Collectors.toList()); + List dictList = demandDictService.listByCodes(formDTO.getCustomerId(), categoryCodes); + Map dictMap = dictList.stream().collect(Collectors.toMap(IcResiDemandDictEntity::getCategoryCode, IcResiDemandDictEntity::getCategoryName)); + for (IcResiUserReportDemandRes resDto : demandList) { + //状态赋值 + resDto.setStatusName(statusMap.containsKey(resDto.getStatus()) ? statusMap.get(resDto.getStatus()) : StrConstant.EPMETY_STR); + if (null != dictMap && dictMap.containsKey(resDto.getCategoryCode())) { + //分类名称XXX-XX 或者XXX + resDto.setCategoryName(dictMap.get(resDto.getCategoryCode())); + } + //一级分类名称 + resDto.setFirstCategoryName(demandDictService.getCategoryName(formDTO.getCustomerId(),resDto.getFirstCategoryCode())); + } + resultDTO.setDemandList(CollectionUtils.isNotEmpty(demandList) ? demandList : Collections.emptyList()); + } + return resultDTO; + } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseUserDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseUserDTO.java new file mode 100644 index 0000000000..7bf9978b48 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/HouseUserDTO.java @@ -0,0 +1,15 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 家属 + */ +@Data +public class HouseUserDTO implements Serializable { + private static final long serialVersionUID = -5307147522738642535L; + private String icResiUserId; + private String icUserName; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserBriefDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserBriefDTO.java new file mode 100644 index 0000000000..ce955f1a56 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/IcResiUserBriefDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 案件居民、家属列表 + * 只有名称这些简要信息 + */ +@Data +public class IcResiUserBriefDTO extends HouseUserDTO implements Serializable { + 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 ff3b7ffc1c..6947f0d47d 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 @@ -669,4 +669,7 @@ public interface EpmetUserOpenFeignClient { */ @PostMapping(value = "/epmetuser/user/findepmetuser") Result findEpmetUser(@RequestBody ResiUserFormDTO formDTO); + + @GetMapping("/epmetuser/icresiuser/findfamilymem/{icResiUserId}") + Result findFamilyMem(@PathVariable("icResiUserId") String icResiUserId); } 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 1eeca4cdd3..e208b2ea1a 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 @@ -490,4 +490,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien public Result findEpmetUser(ResiUserFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "findEpmetUser", formDTO); } + + @Override + public Result findFamilyMem(String icResiUserId) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "findFamilyMem", icResiUserId); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index d6df9f57e0..5c76d8e578 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -206,6 +206,19 @@ public class IcResiUserController { return new Result>().ok(icResiUserService.getPeopleByRoom(formDTO.getHomeId())); } + /** + * 根据ic_resi_user找家属 + * @param icResiUserId + * @return + */ + @GetMapping("findfamilymem/{icResiUserId}") + public Result findFamilyMem(@PathVariable("icResiUserId") String icResiUserId){ + if(StringUtils.isNotBlank(icResiUserId)){ + return new Result().ok(icResiUserService.findFamilyMem(icResiUserId)); + } + return new Result<>(); + } + @PostMapping("listresi") public Result>> queryListResi1(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO) { //pageFormDTO.setCustomerId("45687aa479955f9d06204d415238f7cc"); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index ea5ca5b741..09f467f6bf 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -20,10 +20,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.form.ResiUserQueryValueDTO; -import com.epmet.dto.result.DemandUserResDTO; -import com.epmet.dto.result.IcFormResColumnDTO; -import com.epmet.dto.result.PersonDataResultDTO; -import com.epmet.dto.result.SearchByNameResultDTO; +import com.epmet.dto.result.*; import com.epmet.entity.IcResiUserEntity; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; @@ -166,4 +163,20 @@ public interface IcResiUserDao extends BaseDao { IcResiUserDTO selectIdByIdCard(@Param("customerId") String customerId, @Param("idNum")String idNum, @Param("icResiUserId")String icResiUserId); + + /** + * 获取居民名称,家属名称和id + * @param isResiUserId + * @return + */ + IcResiUserBriefDTO selectIcResuUser(@Param("isResiUserId") String isResiUserId); + + /** + * 除了本人以外,住在这个房子的人 + * + * @param currentIcResiUserId + * @param homeId + * @return + */ + List selectListFamilyMember(@Param("currentIcResiUserId") String currentIcResiUserId, @Param("homeId") String homeId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index 9a0fcbed95..450ee74c70 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -151,4 +151,6 @@ public interface IcResiUserService extends BaseService { * @return */ IcResiUserDTO getByIdCard(String customerId, String idNum,String icResiUserId); + + IcResiUserBriefDTO findFamilyMem(String icResiUserId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index ea21846183..d045c08f3d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -878,4 +878,9 @@ public class IcResiUserServiceImpl extends BaseServiceImpl + + + + + + + + + + + + + + +