From df78e9074d62a146d68752d65a65baf8d6efa66f Mon Sep 17 00:00:00 2001 From: whywhyo <1511349576@qq.com> Date: 星期一, 21 八月 2023 22:59:57 +0800 Subject: [PATCH] 652487 --- zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java | 328 +++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 248 insertions(+), 80 deletions(-) diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java index 514ecb0..b4c060e 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java @@ -30,6 +30,7 @@ import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; +import java.util.stream.Stream; /** * <p> @@ -60,7 +61,7 @@ LambdaQueryWrapper<ZInfoUser> lqw = buildCondition(zInfoUser); - Page<ZInfoUser> zInfoUserPage = new Page<>(pageNum,pageSize); + Page<ZInfoUser> zInfoUserPage = new Page<>(pageNum, pageSize); Page<ZInfoUser> pageResult = page(zInfoUserPage, lqw); HashMap<String, Object> data = MapUtils.getResult(pageResult); @@ -71,23 +72,23 @@ private LambdaQueryWrapper<ZInfoUser> buildCondition(ZInfoUser zInfoUser) { LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>(); - lqw.eq(zInfoUser.getUserId()!=null,ZInfoUser::getUserId,zInfoUser.getUserId()); - lqw.like(StringUtils.isNotEmpty(zInfoUser.getAlwaysAddress()),ZInfoUser::getAlwaysAddress,zInfoUser.getAlwaysAddress()); - lqw.like(StringUtils.isNotEmpty(zInfoUser.getAlwaysPolice()),ZInfoUser::getAlwaysPolice,zInfoUser.getAlwaysPolice()); - lqw.like(StringUtils.isNotEmpty(zInfoUser.getIdNum()),ZInfoUser::getIdNum,zInfoUser.getIdNum()); - lqw.like(StringUtils.isNotEmpty(zInfoUser.getLocationAddress()),ZInfoUser::getLocationAddress,zInfoUser.getLocationAddress()); - lqw.like(StringUtils.isNotEmpty(zInfoUser.getLocationPolice()),ZInfoUser::getLocationPolice,zInfoUser.getLocationPolice()); - lqw.like(StringUtils.isNotEmpty(zInfoUser.getNation()),ZInfoUser::getNation,zInfoUser.getNation()); - lqw.like(StringUtils.isNotEmpty(zInfoUser.getNationality()),ZInfoUser::getNationality,zInfoUser.getNationality()); - lqw.like(StringUtils.isNotEmpty(zInfoUser.getNickName()),ZInfoUser::getNickName,zInfoUser.getNickName()); - lqw.like(StringUtils.isNotEmpty(zInfoUser.getOldName()),ZInfoUser::getOldName,zInfoUser.getOldName()); - lqw.like(StringUtils.isNotEmpty(zInfoUser.getPhoneNumber()),ZInfoUser::getPhoneNumber,zInfoUser.getPhoneNumber()); - lqw.like(StringUtils.isNotEmpty(zInfoUser.getPoliticalOutlook()),ZInfoUser::getPoliticalOutlook,zInfoUser.getPoliticalOutlook()); - lqw.like(StringUtils.isNotEmpty(zInfoUser.getPosition()),ZInfoUser::getPosition,zInfoUser.getPosition()); - lqw.like(StringUtils.isNotEmpty(zInfoUser.getUnit()),ZInfoUser::getUnit,zInfoUser.getUnit()); - lqw.like(zInfoUser.getSex()!=null,ZInfoUser::getSex,zInfoUser.getSex()); - lqw.like(zInfoUser.getMaritalStatus()!=null,ZInfoUser::getMaritalStatus,zInfoUser.getMaritalStatus()); - lqw.like(zInfoUser.getBirth()!=null,ZInfoUser::getBirth,zInfoUser.getBirth()); + lqw.eq(zInfoUser.getUserId() != null, ZInfoUser::getUserId, zInfoUser.getUserId()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getAlwaysAddress()), ZInfoUser::getAlwaysAddress, zInfoUser.getAlwaysAddress()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getAlwaysPolice()), ZInfoUser::getAlwaysPolice, zInfoUser.getAlwaysPolice()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getIdNum()), ZInfoUser::getIdNum, zInfoUser.getIdNum()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getLocationAddress()), ZInfoUser::getLocationAddress, zInfoUser.getLocationAddress()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getLocationPolice()), ZInfoUser::getLocationPolice, zInfoUser.getLocationPolice()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getNation()), ZInfoUser::getNation, zInfoUser.getNation()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getNationality()), ZInfoUser::getNationality, zInfoUser.getNationality()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getNickName()), ZInfoUser::getNickName, zInfoUser.getNickName()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getOldName()), ZInfoUser::getOldName, zInfoUser.getOldName()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getPhoneNumber()), ZInfoUser::getPhoneNumber, zInfoUser.getPhoneNumber()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getPoliticalOutlook()), ZInfoUser::getPoliticalOutlook, zInfoUser.getPoliticalOutlook()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getPosition()), ZInfoUser::getPosition, zInfoUser.getPosition()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getUnit()), ZInfoUser::getUnit, zInfoUser.getUnit()); + lqw.like(zInfoUser.getSex() != null, ZInfoUser::getSex, zInfoUser.getSex()); + lqw.like(zInfoUser.getMaritalStatus() != null, ZInfoUser::getMaritalStatus, zInfoUser.getMaritalStatus()); + lqw.like(zInfoUser.getBirth() != null, ZInfoUser::getBirth, zInfoUser.getBirth()); return lqw; } @@ -96,7 +97,7 @@ public List<ZInfoUser> selectByCondition(ZInfoUser zInfoUser) { LambdaQueryWrapper<ZInfoUser> lambdaQueryWrapper = buildCondition(zInfoUser); List<ZInfoUser> list = list(lambdaQueryWrapper); - log.info("杩斿洖鐨勬暟鎹负:{}",list); + log.info("杩斿洖鐨勬暟鎹负:{}", list); return list; } @@ -108,7 +109,7 @@ Long userId = user.getUserId(); LambdaQueryWrapper<ZfRelation> lqw = new LambdaQueryWrapper<>(); - lqw.eq(ZfRelation::getMyId,userId); + lqw.eq(ZfRelation::getMyId, userId); List<ZfRelation> list = zfRelationService.list(lqw); return AjaxResult.success(list); @@ -137,10 +138,10 @@ return AjaxResult.success(); } - @Override - public AjaxResult empower(EmpowerDto empowerDto) { - return null; - } +// @Override +// public AjaxResult empower(EmpowerDto empowerDto) { +// return null; +// } // /** // * 缁欑敤鎴锋巿鏉冪殑鏂规硶 @@ -228,24 +229,24 @@ // } - private void checkAuthorization(String familyId, String destinationFamilyId,boolean flag) { - String text=null; - if(flag){ - text="鎺堟潈"; - }else { - text="鍙栨秷鎺堟潈"; + private void checkAuthorization(String familyId, String destinationFamilyId, boolean flag) { + String text = null; + if (flag) { + text = "鎺堟潈"; + } else { + text = "鍙栨秷鎺堟潈"; } //瀵规湰浜虹殑瀹跺涵鍙疯繘琛屽鐞� - if(familyId.contains(",")){ + if (familyId.contains(",")) { String[] familyIds = familyId.split(","); List<String> idList = Arrays.asList(familyIds); if (!idList.contains(destinationFamilyId)) { - throw new RuntimeException("涓嶈兘"+text+"涓嶅睘浜庤嚜宸卞搴殑鏁版嵁"); + throw new RuntimeException("涓嶈兘" + text + "涓嶅睘浜庤嚜宸卞搴殑鏁版嵁"); } - }else { - if (!familyId.equals(destinationFamilyId)){ - throw new RuntimeException("涓嶈兘"+text+"涓嶅睘浜庤嚜宸卞搴殑鏁版嵁"); + } else { + if (!familyId.equals(destinationFamilyId)) { + throw new RuntimeException("涓嶈兘" + text + "涓嶅睘浜庤嚜宸卞搴殑鏁版嵁"); } } } @@ -255,7 +256,7 @@ SysUser user = SecurityUtils.getLoginUser().getUser(); Long myUserId = user.getUserId(); LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>(); - lqw.eq(ZInfoUser::getUserId,myUserId); + lqw.eq(ZInfoUser::getUserId, myUserId); ZInfoUser zInfoUser = getOne(lqw); Long familyId = zInfoUser.getFamilyId(); return familyId; @@ -263,13 +264,14 @@ private String getFinalStr(String destinationFamilyId, List<String> authorityList) { String authorityListStr = authorityList.stream().collect(Collectors.joining(" ", "{", "}")); - String finalStr= destinationFamilyId +authorityListStr; //3{2007 1988 1004} + String finalStr = destinationFamilyId + authorityListStr; //3{2007 1988 1004} return finalStr; } /** * 鑾峰彇瀹舵牴缃� + * * @return */ @Override @@ -294,16 +296,20 @@ // } catch (NullPointerException e) { // throw new RuntimeException("鎮ㄥ湪鍔犲叆鎴愬憳鐨勬椂鍊欐病鏈夋寚瀹氳鎴愬憳鐨勭埗浜叉垨鑰呮瘝浜�"); // } - result = allPeopleList.stream().filter(people -> people.getUserId()!=1&&(people.getFatherId() == 0||people.getMomId()==0)&&people.getIsMyFamily()==1) + + List<ZInfoUser> myFamilyPeopleList = allPeopleList.stream().filter(people -> people.getUserId() != 1 && people.getIsMyFamily() == 1).collect(Collectors.toList()); + + + result = allPeopleList.stream().filter(people -> people.getUserId() != 1 && (people.getFatherId() == 0 || people.getMomId() == 0) && people.getIsMyFamily() == 1) .map(people -> { - if(depth>1){ + if (depth > 1) { people.setIdentity(1); //鏍规嵁閰嶅伓id鏌ヨ閰嶅伓鐨勬暟鎹紝灏佽濂戒竴璧疯繑鍥� Long spouseId = people.getSpouseId(); ZInfoUser spouse = zInfoUserService.getById(spouseId); spouse.setIdentity(1); people.setSpouse(spouse); - people.setChildList(fillChildren(people, allPeopleList, depth-1)); + people.setChildList(fillChildren(people, myFamilyPeopleList, depth - 1)); } return people; }).collect(Collectors.toList()); @@ -315,32 +321,62 @@ /** * 鏉′欢鑾峰彇瀹跺涵鎴愬憳 + * * @return */ - public AjaxResult listWithTreeByCondition(Integer depth,Genealogy genealogy) { + public AjaxResult listWithTreeByCondition(Integer depth, Genealogy genealogy) { ZInfoUser zInfoUser = new ZInfoUser(); - BeanUtils.copyProperties(genealogy,zInfoUser); + BeanUtils.copyProperties(genealogy, zInfoUser); LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>(); - lqw.eq(zInfoUser.getIdentity()!=null,ZInfoUser::getIdentity,zInfoUser.getIdentity()); - lqw.eq(zInfoUser.getSex()!=null,ZInfoUser::getSex,zInfoUser.getSex()); - lqw.like(StringUtils.isNotEmpty(zInfoUser.getNickName()),ZInfoUser::getNickName,zInfoUser.getNickName()); - lqw.eq(zInfoUser.getBirth()!=null,ZInfoUser::getBirth,zInfoUser.getBirth()); + lqw.eq(zInfoUser.getSex() != null, ZInfoUser::getSex, zInfoUser.getSex()); + lqw.like(StringUtils.isNotEmpty(zInfoUser.getNickName()), ZInfoUser::getNickName, zInfoUser.getNickName()); +// lqw.between(zInfoUser.getBirth() != null, ZInfoUser::getBirth, zInfoUser.getBirth(),zInfoUser.getBirth()); List<ZInfoUser> allPeopleList = list(lqw); +// List<ZInfoUser> allPeopleList = list(); List<ZInfoUser> result = null; try { - result = allPeopleList.stream().filter(people -> people.getUserId()!=1&&(people.getFatherId() == 0||people.getMomId()==0)) + result = allPeopleList.stream().filter(people -> people.getUserId() != 1 && (people.getFatherId() == 0 || people.getMomId() == 0)) .map(people -> { - if(depth>1){ + if (depth > 1) { people.setIdentity(1); - people.setChildList(fillChildren(people, allPeopleList, depth-1)); + people.setChildList(fillChildren2(people, allPeopleList, depth - 1)); } return people; }).collect(Collectors.toList()); } catch (NullPointerException e) { throw new RuntimeException("鎮ㄥ湪鍔犲叆鎴愬憳鐨勬椂鍊欐病鏈夋寚瀹氳鎴愬憳鐨勭埗浜叉垨鑰呮瘝浜�"); } + + +// result.stream().map( +// data->{ +// if(genealogy.getIdentity()!=null){ +// if(data.getIdentity()!=genealogy.getIdentity()){ +// result.remove(data); +// } +// } +// +// if(genealogy.getNickName()!=null){ +// +// } +// +// if(genealogy.getSex()!=null){ +// +// } +// +// if(genealogy.getBirth()!=null){ +// +// } +// } +// ) + + +// if(genealogy.getIdentity()!=null){ +// result = result.stream().filter(data -> data.getIdentity() == genealogy.getIdentity()).collect(Collectors.toList()); +// } + return AjaxResult.success(result); } @@ -349,12 +385,13 @@ /** * 瀹惰氨淇℃伅 + * * @param genealogy * @return */ @Override - public AjaxResult listGenealogy(Genealogy genealogy,Integer pageNum,Integer pageSize) { - List<ZInfoUser> treeList= (List<ZInfoUser>) listWithTreeByCondition(100,genealogy).get("data"); + public AjaxResult listGenealogy(Genealogy genealogy, Integer pageNum, Integer pageSize) { + List<ZInfoUser> treeList = (List<ZInfoUser>) listWithTreeByCondition(100, genealogy).get("data"); recursionFindUser(treeList); List<Genealogy> allData = userList.stream().map( @@ -362,7 +399,7 @@ Genealogy newGenealogy = new Genealogy(); BeanUtils.copyProperties(zInfoUser, newGenealogy); - if(zInfoUser.getSpouseId()!=null){ + if (zInfoUser.getSpouseId() != null) { ZInfoUser spouse = getById(zInfoUser.getSpouseId()); newGenealogy.setSpouseName(spouse.getNickName()); } @@ -371,20 +408,87 @@ ).collect(Collectors.toList()); List<Genealogy> collect = allData.stream().distinct().sorted(Comparator.comparing(Genealogy::getIdentity)).collect(Collectors.toList()); - List<Genealogy> resultData= new ArrayList<>(); + List<Genealogy> resultData = new ArrayList<>(); - for (int i = (pageNum-1)*pageSize; i <pageNum*pageSize+pageSize; i++) { - if(i>=collect.size()){ + for (int i = (pageNum - 1) * pageSize; i < pageNum * pageSize + pageSize; i++) { + if (i >= collect.size()) { break; } resultData.add(collect.get(i)); } + + //瀵箁esult鍋氫竴涓潯浠剁瓫閫� + Iterator<Genealogy> it = resultData.iterator(); + while(it.hasNext()){ + Genealogy data = it.next(); + + if(genealogy.getIdentity()!=null){ + if(data.getIdentity()!=genealogy.getIdentity()){ + it.remove(); + continue; + } + } + + if(genealogy.getNickName()!=null){ + if(!data.getNickName().contains(genealogy.getNickName())){ + it.remove(); + continue; + } + } + + if(genealogy.getSex()!=null){ + if(data.getSex()!=genealogy.getSex()){ + it.remove(); + continue; + } + } + + if(genealogy.getBirth()!=null){ + if(data.getBirth().compareTo(genealogy.getBirth())!=0){ + it.remove(); + continue; + } + } + } + + System.out.println(resultData); + + + +// for (Genealogy data : resultData) { +// +// if(genealogy.getIdentity()!=null){ +// if(data.getIdentity()!=genealogy.getIdentity()){ +// resultData.remove(data); +// } +// } +// +// if(genealogy.getNickName()!=null){ +// if(!data.getNickName().contains(genealogy.getNickName())){ +// resultData.remove(data); +// } +// } +// +// if(genealogy.getSex()!=null){ +// if(data.getSex()!=genealogy.getSex()){ +// resultData.remove(data); +// } +// } +// +// if(genealogy.getBirth()!=null){ +// if(data.getBirth()!=genealogy.getBirth()){ +// resultData.remove(data); +// } +// } +// +// } + HashMap<String, Object> resultMap = new HashMap<>(); - resultMap.put("data",resultData); - resultMap.put("total",collect.size()); - resultMap.put("pageNum",pageNum); - resultMap.put("pageSize",pageSize); + resultMap.put("data", resultData); + resultMap.put("total", resultData.size()); + resultMap.put("pageNum", pageNum); + resultMap.put("pageSize", pageSize); return AjaxResult.success(resultMap); } @@ -395,15 +499,15 @@ ArrayList<Genealogy> result = new ArrayList<>(); for (ZInfoUser zInfoUser : zInfoUsers) { Genealogy genealogy = new Genealogy(); - BeanUtils.copyProperties(zInfoUser,genealogy); - if(zInfoUser.getSpouseId()!=null){ + BeanUtils.copyProperties(zInfoUser, genealogy); + if (zInfoUser.getSpouseId() != null) { ZInfoUser spouse = getById(zInfoUser.getSpouseId()); genealogy.setSpouseName(spouse.getNickName()); } result.add(genealogy); } - System.out.println("瀵煎嚭鐨勬暟鎹负:"+result); + System.out.println("瀵煎嚭鐨勬暟鎹负:" + result); return result; } @@ -419,16 +523,16 @@ ArrayList<Genealogy> result = new ArrayList<>(); for (int i = 0; i < zInfoUsers.size(); i++) { Genealogy genealogy = new Genealogy(); - BeanUtils.copyProperties(zInfoUsers.get(i),genealogy); + BeanUtils.copyProperties(zInfoUsers.get(i), genealogy); genealogy.setIdentity(params.get(i).getIdentity()); - if(zInfoUsers.get(i).getSpouseId()!=null){ + if (zInfoUsers.get(i).getSpouseId() != null) { ZInfoUser spouse = getById(zInfoUsers.get(i).getSpouseId()); genealogy.setSpouseName(spouse.getNickName()); } result.add(genealogy); } - System.out.println("瀵煎嚭鐨勬暟鎹负:"+result); + System.out.println("瀵煎嚭鐨勬暟鎹负:" + result); return result; @@ -483,14 +587,20 @@ return getById(userId); } + @Override + public AjaxResult listGenealogy2(Genealogy genealogy, Integer pageNum, Integer pageSize) { - private void recursionFindUser(List<ZInfoUser> treeList){ - if (treeList==null||treeList.isEmpty()){ + return null; + } + + + private void recursionFindUser(List<ZInfoUser> treeList) { + if (treeList == null || treeList.isEmpty()) { return; } for (ZInfoUser zInfoUser : treeList) { userList.add(zInfoUser); - if (!zInfoUser.getChildList().isEmpty()){ + if (!zInfoUser.getChildList().isEmpty()) { recursionFindUser(zInfoUser.getChildList()); } } @@ -498,6 +608,7 @@ /** * 涓轰簡瀹舵牴缃戙�佹柊澧炴垨鑰呬慨鏀圭埗瀛愬叧绯� + * * @param fatherId * @param motherId * @return @@ -507,7 +618,7 @@ SysUser user = SecurityUtils.getLoginUser().getUser(); Long userId = user.getUserId(); LambdaQueryWrapper<ZInfoUser> zInfoUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); - zInfoUserLambdaQueryWrapper.eq(ZInfoUser::getUserId,userId); + zInfoUserLambdaQueryWrapper.eq(ZInfoUser::getUserId, userId); ZInfoUser zInfoUser = getOne(zInfoUserLambdaQueryWrapper); zInfoUser.setFatherId(fatherId); @@ -527,12 +638,12 @@ @Override public AjaxResult listMySelfAndSpouse(Long id) { LambdaQueryWrapper<ZInfoUser> lqw1 = new LambdaQueryWrapper<>(); - lqw1.eq(ZInfoUser::getUserId,id); + lqw1.eq(ZInfoUser::getUserId, id); ZInfoUser myself = getOne(lqw1); Long spouseId = myself.getSpouseId(); LambdaQueryWrapper<ZInfoUser> lqw2 = new LambdaQueryWrapper<>(); - lqw2.eq(ZInfoUser::getUserId,spouseId); + lqw2.eq(ZInfoUser::getUserId, spouseId); ZInfoUser spouse = getOne(lqw2); ArrayList<ZInfoUser> zInfoUsers = new ArrayList<>(); @@ -543,9 +654,9 @@ } - /** * 閫掑綊绠楁硶 + * * @param people * @param allPeopleList * @return @@ -553,23 +664,37 @@ private List<ZInfoUser> fillChildren(ZInfoUser people, List<ZInfoUser> allPeopleList, Integer depth) { // TODO: 2023-05-05 鎺у埗閫掑綊鐨勬鏁� - // if(depth==layer) + // if(depth==layer) - // layer = layer + 1; + // layer = layer + 1; System.out.println(depth); + +// List<ZInfoUser> myFamilyPeopleList = allPeopleList.stream().filter( +// one -> (one.getFatherId() == people.getUserId() || one.getMomId() == people.getUserId()) && (people.getIsMyFamily() == 1) +// ).collect(Collectors.toList()); + List<ZInfoUser> collect = allPeopleList.stream().filter( one -> (one.getFatherId() == people.getUserId() || one.getMomId() == people.getUserId()) && (people.getIsMyFamily() == 1) ).map( one -> { - if(depth==1) - return one; - else { - one.setIdentity(people.getIdentity()+1); + if (depth == 1) { + one.setIdentity(people.getIdentity() + 1); //鏍规嵁閰嶅伓id鏌ヨ閰嶅伓鐨勬暟鎹紝灏佽濂戒竴璧疯繑鍥� Long spouseId = one.getSpouseId(); - if(spouseId!=null){ + if (spouseId != null) { ZInfoUser spouse = zInfoUserService.getById(spouseId); - spouse.setIdentity(people.getIdentity()+1); + spouse.setIdentity(people.getIdentity() + 1); + one.setSpouse(spouse); + } + return one; + } + else { + one.setIdentity(people.getIdentity() + 1); + //鏍规嵁閰嶅伓id鏌ヨ閰嶅伓鐨勬暟鎹紝灏佽濂戒竴璧疯繑鍥� + Long spouseId = one.getSpouseId(); + if (spouseId != null) { + ZInfoUser spouse = zInfoUserService.getById(spouseId); + spouse.setIdentity(people.getIdentity() + 1); one.setSpouse(spouse); } List<ZInfoUser> zinfo = fillChildren(one, allPeopleList, depth - 1); @@ -586,5 +711,48 @@ } + /** + * 閫掑綊绠楁硶瀹惰氨鐢� + * + * @param people + * @param allPeopleList + * @return + */ + private List<ZInfoUser> fillChildren2(ZInfoUser people, List<ZInfoUser> allPeopleList, Integer depth) { + + // TODO: 2023-05-05 鎺у埗閫掑綊鐨勬鏁� + // if(depth==layer) + + // layer = layer + 1; + System.out.println(depth); + List<ZInfoUser> collect = allPeopleList.stream().filter( + one -> (one.getFatherId() == people.getUserId() || one.getMomId() == people.getUserId()) + ).map( + one -> { + if (depth == 1) + return one; + else { + one.setIdentity(people.getIdentity() + 1); + //鏍规嵁閰嶅伓id鏌ヨ閰嶅伓鐨勬暟鎹紝灏佽濂戒竴璧疯繑鍥� + Long spouseId = one.getSpouseId(); + if (spouseId != null) { + ZInfoUser spouse = zInfoUserService.getById(spouseId); + spouse.setIdentity(people.getIdentity() + 1); + one.setSpouse(spouse); + } + List<ZInfoUser> zinfo = fillChildren2(one, allPeopleList, depth - 1); + one.setChildList(zinfo); + System.out.println(one); + return one; + } + + //return one; + } + ).collect(Collectors.toList()); + System.out.println(collect); + return collect; + + } + } -- Gitblit v1.9.1