| | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | import java.util.stream.Stream; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | ZInfoUser zInfoUser = new ZInfoUser(); |
| | | BeanUtils.copyProperties(genealogy, zInfoUser); |
| | | LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>(); |
| | | 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()); |
| | | // lqw.eq(zInfoUser.getSex() != null, ZInfoUser::getSex, zInfoUser.getSex()); |
| | | // lqw.like(StringUtils.isNotEmpty(zInfoUser.getNickName()), ZInfoUser::getNickName, zInfoUser.getNickName()); |
| | | // lqw.between(zInfoUser.getHappenStartTime() != null && zInfoUser.getHappenEndTime() != null, ZInfoUser::getBirth, zInfoUser.getHappenStartTime(),zInfoUser.getHappenEndTime()); |
| | | lqw.eq(zInfoUser.getClanId()!=null, ZInfoUser::getClanId,zInfoUser.getClanId()); |
| | | List<ZInfoUser> allPeopleList = list(lqw); |
| | | // System.out.println(allPeopleList); |
| | |
| | | |
| | | // List<ZInfoUser> allPeopleList = list(); |
| | | List<ZInfoUser> result = null; |
| | | // if (depth != null){ |
| | | try { |
| | | result = allPeopleList.stream().filter(people -> people.getUserId() != 1 && ((people.getFatherId()!=null&&people.getFatherId() == 0) || (people.getMomId()!=null&&people.getMomId() == 0))) |
| | | .map(people -> { |
| | |
| | | } |
| | | return people; |
| | | }).collect(Collectors.toList()); |
| | | // |
| | | } catch (NullPointerException e) { |
| | | throw new RuntimeException("您在加入成员的时候没有指定该成员的父亲或者母亲"); |
| | | } |
| | |
| | | spouseInfo.setSpouseName(zInfoUser.getNickName()); |
| | | newGenealogy.setSpouseName(spouse.getNickName()); |
| | | } |
| | | System.out.println(newGenealogy); |
| | | return newGenealogy; |
| | | } |
| | | ).collect(Collectors.toList()); |
| | | // System.out.println(allData); |
| | | // System.out.println("999999999988888888888++++++++++++++++++++++"); |
| | | List<Genealogy> collect = allData.stream() |
| | | .distinct() |
| | | .filter((data)-> data.getIsMyFamily() == 1) |
| | |
| | | // |
| | | // |
| | | //对result做一个条件筛选 |
| | | Iterator<Genealogy> it = resultData.iterator(); |
| | | while(it.hasNext()){ |
| | | Genealogy data = it.next(); |
| | | Iterator<Genealogy> it = resultData.iterator(); //迭代器 从null开始 |
| | | while(it.hasNext()){ //判断下一个指针指向元素是否为空 |
| | | Genealogy data = it.next(); //跳到下一个元素 |
| | | |
| | | if(genealogy.getIdentity()!=null){ |
| | | if(data.getIdentity()!=genealogy.getIdentity()){ |
| | |
| | | } |
| | | |
| | | if(genealogy.getBirth()!=null){ |
| | | if(data.getBirth().compareTo(genealogy.getBirth())!=0){ |
| | | if(data.getBirth().compareTo(genealogy.getBirth())!=0){ //比较 |
| | | it.remove(); |
| | | continue; |
| | | } |
| | | } |
| | | if(genealogy.getHappenEndTime() != null && genealogy.getHappenStartTime() != null ){ |
| | | if (data.getBirth() == null) {it.remove(); continue;} |
| | | if(data.getBirth().before(genealogy.getHappenStartTime()) || data.getBirth().after(genealogy.getHappenEndTime())){ |
| | | it.remove(); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | // layer = layer + 1; |
| | | // System.out.println(depth); |
| | | |
| | | List<ZInfoUser> collect = allPeopleList.stream().filter( |
| | | one -> Objects.equals(one.getFatherId(), people.getUserId()) || Objects.equals(one.getMomId(),people.getUserId()) |
| | | ).map( |