diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PersonDataFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PersonDataFormDTO.java index e2355d145a..8dbe98ac93 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PersonDataFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PersonDataFormDTO.java @@ -23,4 +23,10 @@ public class PersonDataFormDTO implements Serializable { @NotBlank(message = "tokenDto获取customerId不能为空",groups = PersonDataForm.class) private String customerId; + + /** + * 灵山项目需求,改造此接口,添加houseId,支持查询房屋里的所有人 + * /epmetuser/icresiuser/ownerrelation接口userId与houseId至少传一个值 + */ + private String houseId; } 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 index 540b0207d9..ca832d0643 100644 --- 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 @@ -97,10 +97,14 @@ public class IcResiUserBriefDTO extends HouseUserDTO implements Serializable { * 民族: */ private String mz; - /** * 因灵山项目添加此列: - * 与户主关系:存储字典纸 + * 民族姓名 + */ + private String mzName; + /** + * 因灵山项目添加此列: + * 与户主关系:存储字典:/sys/dict/data/relationship */ private String yhzgx; diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OwnerRelationResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OwnerRelationResultDTO.java index 8ec9b45ef1..42c4e3e122 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OwnerRelationResultDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/OwnerRelationResultDTO.java @@ -15,7 +15,18 @@ import java.util.List; public class OwnerRelationResultDTO implements Serializable { private static final long serialVersionUID = 2876258704168954941L; + /** + * 与户主关系是本人的居民 + */ private String ownerName; + /** + * 与户主关系是本人的居民id + */ + private String ownerUserId; + + /** + * 房屋里的所有人 + */ private List userList; @NoArgsConstructor @@ -24,11 +35,25 @@ public class OwnerRelationResultDTO implements Serializable { private String userId; private String userName; private String isSelf; + + /** + * 与户主关系key【字典表】 + */ + private String yhzgx; + + /** + * 与户主关系名称 + */ private String relation; + /** + * 人户情况 + */ + private String rhzk; /** * 2022.11.17:人户状况:人户一致、人在户不在、户在人不在、暂不清楚 */ private String renHuCondition; + } } 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 03284d5fe7..e48c26c81d 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 @@ -860,7 +860,7 @@ public class IcResiUserController implements ResultDataResolver { */ @PostMapping("ownerrelation") public Result getOwnerRelation(@RequestBody PersonDataFormDTO formDTO) { - return new Result().ok(icResiUserService.getOwnerRelation(formDTO.getUserId())); + return new Result().ok(icResiUserService.getOwnerRelation(formDTO.getUserId(),formDTO.getHouseId())); } /** 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 090c56560f..a64a8e4e85 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 @@ -136,7 +136,7 @@ public interface IcResiUserService extends BaseService { * @Author zhaoqifeng * @Date 2021/11/5 10:28 */ - OwnerRelationResultDTO getOwnerRelation(String userId); + OwnerRelationResultDTO getOwnerRelation(String userId,String houseId); /** * @Description 获取一栋楼每个房间人员分类的数量 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 bcb36c5efb..9f68a6ac4f 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 @@ -1596,41 +1596,65 @@ public class IcResiUserServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(IcResiUserEntity::getHomeId, user.getHomeId()); - wrapper.eq(IcResiUserEntity::getStatus,NumConstant.ZERO_STR); - wrapper.orderByAsc(IcResiUserEntity::getYhzgx); - List resiUserList = baseDao.selectList(wrapper); - if (CollectionUtils.isNotEmpty(resiUserList)) { - List userList = resiUserList.stream().map(item -> { + if(StringUtils.isBlank(houseId)){ + //获取用户信息 + IcResiUserEntity user = baseDao.selectById(userId); + if (null != user) { + houseId=user.getHomeId(); + } + } + //获取用户所在家庭里所有人员信息 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcResiUserEntity::getHomeId, houseId); + wrapper.eq(IcResiUserEntity::getStatus,NumConstant.ZERO_STR); + wrapper.orderByAsc(IcResiUserEntity::getYhzgx); + List resiUserList = baseDao.selectList(wrapper); + if (CollectionUtils.isNotEmpty(resiUserList)) { + + //先找到户主:正常情况下只会有一个户主,所以找到之后,终止循环 + for(IcResiUserEntity resiUserEntity:resiUserList){ + //如果与房主的关系是本人,则这个人就是房主 + if (RelationshipEnum.SELF.getCode().equals(resiUserEntity.getYhzgx())) { + result.setOwnerName(resiUserEntity.getName()); + result.setOwnerUserId(resiUserEntity.getId()); + break; + } + } + List userList=new ArrayList<>(); + for(IcResiUserEntity item:resiUserList){ + //成员里排除户主 + if(!result.getOwnerUserId().equals(item.getId())){ OwnerRelationResultDTO.UserListBean bean = new OwnerRelationResultDTO.UserListBean(); bean.setUserId(item.getId()); bean.setUserName(item.getName()); + bean.setYhzgx(item.getYhzgx()); bean.setRelation(RelationshipEnum.getEnum(item.getYhzgx()).getName()); - if (userId.equals(item.getId())) { - bean.setIsSelf(NumConstant.ONE_STR); - } - //如果与房主的关系是本人,则这个人就是房主 - if (RelationshipEnum.SELF.getCode().equals(item.getYhzgx())) { - result.setOwnerName(item.getName()); + bean.setIsSelf(NumConstant.ZERO_STR); + + // 与入参里的居民id对比 + if (StringUtils.isNotBlank(userId)) { + if (userId.equals(item.getId())) { + bean.setIsSelf(NumConstant.ONE_STR); + } } + //2022.11.17 返参增加人户状况名称 + bean.setRhzk(item.getRhzk()); if (StringUtils.isBlank(item.getRhzk())){ bean.setRenHuCondition(RenHuConditionEnum.ZBQC.getName()); }else { bean.setRenHuCondition(RenHuConditionEnum.getNameByCode(item.getRhzk())); } - return bean; - }).collect(Collectors.toList()); - result.setUserList(userList); + userList.add(bean); + } } + result.setUserList(userList); } return result; } @@ -1719,6 +1743,13 @@ public class IcResiUserServiceImpl extends BaseServiceImpl> mzRes=epmetAdminOpenFeignClient.getNationOption(); + if(mzRes.success()&&CollectionUtils.isNotEmpty(mzRes.getData())){ + Map mzMap = mzRes.getData().stream().collect(Collectors.toMap(OptionResultDTO::getValue, OptionResultDTO::getLabel)); + if(MapUtils.isNotEmpty(mzMap)&&mzMap.containsKey(r.getMz())){ + r.setMzName(mzMap.get(r.getMz())); + } + } r.setYhzgx(resiEntity.getYhzgx()); r.setYhzgxName(StrConstant.EPMETY_STR); Result> yhzgxRes=epmetAdminOpenFeignClient.getRelationshipOption();