From af2936cfc1ba883099f3ece2fe4abcd78d26edc0 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 18 May 2023 17:29:30 +0800 Subject: [PATCH] =?UTF-8?q?/epmetuser/icresiuser/ownerrelation=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E9=80=82=E9=85=8D=E7=81=B5=E5=B1=B1=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/PersonDataFormDTO.java | 6 ++ .../epmet/dto/result/IcResiUserBriefDTO.java | 8 +- .../dto/result/OwnerRelationResultDTO.java | 25 +++++++ .../controller/IcResiUserController.java | 2 +- .../com/epmet/service/IcResiUserService.java | 2 +- .../service/impl/IcResiUserServiceImpl.java | 73 +++++++++++++------ 6 files changed, 91 insertions(+), 25 deletions(-) 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 440a440fd4..d52e63fb4e 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 @@ -859,7 +859,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 563365d414..2405fe6fa9 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 @@ -134,7 +134,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 a308fd7f55..97150ec2e7 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 @@ -1550,41 +1550,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; } @@ -1673,6 +1697,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();