From b02beccf4567068cb47a3f1181a00039456c872d Mon Sep 17 00:00:00 2001
From: zqy <2522236926@qq.com>
Date: 星期三, 06 八月 2025 15:37:20 +0800
Subject: [PATCH] 用户修改姓名和电话同步修改uaid

---
 zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java |  664 +++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 545 insertions(+), 119 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..38f984b 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
@@ -3,7 +3,6 @@
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -12,15 +11,11 @@
 import com.ruoyi.common.utils.MapUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.domain.ZInfoUser;
-import com.ruoyi.domain.ZfEvent;
-import com.ruoyi.domain.ZfRelation;
+import com.ruoyi.common.utils.uuid.UUID;
+import com.ruoyi.domain.*;
 import com.ruoyi.domain.dto.*;
 import com.ruoyi.mapper.ZInfoUserMapper;
-import com.ruoyi.service.ZInfoUserService;
-import com.ruoyi.service.ZfFamilyService;
-import com.ruoyi.service.ZfRelationService;
-import com.ruoyi.service.ZfRoleService;
+import com.ruoyi.service.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,7 +25,6 @@
 import javax.annotation.Resource;
 import java.util.*;
 import java.util.stream.Collectors;
-
 /**
  * <p>
  *  鏈嶅姟瀹炵幇绫�
@@ -52,15 +46,43 @@
     @Resource
     private ZfFamilyService zfFamilyService;
 
+
     @Resource
     private ZfRoleService zfRoleService;
+
+    @Resource
+    private ZfClanService zfClanService;
+
+
+
+    /** 浣跨浉鍚岀敤鎴峰悕+鐢佃瘽鍙风爜鐩稿悓鐨勭敤鎴峰搴旂殑uaid鍚屾*/
+    @Override
+    public void setUaidSame(String phone, String username,String uniqueId){
+        UpdateWrapper<ZInfoUser> wrapper = new UpdateWrapper<>();
+        wrapper.eq(phone!=null,"phone_number", phone)
+                .eq(username!=null,"old_name",username)
+                .set("uaid",uniqueId );
+        this.update(null, wrapper); // 鎵ц鏇存柊
+    }
+
+
+
+    @Override
+    public void setSpouseOnly(Long spouse){
+        UpdateWrapper<ZInfoUser> wrapper = new UpdateWrapper<>();
+        System.out.println("{{{{{{{{{{{{{"+spouse);
+        wrapper.eq("spouse_id", spouse)  // 浣跨敤瀛楃涓插瓧娈靛悕
+                .set("spouse_id", null);     // 鐩存帴璁剧疆瀛楁鍊�
+        this.update(null, wrapper); // 鎵ц鏇存柊
+    }
+
 
     @Override
     public AjaxResult selectInfoList(ZInfoUser zInfoUser, Integer pageNum, Integer pageSize) {
 
         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);
@@ -68,26 +90,132 @@
 
     }
 
+    @Override
+    public Boolean findByuid(Long uid, Long tfid) {
+
+
+        if(uid==null)
+            return false;
+     //   System.out.println(tfid);
+     //   System.out.println("00000000000---------------");
+        ZInfoUser infu = this.getById(tfid);
+        if(infu==null)
+            return false;
+        if(infu.getFatherId()!=null && uid.equals(infu.getFatherId()))
+            return true;
+        if(infu.getMomId()!=null && uid.equals(infu.getMomId()))
+            return true;
+        return findByuid(uid, infu.getFatherId()) || findByuid(uid, infu.getMomId());
+    }
+
+    @Override
+    public List<ZInfoUser> findByUaidToFaid(String usid) {
+        if(usid!=null) {
+            ZInfoUser zInfoUser = new ZInfoUser();
+            zInfoUser.setUaid(usid);
+            LambdaQueryWrapper<ZInfoUser> lqw = buildCondition(zInfoUser);
+            List<ZInfoUser> ls =  list(lqw);
+          //  System.out.println(ls.size()+":==========sdfs55dfsdf");
+            return ls;
+        }else {
+            return new ArrayList<>();
+        }
+    }
+
+    @Override
+    public List<ZInfoUser> selectByClanId(Integer clanId) {
+        ZInfoUser zInfoUser = new ZInfoUser();
+        zInfoUser.setClanId(clanId);
+        LambdaQueryWrapper<ZInfoUser> lqw = buildCondition(zInfoUser);
+        return list(lqw);
+    }
+
+
+//    public List<ZInfoUser> selectByNickName(String nickName){
+//        ZInfoUser zInfoUser = new ZInfoUser();
+//        zInfoUser.setNickName(nickName);
+//        LambdaQueryWrapper<ZInfoUser> lqw = buildCondition(zInfoUser);
+//        return list(lqw);
+//    }
+
+    @Override
+    public AjaxResult findUserNameAClan(List<String> nickNames)
+    {
+        List<ZfShareOther> shareOtherClans = new ArrayList<>();
+        for (String nickName:nickNames) {
+        ZInfoUser zInfoUser = new ZInfoUser();
+        zInfoUser.setNickName(nickName);
+
+        LambdaQueryWrapper<ZInfoUser> lqw = buildCondition(zInfoUser);
+        List<ZInfoUser> zInfoUsers = list(lqw);
+
+
+        for (ZInfoUser zInfoUser1: zInfoUsers) {
+            ZfShareOther shareOtherClan = new ZfShareOther();
+            shareOtherClan.setUserName(zInfoUser1.getNickName());
+            shareOtherClan.setUserId(zInfoUser1.getUserId().intValue());
+            shareOtherClan.setClanId(zInfoUser1.getClanId());
+            shareOtherClan.setClanName(zfClanService.getById(zInfoUser1.getClanId()).getClanName());
+            shareOtherClans.add(shareOtherClan);
+        }}
+        return AjaxResult.success(shareOtherClans);
+    }
+
+    @Override
+    public ZInfoUser getInfoBysysId(Long sysid) {
+        LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(ZInfoUser::getSysId, sysid);
+        List<ZInfoUser> list = list(lqw);
+        if(list.size()>0)
+            return list.get(0);
+        else
+            return null;
+    }
+
+
+    @Override
+    public List<ZInfoUser> getDataBySex(Integer sex, Integer clanId){
+        LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(ZInfoUser::getSex, sex);
+        lqw.eq(ZInfoUser::getClanId, clanId);
+        List<ZInfoUser> list = list(lqw);
+        return list;
+    }
+
+    @Override
+    public AjaxResult getInfoByfid(Long fid) {
+        LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(ZInfoUser::getFamilyId, fid);
+        lqw.eq(ZInfoUser::getIsMyFamily, 1L);
+        lqw.isNull(ZInfoUser::getSpouseId);
+        List<ZInfoUser> list = list(lqw);
+
+        return AjaxResult.success(list);
+    }
+
     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.le(zInfoUser.getBirth() != null, ZInfoUser::getBirth, zInfoUser.getBirth());
+        lqw.like(zInfoUser.getClanId() != null, ZInfoUser::getClanId, zInfoUser.getClanId());
+
+        lqw.eq(zInfoUser.getUaid() !=null, ZInfoUser::getUaid, zInfoUser.getUaid());
         return lqw;
 
     }
@@ -96,9 +224,34 @@
     public List<ZInfoUser> selectByCondition(ZInfoUser zInfoUser) {
         LambdaQueryWrapper<ZInfoUser> lambdaQueryWrapper = buildCondition(zInfoUser);
         List<ZInfoUser> list = list(lambdaQueryWrapper);
-        log.info("杩斿洖鐨勬暟鎹负:{}",list);
+        log.info("杩斿洖鐨勬暟鎹负:{}", list);
+
         return list;
 
+    }
+
+    @Override
+    public AjaxResult removeByUserName(List<String> userName) {
+        LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>();
+        lqw.in(ZInfoUser::getNickName,String.valueOf(userName.get(0)));
+        System.out.println(userName.get(0));
+        List<ZInfoUser> beanRecords = list(lqw);
+        System.out.println("555555555555555555"+beanRecords);
+        List<Long> ids = list(lqw).stream().map(ZInfoUser::getUserId).collect(Collectors.toList());;
+        removeByIds(ids);
+        return AjaxResult.success("鍒犻櫎鎴愬姛");
+    }
+
+    @Override
+    public List<ZInfoUser> selectByFamId(long fid) {
+        LambdaQueryWrapper<ZfFamily> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(ZfFamily::getId, fid);
+        ZfFamily zfFamily = zfFamilyService.list(lqw).get(0);
+        LambdaQueryWrapper<ZInfoUser> lqws = new LambdaQueryWrapper<>();
+        lqws.eq(ZInfoUser::getFatherId, zfFamily.getFid());
+      //  lqws.eq(ZInfoUser::getMomId, zfFamily.getMid());
+        List<ZInfoUser> list = list(lqws);
+        return list;
     }
 
     @Override
@@ -108,7 +261,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 +290,10 @@
         return AjaxResult.success();
     }
 
-    @Override
-    public AjaxResult empower(EmpowerDto empowerDto) {
-        return null;
-    }
+//    @Override
+//    public AjaxResult empower(EmpowerDto empowerDto) {
+//        return null;
+//    }
 
 //    /**
 //     * 缁欑敤鎴锋巿鏉冪殑鏂规硶
@@ -228,24 +381,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 +408,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,19 +416,22 @@
 
     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
-    public AjaxResult listWithTree(Integer depth) {
-
-        List<ZInfoUser> allPeopleList = list();
+    public AjaxResult listWithTree(Integer depth, Integer clanId) {
+        LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(clanId!=null, ZInfoUser::getClanId, clanId);
+     //   List<ZfEvent> list = list(lqw);
+        List<ZInfoUser> allPeopleList = list(lqw);
         List<ZInfoUser> result = null;
 //        try {
 //              result = allPeopleList.stream().filter(people -> people.getUserId()!=1&&(people.getFatherId() == 0||people.getMomId()==0))
@@ -294,53 +450,99 @@
 //        } 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!=null && people.getUserId() != 1 && ((people.getFatherId()!=null &&people.getFatherId() == 0 )|| (people.getMomId()!=null&&people.getMomId() == 0)) && people.getIsMyFamily() == 1)
                 .map(people -> {
-                    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));
+//                    System.out.println("=======================================");
+//                    System.out.println(people);
+                    if (depth > 1) {
+                        if(people!=null) {
+                            people.setIdentity(1);
+                            //鏍规嵁閰嶅伓id鏌ヨ閰嶅伓鐨勬暟鎹紝灏佽濂戒竴璧疯繑鍥�
+                            Long spouseId = people.getSpouseId();
+                            if (spouseId != null) {
+                                ZInfoUser spouse = zInfoUserService.getById(spouseId);
+                                spouse.setIdentity(1);
+                                people.setSpouse(spouse);
+                            }
+                            people.setChildList(fillChildren(people, myFamilyPeopleList, depth - 1));
+                        }
                     }
+//                    System.out.println("+++++++++++++++++++++++++++++");
+//                    System.out.println(people);
                     return people;
                 }).collect(Collectors.toList());
-
-
+//
+//System.out.println("--------------++++++++++++++++--------------");
+//System.out.println(result);
         return AjaxResult.success(result);
 
     }
 
     /**
      * 鏉′欢鑾峰彇瀹跺涵鎴愬憳
+     *
      * @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());
+        lqw.eq(zInfoUser.getClanId()!=null, ZInfoUser::getClanId,zInfoUser.getClanId());
         List<ZInfoUser> allPeopleList = list(lqw);
+       // System.out.println(allPeopleList);
+        //System.out.println("============z=============zzzzzzzzzzzzzzzzzzz");
+
+//        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()!=null&&people.getFatherId() == 0) || (people.getMomId()!=null&&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("鎮ㄥ湪鍔犲叆鎴愬憳鐨勬椂鍊欐病鏈夋寚瀹氳鎴愬憳鐨勭埗浜叉垨鑰呮瘝浜�");
         }
+
+       // System.out.println(result);
+
+//        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,42 +551,142 @@
 
     /**
      * 瀹惰氨淇℃伅
+     *
      * @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) {
+        userList.clear();
+        List<ZInfoUser> treeList = (List<ZInfoUser>) listWithTreeByCondition(100, genealogy).get("data");
         recursionFindUser(treeList);
 
-        List<Genealogy> allData = userList.stream().map(
-                zInfoUser -> {
-                    Genealogy newGenealogy = new Genealogy();
-                    BeanUtils.copyProperties(zInfoUser, newGenealogy);
+                List<Genealogy> allData = userList.stream().map(
+                        zInfoUser -> {
+                            Genealogy newGenealogy = new Genealogy();
+                            BeanUtils.copyProperties(zInfoUser, newGenealogy);
 
-                    if(zInfoUser.getSpouseId()!=null){
-                        ZInfoUser spouse = getById(zInfoUser.getSpouseId());
-                        newGenealogy.setSpouseName(spouse.getNickName());
-                    }
-                    return newGenealogy;
-                }
+                            if (zInfoUser.getSpouseId() != null) {
+                                ZInfoUser spouse = getById(zInfoUser.getSpouseId());
+
+                                Genealogy spouseInfo = new Genealogy();
+                                BeanUtils.copyProperties(spouse,spouseInfo);
+                                newGenealogy.setSpouse(spouseInfo);
+                                spouseInfo.setIdentity(newGenealogy.getIdentity());
+                                spouseInfo.setSpouseName(zInfoUser.getNickName());
+                                newGenealogy.setSpouseName(spouse.getNickName());
+                            }
+                            System.out.println(newGenealogy);
+                            return newGenealogy;
+                        }
         ).collect(Collectors.toList());
+        List<Genealogy> collect = allData.stream()
+                .distinct()
+                .filter((data)-> data.getIsMyFamily() == 1)
+                .sorted(Comparator.comparing(Genealogy::getIdentity))
+                .collect(Collectors.toList());
+        List<Genealogy> resultData = new ArrayList<>();
 
-        List<Genealogy> collect = allData.stream().distinct().sorted(Comparator.comparing(Genealogy::getIdentity)).collect(Collectors.toList());
-        List<Genealogy> resultData= new ArrayList<>();
 
-        for (int i = (pageNum-1)*pageSize; i <pageNum*pageSize+pageSize; i++) {
-            if(i>=collect.size()){
+     //   System.out.println(resultData);
+      //  System.out.println("999999999988888888888++++++++++++++++++++++");
+//
+//
+        //瀵箁esult鍋氫竴涓潯浠剁瓫閫�
+        Iterator<Genealogy> it = collect.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.getPhoneNumber()!=null){
+                if(data.getPhoneNumber()!=genealogy.getPhoneNumber()){
+                    it.remove();
+                    continue;
+                }
+            }
+
+            if(genealogy.getUnit()!=null){
+                if(data.getUnit()!=genealogy.getUnit()){
+                    it.remove();
+                    continue;
+                }
+            }
+
+            if(genealogy.getBirth()!=null){
+                if(data.getBirth()!=null) {
+                    if (data.getBirth().compareTo(genealogy.getBirth()) != 0) {
+                        it.remove();
+                    }
+                }
+                else it.remove();
+            }
+        }
+
+   //    System.out.println(resultData);
+
+      //  System.out.println("================++++++++++++++66666666666666666999999999");
+
+
+//        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);
+//                }
+//            }
+//
+//        }
+        for (int i = (pageNum - 1) * pageSize; i < pageNum * pageSize; i++) {
+            if (i >= collect.size()) {
                 break;
             }
+            System.out.println(i+"//////"+collect.get(i));
             resultData.add(collect.get(i));
         }
 
         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", collect.size());
+        resultMap.put("pageNum", pageNum);
+        resultMap.put("pageSize", pageSize);
 
         return AjaxResult.success(resultMap);
     }
@@ -395,15 +697,20 @@
         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 spouseInfo = new Genealogy();
+                BeanUtils.copyProperties(spouse,spouseInfo);
+                spouseInfo.setIdentity(genealogy.getIdentity());
+                spouseInfo.setSpouseName(zInfoUser.getNickName());
+                genealogy.setSpouse(spouseInfo);
                 genealogy.setSpouseName(spouse.getNickName());
             }
             result.add(genealogy);
         }
 
-        System.out.println("瀵煎嚭鐨勬暟鎹负:"+result);
+        System.out.println("瀵煎嚭鐨勬暟鎹负:" + result);
         return result;
 
     }
@@ -419,16 +726,22 @@
         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 spouseInfo = new Genealogy();
+                BeanUtils.copyProperties(spouse,spouseInfo);
+                spouseInfo.setIdentity(genealogy.getIdentity());
                 genealogy.setSpouseName(spouse.getNickName());
+                spouseInfo.setSpouseName(zInfoUsers.get(i).getNickName());
+                genealogy.setSpouse(spouseInfo);
+
             }
             result.add(genealogy);
 
         }
-        System.out.println("瀵煎嚭鐨勬暟鎹负:"+result);
+        System.out.println("瀵煎嚭鐨勬暟鎹负:" + result);
         return result;
 
 
@@ -436,11 +749,26 @@
 
     @Override
     public ZInfoUser getInfoById(Long userId) {
-        ZInfoUser user = getById(userId);
+        ZInfoUser user = getInfoBysysId(userId);
+
+        if(user==null) {
+            //鍒╃敤userId鏌ヨ
+            LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>();
+            lqw.eq(ZInfoUser::getUserId, userId);
+            List<ZInfoUser> list = list(lqw);
+            if(list.size()>0)
+                user = list.get(0);
+            else
+                return null;
+
+        }
+
         Long familyId = user.getFamilyId();
-        String familyName = zfFamilyService.getById(familyId).getName();
+        //  System.out.println("dddddddddddddddddddd");
+        if(user.getRoleId()==null)
+            user.setRoleId(3L);
         String roleName = zfRoleService.getById(user.getRoleId()).getName();
-        user.setFamilyName(familyName);
+
         user.setRoleName(roleName);
         return user;
     }
@@ -480,17 +808,35 @@
     public ZInfoUser getMyself() {
         SysUser user = SecurityUtils.getLoginUser().getUser();
         Long userId = user.getUserId();
-        return getById(userId);
+      //  System.out.println(userId);
+        //System.out.println("-----------------++++++++9999++++++++++----------");
+        ZInfoUser zInfoUser = new ZInfoUser();
+        zInfoUser.setSysId(userId);
+        LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>();
+        lqw.eq(zInfoUser.getSysId() != null, ZInfoUser::getSysId, zInfoUser.getSysId());
+        List<ZInfoUser> list = list(lqw);
+        if(!list.isEmpty())
+            return list.get(0);
+        else
+            return null;
+    }
+
+    @Override
+    public AjaxResult listGenealogy2(Genealogy genealogy, Integer pageNum, Integer pageSize) {
+
+        return null;
     }
 
 
-    private void recursionFindUser(List<ZInfoUser> treeList){
-        if (treeList==null||treeList.isEmpty()){
+
+
+    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 +844,7 @@
 
     /**
      * 涓轰簡瀹舵牴缃戙�佹柊澧炴垨鑰呬慨鏀圭埗瀛愬叧绯�
+     *
      * @param fatherId
      * @param motherId
      * @return
@@ -507,7 +854,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);
@@ -525,14 +872,30 @@
     }
 
     @Override
+    public AjaxResult listAllFamilyPeople(Integer clanId) {
+//        List<ZInfoUser> lis = list();
+//        for(ZInfoUser tm: lis)
+//        {
+//            System.out.println(tm.getRoleId());
+//        }
+        LambdaQueryWrapper<ZInfoUser> zInfoUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        zInfoUserLambdaQueryWrapper.eq(ZInfoUser::getClanId, clanId);
+        List<ZInfoUser> lis = list(zInfoUserLambdaQueryWrapper);
+        List<ZInfoUser> collect = lis.stream().filter(zInfoUser -> zInfoUser!=null&&zInfoUser.getRoleId()!=null&&zInfoUser.getRoleId()== 3).collect(Collectors.toList());
+
+
+        return AjaxResult.success(collect);
+    }
+
+    @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 +906,9 @@
     }
 
 
-
     /**
      * 閫掑綊绠楁硶
+     *
      * @param people
      * @param allPeopleList
      * @return
@@ -553,35 +916,98 @@
     private List<ZInfoUser> fillChildren(ZInfoUser people, List<ZInfoUser> allPeopleList, Integer depth) {
 
         // TODO: 2023-05-05 鎺у埗閫掑綊鐨勬鏁�
-       // if(depth==layer)
+        // if(depth==layer)
 
-       // layer = layer + 1;
-        System.out.println(depth);
+        // 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)
+
+                one -> (((one.getFamilyId()!=null && Objects.equals(one.getFatherId(), people.getUserId())) || (one.getMomId()!=null&& one.getMomId().equals(people.getUserId()))) && (one.getIsMyFamily() == 1))
         ).map(
                 one -> {
-                    if(depth==1)
-                        return one;
-                    else {
-                        one.setIdentity(people.getIdentity()+1);
+               //     System.out.println("++++++++++----0009999");
+              //      System.out.println(one);
+                    if (depth == 0) {
+                        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);
+                          //  System.out.println(spouseId);
+                          //  System.out.println(spouse);
+                          //  System.out.println("0000))))))))))))))))");
+                            spouse.setIdentity(people.getIdentity() + 1);
                             one.setSpouse(spouse);
                         }
                         List<ZInfoUser> zinfo = fillChildren(one, allPeopleList, depth - 1);
                         one.setChildList(zinfo);
-                        System.out.println(one);
+                      //  System.out.println(one);
                         return one;
                     }
 
                     //return one;
                 }
         ).collect(Collectors.toList());
-        System.out.println(collect);
+      //  System.out.println(collect);
+        return collect;
+
+    }
+
+    /**
+     * 閫掑綊绠楁硶瀹惰氨鐢�
+     *
+     * @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 ->  Objects.equals(one.getFatherId(), people.getUserId()) ||  Objects.equals(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