feige
2024-11-20 d0850c1c55c5f709874cde1b5f292813fbd3af5e
zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java
@@ -26,7 +26,6 @@
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
 * <p>
@@ -171,7 +170,7 @@
        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.le(zInfoUser.getBirth() != null, ZInfoUser::getBirth, zInfoUser.getBirth());
        lqw.like(zInfoUser.getClanId() != null, ZInfoUser::getClanId, zInfoUser.getClanId());
        return lqw;
@@ -182,6 +181,7 @@
        LambdaQueryWrapper<ZInfoUser> lambdaQueryWrapper = buildCondition(zInfoUser);
        List<ZInfoUser> list = list(lambdaQueryWrapper);
        log.info("返回的数据为:{}", list);
        return list;
    }
@@ -447,17 +447,16 @@
        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.getHappenStartTime() != null && zInfoUser.getHappenEndTime() != null, ZInfoUser::getBirth, zInfoUser.getHappenStartTime(),zInfoUser.getHappenEndTime());
        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.getClanId()!=null, ZInfoUser::getClanId,zInfoUser.getClanId());
        List<ZInfoUser> allPeopleList = list(lqw);
//        System.out.println(allPeopleList);
//        System.out.println("============z=============zzzzzzzzzzzzzzzzzzz");
       // System.out.println(allPeopleList);
        //System.out.println("============z=============zzzzzzzzzzzzzzzzzzz");
//        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 -> {
@@ -467,7 +466,6 @@
                        }
                        return people;
                    }).collect(Collectors.toList());
//
        } catch (NullPointerException e) {
            throw new RuntimeException("您在加入成员的时候没有指定该成员的父亲或者母亲");
        }
@@ -518,8 +516,8 @@
        userList.clear();
        List<ZInfoUser> treeList = (List<ZInfoUser>) listWithTreeByCondition(100, genealogy).get("data");
        recursionFindUser(treeList);
//        System.out.println(userList);
//        System.out.println("---------------");
      //  System.out.println(userList);
       // System.out.println("---------------");
        List<Genealogy> allData = userList.stream().map(
                zInfoUser -> {
                    Genealogy newGenealogy = new Genealogy();
@@ -535,9 +533,12 @@
                        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)
@@ -551,14 +552,14 @@
            }
            resultData.add(collect.get(i));
        }
//        System.out.println(resultData);
//        System.out.println("999999999988888888888++++++++++++++++++++++");
     //   System.out.println(resultData);
      //  System.out.println("999999999988888888888++++++++++++++++++++++");
//
//
        //对result做一个条件筛选
        Iterator<Genealogy> it = resultData.iterator(); //迭代器 从null开始
        while(it.hasNext()){ //判断下一个指针指向元素是否为空
            Genealogy data = it.next(); //跳到下一个元素
        Iterator<Genealogy> it = resultData.iterator();
        while(it.hasNext()){
            Genealogy data = it.next();
            if(genealogy.getIdentity()!=null){
                if(data.getIdentity()!=genealogy.getIdentity()){
@@ -595,16 +596,10 @@
                }
            }
            if(genealogy.getBirth()!=null){
                if(data.getBirth().compareTo(genealogy.getBirth())!=0){  //比较
            if(genealogy.getBirth()!=null&&data.getBirth()!=null){
                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();
                }
            }
        }
@@ -942,7 +937,6 @@
        // 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(