package com.java110.user.bmo.owner.impl; import com.java110.dto.account.AccountDto; import com.java110.dto.room.RoomDto; import com.java110.dto.privilege.BasePrivilegeDto; import com.java110.dto.contract.ContractDto; import com.java110.dto.owner.OwnerCarDto; import com.java110.dto.owner.OwnerDto; import com.java110.dto.owner.OwnerRoomRelDto; import com.java110.intf.acct.IAccountInnerServiceSMO; import com.java110.intf.common.IFileInnerServiceSMO; import com.java110.intf.common.IFileRelInnerServiceSMO; import com.java110.intf.community.IMenuInnerServiceSMO; import com.java110.intf.community.IRoomInnerServiceSMO; import com.java110.intf.store.IContractInnerServiceSMO; import com.java110.intf.user.IOwnerCarInnerServiceSMO; import com.java110.intf.user.IOwnerInnerServiceSMO; import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO; import com.java110.user.bmo.owner.IComprehensiveQuery; import com.java110.utils.util.Assert; import com.java110.utils.util.ListUtil; import com.java110.vo.ResultVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; @Service public class ComprehensiveQueryImpl implements IComprehensiveQuery { public static final String SEARCH_TYPE_ROOM = "1"; //根据房屋来查 public static final String SEARCH_TYPE_OWNER_NAME = "2"; //根据业主名称查询 public static final String SEARCH_TYPE_OWNER_TEL = "3"; //根据业主手机号 public static final String SEARCH_TYPE_OWNER_IDCARD = "4"; //根据业主身份证 public static final String SEARCH_TYPE_OWNER_CAR = "5"; //根据业主车牌号 public static final String SEARCH_TYPE_OWNER_MEMBER_NAME = "6"; //根据家庭成员名称 public static final String SEARCH_TYPE_OWNER_MEMBER_TEL = "7"; //根据家庭成员电话 public static final String SEARCH_TYPE_OWNER_MEMBER_IDCARD = "8"; //根据家庭成员身份证 public static final String SEARCH_TYPE_SHOPS = "9"; //根据商铺号 public static final String SEARCH_TYPE_CONTRACT = "10"; //合同号 @Autowired private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl; @Autowired private IRoomInnerServiceSMO roomInnerServiceSMOImpl; @Autowired private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl; @Autowired private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl; @Autowired private IFileInnerServiceSMO fileInnerServiceSMOImpl; @Autowired private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl; @Autowired private IMenuInnerServiceSMO menuInnerServiceSMOImpl; @Autowired private IContractInnerServiceSMO contractInnerServiceSMOImpl; @Autowired private IAccountInnerServiceSMO accountInnerServiceSMOImpl; @Override public ResponseEntity query(String communityId, String searchValue, String searchType, String userId, String storeId) { OwnerDto ownerDto = null; switch (searchType) { case SEARCH_TYPE_ROOM: ownerDto = queryByRoom(communityId, searchValue, userId); break; case SEARCH_TYPE_SHOPS: ownerDto = queryByShops(communityId, searchValue, userId); break; case SEARCH_TYPE_OWNER_NAME: ownerDto = queryByOwnerName(communityId, searchValue, userId); break; case SEARCH_TYPE_OWNER_TEL: ownerDto = queryByOwnerTel(communityId, searchValue, userId); break; case SEARCH_TYPE_OWNER_IDCARD: ownerDto = queryByOwnerIdCard(communityId, searchValue, userId); break; case SEARCH_TYPE_OWNER_CAR: ownerDto = queryByOwnerCar(communityId, searchValue, userId); break; case SEARCH_TYPE_OWNER_MEMBER_NAME: ownerDto = queryByOwnerMemberName(communityId, searchValue, userId); break; case SEARCH_TYPE_OWNER_MEMBER_TEL: ownerDto = queryByOwnerMemberTel(communityId, searchValue, userId); break; case SEARCH_TYPE_OWNER_MEMBER_IDCARD: ownerDto = queryByOwnerMemberIdCard(communityId, searchValue, userId); break; case SEARCH_TYPE_CONTRACT: ownerDto = queryByContract(communityId, searchValue, userId, storeId); break; } if (ownerDto == null) { return ResultVo.createResponseEntity(1, 1, ownerDto); } //todo 查询账户余额 AccountDto accountDto = new AccountDto(); accountDto.setObjId(ownerDto.getMemberId()); accountDto.setPartId(communityId); List accountDtos = accountInnerServiceSMOImpl.queryAccounts(accountDto); if (ListUtil.isNull(accountDtos)) { return ResultVo.createResponseEntity(1, 1, ownerDto); } BigDecimal accountDec = new BigDecimal("0"); for (AccountDto tmpAccountDto : accountDtos) { accountDec = accountDec.add(new BigDecimal(tmpAccountDto.getAmount())); } accountDec = accountDec.setScale(2, BigDecimal.ROUND_HALF_UP); ownerDto.setAcctAmount(accountDec.doubleValue() + ""); return ResultVo.createResponseEntity(1, 1, ownerDto); } /** * 成员身份证查询 * * @param communityId * @param searchValue * @return */ private OwnerDto queryByOwnerMemberIdCard(String communityId, String searchValue, String userId) { OwnerDto ownerDto = new OwnerDto(); ownerDto.setCommunityId(communityId); ownerDto.setIdCard(searchValue); ownerDto.setOwnerTypeCds(new String[]{OwnerDto.OWNER_TYPE_CD_MEMBER}); List ownerDtos = ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto); Assert.listOnlyOne(ownerDtos, "未找到成员信息或者查询到多条,请换其他条件查询"); OwnerDto owner = queryByOwnerId(communityId, ownerDtos.get(0).getOwnerId()); //查询是否有脱敏权限 List mark = getPrivilegeOwnerList("/roomCreateFee", userId); //对业主身份证号隐藏处理 String idCard = owner.getIdCard(); if (mark.size() == 0 && idCard != null && idCard != null) { idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16); owner.setIdCard(idCard); } //对业主手机号隐藏处理 String link = owner.getLink(); if (mark.size() == 0 && link != null && !link.equals("")) { link = link.substring(0, 3) + "****" + link.substring(7); owner.setLink(link); } return owner; } /** * 成员名称查询 * * @param communityId * @param searchValue * @return */ private OwnerDto queryByOwnerMemberTel(String communityId, String searchValue, String userId) { OwnerDto ownerDto = new OwnerDto(); ownerDto.setCommunityId(communityId); ownerDto.setLink(searchValue); ownerDto.setOwnerTypeCds(new String[]{OwnerDto.OWNER_TYPE_CD_MEMBER}); List ownerDtos = ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto); Assert.listOnlyOne(ownerDtos, "未找到成员信息或者查询到多条,请换其他条件查询"); OwnerDto owner = queryByOwnerId(communityId, ownerDtos.get(0).getOwnerId()); //查询是否有脱敏权限 List mark = getPrivilegeOwnerList("/roomCreateFee", userId); //对业主身份证号隐藏处理 String idCard = owner.getIdCard(); if (mark.size() == 0 && idCard != null && idCard != null) { idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16); owner.setIdCard(idCard); } //对业主手机号隐藏处理 String link = owner.getLink(); if (mark.size() == 0 && link != null && !link.equals("")) { link = link.substring(0, 3) + "****" + link.substring(7); owner.setLink(link); } return owner; } /** * 成员名称查询 * * @param communityId * @param searchValue * @return */ private OwnerDto queryByOwnerMemberName(String communityId, String searchValue, String userId) { OwnerDto ownerDto = new OwnerDto(); ownerDto.setCommunityId(communityId); ownerDto.setName(searchValue); ownerDto.setOwnerTypeCds(new String[]{OwnerDto.OWNER_TYPE_CD_MEMBER}); List ownerDtos = ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto); Assert.isNotNull(ownerDtos, "未找到成员信息,请换其他条件查询"); //Assert.listOnlyOne(ownerDtos, "未找到成员信息或者查询到多条,请换其他条件查询"); OwnerDto owner = queryByOwnerId(communityId, ownerDtos.get(0).getOwnerId()); //查询是否有脱敏权限 List mark = getPrivilegeOwnerList("/roomCreateFee", userId); //对业主身份证号隐藏处理 String idCard = owner.getIdCard(); if (mark.size() == 0 && idCard != null && idCard != null) { idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16); owner.setIdCard(idCard); } //对业主手机号隐藏处理 String link = owner.getLink(); if (mark.size() == 0 && link != null && !link.equals("")) { link = link.substring(0, 3) + "****" + link.substring(7); owner.setLink(link); } return owner; } /** * 根据业主车辆查询业主 * * @param communityId * @param searchValue * @return */ private OwnerDto queryByOwnerCar(String communityId, String searchValue, String userId) { OwnerCarDto ownerCarDto = new OwnerCarDto(); ownerCarDto.setCommunityId(communityId); ownerCarDto.setCarNum(searchValue); List ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto); if (ownerCarDtos == null || ownerCarDtos.size() < 1) { throw new IllegalArgumentException("未查到车辆信息"); } OwnerDto owner = queryByOwnerId(communityId, ownerCarDtos.get(0).getOwnerId()); //查询是否有脱敏权限 List mark = getPrivilegeOwnerList("/roomCreateFee", userId); //对业主身份证号隐藏处理 String idCard = owner.getIdCard(); if (mark.size() == 0 && idCard != null && idCard != null) { idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16); owner.setIdCard(idCard); } //对业主手机号隐藏处理 String link = owner.getLink(); if (mark.size() == 0 && link != null && !link.equals("")) { link = link.substring(0, 3) + "****" + link.substring(7); owner.setLink(link); } return owner; } /** * 根据业主ID查询 * * @param communityId * @param searchValue * @return */ private OwnerDto queryByOwnerId(String communityId, String searchValue) { OwnerDto ownerDto = new OwnerDto(); ownerDto.setCommunityId(communityId); ownerDto.setOwnerId(searchValue); ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER); List ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto); Assert.listOnlyOne(ownerDtos, "未找到业主信息或者查询到多条,请换其他条件查询"); OwnerDto resOwnerDto = ownerDtos.get(0); OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto(); ownerRoomRelDto.setOwnerId(ownerDtos.get(0).getOwnerId()); List ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto); //没有房屋 if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) { return resOwnerDto; } List roomIds = new ArrayList<>(); for (OwnerRoomRelDto tmpOwnerRoomRelDto : ownerRoomRelDtos) { roomIds.add(tmpOwnerRoomRelDto.getRoomId()); } RoomDto roomDto = new RoomDto(); roomDto.setRoomIds(roomIds.toArray(new String[roomIds.size()])); roomDto.setCommunityId(communityId); List roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto); resOwnerDto.setRooms(roomDtos); return resOwnerDto; } /** * 根据业主身份证查询 * * @param communityId * @param searchValue * @return */ private OwnerDto queryByOwnerIdCard(String communityId, String searchValue, String userId) { OwnerDto ownerDto = new OwnerDto(); ownerDto.setCommunityId(communityId); ownerDto.setIdCard(searchValue); ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER); List ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto); Assert.listOnlyOne(ownerDtos, "未找到业主信息或者查询到多条,请换其他条件查询"); //查询是否有脱敏权限 List mark = getPrivilegeOwnerList("/roomCreateFee", userId); List ownerDtoList = new ArrayList<>(); for (OwnerDto owner : ownerDtos) { //对业主身份证号隐藏处理 String idCard = owner.getIdCard(); if (mark.size() == 0 && idCard != null && !idCard.equals("")) { idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16); } //对业主手机号隐藏处理 String link = owner.getLink(); if (mark.size() == 0 && link != null && !link.equals("")) { link = link.substring(0, 3) + "****" + link.substring(7); } owner.setIdCard(idCard); owner.setLink(link); ownerDtoList.add(owner); } OwnerDto resOwnerDto = ownerDtoList.get(0); OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto(); ownerRoomRelDto.setOwnerId(ownerDtoList.get(0).getOwnerId()); List ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto); //没有房屋 if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) { return resOwnerDto; } List roomIds = new ArrayList<>(); for (OwnerRoomRelDto tmpOwnerRoomRelDto : ownerRoomRelDtos) { roomIds.add(tmpOwnerRoomRelDto.getRoomId()); } RoomDto roomDto = new RoomDto(); roomDto.setRoomIds(roomIds.toArray(new String[roomIds.size()])); roomDto.setCommunityId(communityId); List roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto); resOwnerDto.setRooms(roomDtos); return resOwnerDto; } /** * 根据业主手机号查询 * * @param communityId * @param searchValue * @return */ private OwnerDto queryByOwnerTel(String communityId, String searchValue, String userId) { OwnerDto ownerDto = new OwnerDto(); ownerDto.setCommunityId(communityId); ownerDto.setLink(searchValue); ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER); List ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto); Assert.listOnlyOne(ownerDtos, "未找到业主信息或者查询到多条,请换其他条件查询"); //查询是否有脱敏权限 List mark = getPrivilegeOwnerList("/roomCreateFee", userId); List ownerDtoList = new ArrayList<>(); for (OwnerDto owner : ownerDtos) { //对业主身份证号隐藏处理 String idCard = owner.getIdCard(); if (mark.size() == 0 && idCard != null && !idCard.equals("")) { idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16); } //对业主手机号隐藏处理 String link = owner.getLink(); if (mark.size() == 0 && link != null && !link.equals("")) { link = link.substring(0, 3) + "****" + link.substring(7); } owner.setIdCard(idCard); owner.setLink(link); ownerDtoList.add(owner); } OwnerDto resOwnerDto = ownerDtoList.get(0); OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto(); ownerRoomRelDto.setOwnerId(ownerDtoList.get(0).getOwnerId()); List ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto); //没有房屋 if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) { return resOwnerDto; } List roomIds = new ArrayList<>(); for (OwnerRoomRelDto tmpOwnerRoomRelDto : ownerRoomRelDtos) { roomIds.add(tmpOwnerRoomRelDto.getRoomId()); } RoomDto roomDto = new RoomDto(); roomDto.setRoomIds(roomIds.toArray(new String[roomIds.size()])); roomDto.setCommunityId(communityId); List roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto); resOwnerDto.setRooms(roomDtos); return resOwnerDto; } /** * 根据业主名称 查询 * * @param communityId * @param searchValue * @return */ private OwnerDto queryByOwnerName(String communityId, String searchValue, String userId) { OwnerDto ownerDto = new OwnerDto(); ownerDto.setCommunityId(communityId); ownerDto.setName(searchValue); ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER); List ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto); Assert.listOnlyOne(ownerDtos, "未找到业主信息或者查询到多条,请换其他条件查询"); //查询是否有脱敏权限 List mark = getPrivilegeOwnerList("/roomCreateFee", userId); List ownerDtoList = new ArrayList<>(); for (OwnerDto owner : ownerDtos) { //对业主身份证号隐藏处理 String idCard = owner.getIdCard(); if (mark.size() == 0 && idCard != null && !idCard.equals("")) { idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16); } //对业主手机号隐藏处理 String link = owner.getLink(); if (mark.size() == 0 && link != null && !link.equals("")) { link = link.substring(0, 3) + "****" + link.substring(7); } owner.setIdCard(idCard); owner.setLink(link); ownerDtoList.add(owner); } OwnerDto resOwnerDto = ownerDtoList.get(0); OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto(); ownerRoomRelDto.setOwnerId(ownerDtoList.get(0).getOwnerId()); List ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto); //没有房屋 if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) { return resOwnerDto; } List roomIds = new ArrayList<>(); for (OwnerRoomRelDto tmpOwnerRoomRelDto : ownerRoomRelDtos) { roomIds.add(tmpOwnerRoomRelDto.getRoomId()); } RoomDto roomDto = new RoomDto(); roomDto.setRoomIds(roomIds.toArray(new String[roomIds.size()])); roomDto.setCommunityId(communityId); List roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto); resOwnerDto.setRooms(roomDtos); return resOwnerDto; } /** * 根据房屋查询 * * @param communityId * @param searchValue * @return */ private OwnerDto queryByShops(String communityId, String searchValue, String userId) { if (!searchValue.contains("-")) { throw new IllegalArgumentException("查询内容格式错误,请输入 楼栋-商铺 如 1-1"); } String[] values = searchValue.split("-", 3); if (values.length != 2) { throw new IllegalArgumentException("查询内容格式错误,请输入 楼栋-商铺 如 1-1"); } RoomDto roomDto = new RoomDto(); roomDto.setFloorNum(values[0]); roomDto.setUnitNum("0"); roomDto.setRoomNum(values[1]); roomDto.setCommunityId(communityId); List roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto); Assert.listOnlyOne(roomDtos, "未找到房屋信息"); OwnerDto ownerDto = new OwnerDto(); ownerDto.setCommunityId(communityId); ownerDto.setRoomId(roomDtos.get(0).getRoomId()); ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER); List ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto); Assert.listOnlyOne(ownerDtos, "未找到业主信息"); //查询是否有脱敏权限 List mark = getPrivilegeOwnerList("/roomCreateFee", userId); List ownerDtoList = new ArrayList<>(); for (OwnerDto owner : ownerDtos) { //对业主身份证号隐藏处理 String idCard = owner.getIdCard(); if (mark.size() == 0 && idCard != null && !idCard.equals("")) { idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16); } //对业主手机号隐藏处理 String link = owner.getLink(); if (mark.size() == 0 && link != null && !link.equals("")) { link = link.substring(0, 3) + "****" + link.substring(7); } owner.setIdCard(idCard); owner.setLink(link); ownerDtoList.add(owner); } OwnerDto resOwnerDto = ownerDtoList.get(0); resOwnerDto.setRooms(roomDtos); return resOwnerDto; } /** * 根据房屋查询 * * @param communityId * @param searchValue * @return */ private OwnerDto queryByRoom(String communityId, String searchValue, String userId) { if (!searchValue.contains("-")) { throw new IllegalArgumentException("查询内容格式错误,请输入 楼栋-单元-房屋 如 1-1-1"); } String[] values = searchValue.split("-", 3); if (values.length != 3) { throw new IllegalArgumentException("查询内容格式错误,请输入 楼栋-单元-房屋 如 1-1-1"); } RoomDto roomDto = new RoomDto(); roomDto.setFloorNum(values[0]); roomDto.setUnitNum(values[1]); roomDto.setRoomNum(values[2]); roomDto.setCommunityId(communityId); List roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto); //Assert.listOnlyOne(roomDtos, "未找到房屋信息"); if (roomDtos == null || roomDtos.size() < 1) { throw new IllegalArgumentException("未找到房屋信息"); } OwnerDto ownerDto = new OwnerDto(); ownerDto.setCommunityId(communityId); ownerDto.setRoomId(roomDtos.get(0).getRoomId()); ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER); List ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto); //Assert.listOnlyOne(ownerDtos, "未找到业主信息"); if (ownerDtos == null || ownerDtos.size() < 1) { throw new IllegalArgumentException("未找到业主信息"); } //查询是否有脱敏权限 List mark = getPrivilegeOwnerList("/roomCreateFee", userId); List ownerDtoList = new ArrayList<>(); for (OwnerDto owner : ownerDtos) { //对业主身份证号隐藏处理 String idCard = owner.getIdCard(); if (mark.size() == 0 && idCard != null && idCard.length() >= 16) { idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16); } //对业主手机号隐藏处理 String link = owner.getLink(); if (mark.size() == 0 && link != null && link.length() == 11) { link = link.substring(0, 3) + "****" + link.substring(7); } owner.setIdCard(idCard); owner.setLink(link); ownerDtoList.add(owner); } OwnerDto resOwnerDto = ownerDtoList.get(0); resOwnerDto.setRooms(roomDtos); return resOwnerDto; } /** * 根据合同查询 * * @param communityId * @param searchValue * @return */ private OwnerDto queryByContract(String communityId, String searchValue, String userId, String storeId) { ContractDto contractDto = new ContractDto(); contractDto.setContractCode(searchValue); contractDto.setStoreId(storeId); List contractDtos = contractInnerServiceSMOImpl.queryContracts(contractDto); Assert.listOnlyOne(contractDtos, "未找到合同信息"); OwnerDto ownerDto = new OwnerDto(); ownerDto.setCommunityId(communityId); ownerDto.setMemberId(contractDtos.get(0).getObjId()); ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER); List ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto); Assert.listOnlyOne(ownerDtos, "未找到业主信息或者查询到多条,请换其他条件查询"); //查询是否有脱敏权限 List mark = getPrivilegeOwnerList("/roomCreateFee", userId); List ownerDtoList = new ArrayList<>(); for (OwnerDto owner : ownerDtos) { //对业主身份证号隐藏处理 String idCard = owner.getIdCard(); if (mark.size() == 0 && idCard != null && !idCard.equals("")) { idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16); } //对业主手机号隐藏处理 String link = owner.getLink(); if (mark.size() == 0 && link != null && !link.equals("")) { link = link.substring(0, 3) + "****" + link.substring(7); } owner.setIdCard(idCard); owner.setLink(link); ownerDtoList.add(owner); } OwnerDto resOwnerDto = ownerDtoList.get(0); OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto(); ownerRoomRelDto.setOwnerId(ownerDtoList.get(0).getOwnerId()); List ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto); //没有房屋 if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) { return resOwnerDto; } List roomIds = new ArrayList<>(); for (OwnerRoomRelDto tmpOwnerRoomRelDto : ownerRoomRelDtos) { roomIds.add(tmpOwnerRoomRelDto.getRoomId()); } RoomDto roomDto = new RoomDto(); roomDto.setRoomIds(roomIds.toArray(new String[roomIds.size()])); roomDto.setCommunityId(communityId); List roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto); resOwnerDto.setRooms(roomDtos); return resOwnerDto; } /** * 脱敏处理 * * @return */ public List getPrivilegeOwnerList(String resource, String userId) { BasePrivilegeDto basePrivilegeDto = new BasePrivilegeDto(); basePrivilegeDto.setResource(resource); basePrivilegeDto.setUserId(userId); List privileges = menuInnerServiceSMOImpl.checkUserHasResource(basePrivilegeDto); return privileges; } }