From 46f46c73ef2cf1719f0de7c0258e6bcd4335966c Mon Sep 17 00:00:00 2001
From: whywhyo <1511349576@qq.com>
Date: 星期二, 25 七月 2023 22:37:08 +0800
Subject: [PATCH] 519648

---
 zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java |  466 +++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 329 insertions(+), 137 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 21fcf92..4455abc 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
@@ -15,21 +15,20 @@
 import com.ruoyi.domain.ZInfoUser;
 import com.ruoyi.domain.ZfEvent;
 import com.ruoyi.domain.ZfRelation;
-import com.ruoyi.domain.dto.EmpowerDto;
-import com.ruoyi.domain.dto.UserRelationDto;
+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 lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
+import javax.annotation.Resource;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -46,6 +45,15 @@
 
     @Autowired
     private ZfRelationService zfRelationService;
+
+    @Autowired
+    private ZInfoUserService zInfoUserService;
+
+    @Resource
+    private ZfFamilyService zfFamilyService;
+
+    @Resource
+    private ZfRoleService zfRoleService;
 
     @Override
     public AjaxResult selectInfoList(ZInfoUser zInfoUser, Integer pageNum, Integer pageSize) {
@@ -94,55 +102,24 @@
     }
 
     @Override
-    public AjaxResult searchMyRelation(Long userId) {
+    public AjaxResult searchMyRelation() {
+
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        Long userId = user.getUserId();
 
         LambdaQueryWrapper<ZfRelation> lqw = new LambdaQueryWrapper<>();
         lqw.eq(ZfRelation::getMyId,userId);
-        List<ZfRelation> relationList = zfRelationService.list(lqw);
 
-        ArrayList<UserRelationDto> otherUserList = new ArrayList<>();
-
-        relationList.stream().map(
-                (relation)->{
-                    Long otherId = relation.getOtherId();
-                    ZInfoUser otherUser = getById(otherId);
-                    UserRelationDto userRelationDto = new UserRelationDto();
-                    BeanUtils.copyProperties(otherUser,userRelationDto);
-                    userRelationDto.setRelation(relation.getRelation());
-                    userRelationDto.setId(relation.getId());
-                    otherUserList.add(userRelationDto);
-                    return relation;
-                }
-        ).collect(Collectors.toList());
-
-        return AjaxResult.success(otherUserList);
-    }
-
-    /**
-     * 妫�鏌ヤ紶鍏ュ鏂圭殑id鏄惁瀛樺湪
-     * @param zfRelation
-     */
-    private void checkRelation(ZfRelation zfRelation){
-
-        LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>();
-        lqw.eq(ZInfoUser::getUserId, zfRelation.getOtherId());
-
-        ZInfoUser zInfoUser2 = getOne(lqw);
-        if (zInfoUser2==null){
-            throw new RuntimeException("瀵规柟鐨刬d涓嶅瓨鍦�");
-        }
+        List<ZfRelation> list = zfRelationService.list(lqw);
+        return AjaxResult.success(list);
     }
 
     @Override
     @Transactional
     public AjaxResult addRelation(ZfRelation zfRelation) {
-        checkRelation(zfRelation);
-
-        //鑾峰彇鑷繁鐨刬d骞朵紶鍏�
         SysUser user = SecurityUtils.getLoginUser().getUser();
         Long userId = user.getUserId();
         zfRelation.setMyId(userId);
-
         zfRelationService.save(zfRelation);
         return AjaxResult.success();
     }
@@ -150,105 +127,105 @@
     @Override
     @Transactional
     public AjaxResult updateRelation(ZfRelation zfRelation) {
-        checkRelation(zfRelation);
         zfRelationService.updateById(zfRelation);
         return AjaxResult.success();
     }
 
     @Override
     public AjaxResult deleteRelation(Long[] ids) {
-        boolean flag = zfRelationService.removeByIds(Arrays.asList(ids));
-        if (flag){
-            return AjaxResult.success();
-        }else {
-            return AjaxResult.error();
-        }
+        zfRelationService.removeByIds(Arrays.asList(ids));
+        return AjaxResult.success();
     }
 
-    /**
-     * 缁欑敤鎴锋巿鏉冪殑鏂规硶
-     * @param empowerDto
-     * @return
-     */
-    @Override
-    @Transactional
-    public AjaxResult empower(EmpowerDto empowerDto) {
+//    @Override
+//    public AjaxResult empower(EmpowerDto empowerDto) {
+//        return null;
+//    }
 
-        //寰楀埌dto涓殑淇℃伅
-        String otherUserId = empowerDto.getUserId();
-        String destinationFamilyId = empowerDto.getFamilyId();
-        List<String> authorityList = empowerDto.getAuthorityList();
-
-        String familyId = getMyFamilyId();
-        checkAuthorization(familyId, destinationFamilyId,true);
-
-        //鎺堟潈  //3{2007 1988 1004}
-        String finalStr = getFinalStr(destinationFamilyId, authorityList);
-
-        //鏇存柊琚巿鏉冪敤鎴风殑鏉冮檺
-        LambdaQueryWrapper<ZInfoUser> lqw2 = new LambdaQueryWrapper<>();
-        lqw2.eq(ZInfoUser::getUserId,otherUserId);
-        ZInfoUser otherUser = getOne(lqw2);
-        String secondFamilyId = otherUser.getSecondFamilyId();
-
-        String replaceFamilyId=null;
-
-        boolean save=true;
-
-        if (StringUtils.isNotEmpty(secondFamilyId)){
-            //濡傛灉鍘熸潵灏卞凡缁忔湁琚祴浜堟潈闄愪簡锛岄偅涔堥渶瑕佸垽鏂槸涓嶆槸璺熻繖涓搴彿鏈夊叧鐨勬潈闄�
-
-            //杩欎釜secondFamilyId鏄綋鍓嶇敤鎴风殑瀹屾暣鏉冮檺瀛楁
-            if(secondFamilyId.contains(",")){
-                String[] split = secondFamilyId.split(",");
-                for (int i = 0; i < split.length; i++) {
-                    String fid = split[i].substring(0, split[i].indexOf("{"));//浠庢潈闄愬潡涓嬁鍒拌鎺堟潈鐨勫搴彿
-                    if(fid.equals(finalStr.substring(0,finalStr.indexOf("{")))){
-                        //濡傛灉鍖归厤鍒颁簡瀵瑰簲鐨勫搴彿锛岄偅涔堝氨鏇挎崲鎺夊搴旂殑鏉冮檺鍧楀氨鍙互浜嗭紝涓嶉渶瑕佽拷鍔�
-                        save=false;
-                        split[i]=finalStr;
-                        break;
-                    }
-                }
-                List<String> finalList = Arrays.asList(split);
-                StringBuilder stringBuilder = new StringBuilder();
-                for (String s : finalList) {
-                    stringBuilder.append(s).append(",");
-                }
-                stringBuilder.deleteCharAt(stringBuilder.length()-1);
-
-                replaceFamilyId = stringBuilder.toString();
-
-            }else {
-                String fid = secondFamilyId.substring(0, secondFamilyId.indexOf("{"));//浠庢潈闄愬潡涓嬁鍒拌鎺堟潈鐨勫搴彿
-                if(fid.equals(finalStr.substring(0,finalStr.indexOf("{")))){
-                    //濡傛灉鍖归厤鍒颁簡瀵瑰簲鐨勫搴彿锛岄偅涔堝氨鏇挎崲鎺夊搴旂殑鏉冮檺鍧楀氨鍙互浜嗭紝涓嶉渶瑕佽拷鍔�
-                    save=false;
-                    replaceFamilyId=finalStr;
-                }
-            }
-
-            if(save){
-                //闇�瑕佽拷鍔�,娌℃湁鍖归厤鍒板搴旂殑瀹跺涵鍙�
-                replaceFamilyId=secondFamilyId+","+finalStr;
-            }else {
-                //涓嶉渶瑕佽拷鍔�
-            }
-
-        }else {
-            //鍘熸潵灏辨病鏈夋潈闄愪簡
-            replaceFamilyId=finalStr;
-        }
-
-        LambdaUpdateWrapper<ZInfoUser> uw = new LambdaUpdateWrapper<>();
-        uw.eq(ZInfoUser::getUserId,otherUserId).set(ZInfoUser::getSecondFamilyId,replaceFamilyId);
-        if (update(null,uw)) {
-            return AjaxResult.success();
-        }else {
-            return AjaxResult.error();
-        }
-
-    }
+//    /**
+//     * 缁欑敤鎴锋巿鏉冪殑鏂规硶
+//     * @param empowerDto
+//     * @return
+//     */
+//    @Override
+//    @Transactional
+//    public AjaxResult empower(EmpowerDto empowerDto) {
+//
+//        //寰楀埌dto涓殑淇℃伅
+//        String otherUserId = empowerDto.getUserId();
+//        String destinationFamilyId = empowerDto.getFamilyId();
+//        List<String> authorityList = empowerDto.getAuthorityList();
+//
+//        String familyId = getMyFamilyId();
+//        checkAuthorization(familyId, destinationFamilyId,true);
+//
+//        //鎺堟潈  //3{2007 1988 1004}
+//        String finalStr = getFinalStr(destinationFamilyId, authorityList);
+//
+//        //鏇存柊琚巿鏉冪敤鎴风殑鏉冮檺
+//        LambdaQueryWrapper<ZInfoUser> lqw2 = new LambdaQueryWrapper<>();
+//        lqw2.eq(ZInfoUser::getUserId,otherUserId);
+//        ZInfoUser otherUser = getOne(lqw2);
+//        String secondFamilyId = otherUser.getSecondFamilyId();
+//
+//        String replaceFamilyId=null;
+//
+//        boolean save=true;
+//
+//        if (StringUtils.isNotEmpty(secondFamilyId)){
+//            //濡傛灉鍘熸潵灏卞凡缁忔湁琚祴浜堟潈闄愪簡锛岄偅涔堥渶瑕佸垽鏂槸涓嶆槸璺熻繖涓搴彿鏈夊叧鐨勬潈闄�
+//
+//            //杩欎釜secondFamilyId鏄綋鍓嶇敤鎴风殑瀹屾暣鏉冮檺瀛楁
+//            if(secondFamilyId.contains(",")){
+//                String[] split = secondFamilyId.split(",");
+//                for (int i = 0; i < split.length; i++) {
+//                    String fid = split[i].substring(0, split[i].indexOf("{"));//浠庢潈闄愬潡涓嬁鍒拌鎺堟潈鐨勫搴彿
+//                    if(fid.equals(finalStr.substring(0,finalStr.indexOf("{")))){
+//                        //濡傛灉鍖归厤鍒颁簡瀵瑰簲鐨勫搴彿锛岄偅涔堝氨鏇挎崲鎺夊搴旂殑鏉冮檺鍧楀氨鍙互浜嗭紝涓嶉渶瑕佽拷鍔�
+//                        save=false;
+//                        split[i]=finalStr;
+//                        break;
+//                    }
+//                }
+//                List<String> finalList = Arrays.asList(split);
+//                StringBuilder stringBuilder = new StringBuilder();
+//                for (String s : finalList) {
+//                    stringBuilder.append(s).append(",");
+//                }
+//                stringBuilder.deleteCharAt(stringBuilder.length()-1);
+//
+//                replaceFamilyId = stringBuilder.toString();
+//
+//            }else {
+//                String fid = secondFamilyId.substring(0, secondFamilyId.indexOf("{"));//浠庢潈闄愬潡涓嬁鍒拌鎺堟潈鐨勫搴彿
+//                if(fid.equals(finalStr.substring(0,finalStr.indexOf("{")))){
+//                    //濡傛灉鍖归厤鍒颁簡瀵瑰簲鐨勫搴彿锛岄偅涔堝氨鏇挎崲鎺夊搴旂殑鏉冮檺鍧楀氨鍙互浜嗭紝涓嶉渶瑕佽拷鍔�
+//                    save=false;
+//                    replaceFamilyId=finalStr;
+//                }
+//            }
+//
+//            if(save){
+//                //闇�瑕佽拷鍔�,娌℃湁鍖归厤鍒板搴旂殑瀹跺涵鍙�
+//                replaceFamilyId=secondFamilyId+","+finalStr;
+//            }else {
+//                //涓嶉渶瑕佽拷鍔�
+//            }
+//
+//        }else {
+//            //鍘熸潵灏辨病鏈夋潈闄愪簡
+//            replaceFamilyId=finalStr;
+//        }
+//
+//        LambdaUpdateWrapper<ZInfoUser> uw = new LambdaUpdateWrapper<>();
+//        uw.eq(ZInfoUser::getUserId,otherUserId).set(ZInfoUser::getSecondFamilyId,replaceFamilyId);
+//        if (update(null,uw)) {
+//            return AjaxResult.success();
+//        }else {
+//            return AjaxResult.error();
+//        }
+//
+//    }
 
 
     private void checkAuthorization(String familyId, String destinationFamilyId,boolean flag) {
@@ -273,14 +250,14 @@
         }
     }
 
-    private String getMyFamilyId() {
+    private Long getMyFamilyId() {
         //寰楀埌鑷繁鐨勫搴璱d淇℃伅
         SysUser user = SecurityUtils.getLoginUser().getUser();
         Long myUserId = user.getUserId();
         LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>();
         lqw.eq(ZInfoUser::getUserId,myUserId);
         ZInfoUser zInfoUser = getOne(lqw);
-        String familyId = zInfoUser.getFamilyId();
+        Long familyId = zInfoUser.getFamilyId();
         return familyId;
     }
 
@@ -300,11 +277,65 @@
 
         List<ZInfoUser> allPeopleList = list();
         List<ZInfoUser> result = null;
+//        try {
+//              result = allPeopleList.stream().filter(people -> people.getUserId()!=1&&(people.getFatherId() == 0||people.getMomId()==0))
+//                .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));
+//                    }
+//                    return people;
+//                }).collect(Collectors.toList());
+//        } catch (NullPointerException e) {
+//            throw new RuntimeException("鎮ㄥ湪鍔犲叆鎴愬憳鐨勬椂鍊欐病鏈夋寚瀹氳鎴愬憳鐨勭埗浜叉垨鑰呮瘝浜�");
+//        }
+        result = allPeopleList.stream().filter(people -> people.getUserId()!=1&&(people.getFatherId() == 0||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));
+                    }
+                    return people;
+                }).collect(Collectors.toList());
+
+
+        return AjaxResult.success(result);
+
+    }
+
+    /**
+     * 鏉′欢鑾峰彇瀹跺涵鎴愬憳
+     * @return
+     */
+    public AjaxResult listWithTreeByCondition(Integer depth,Genealogy genealogy) {
+
+        ZInfoUser zInfoUser = new 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());
+
+        List<ZInfoUser> allPeopleList = list(lqw);
+        List<ZInfoUser> result = null;
         try {
             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));
+                        }
                         return people;
                     }).collect(Collectors.toList());
         } catch (NullPointerException e) {
@@ -312,6 +343,157 @@
         }
         return AjaxResult.success(result);
 
+    }
+
+    private List<ZInfoUser> userList = new ArrayList<>();
+
+    /**
+     * 瀹惰氨淇℃伅
+     * @param genealogy
+     * @return
+     */
+    @Override
+    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(
+                zInfoUser -> {
+                    Genealogy newGenealogy = new Genealogy();
+                    BeanUtils.copyProperties(zInfoUser, newGenealogy);
+
+                    if(zInfoUser.getSpouseId()!=null){
+                        ZInfoUser spouse = getById(zInfoUser.getSpouseId());
+                        newGenealogy.setSpouseName(spouse.getNickName());
+                    }
+                    return newGenealogy;
+                }
+        ).collect(Collectors.toList());
+
+        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()){
+                break;
+            }
+            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);
+
+        return AjaxResult.success(resultMap);
+    }
+
+    @Override
+    public List<Genealogy> selectByIds(Long[] ids) {
+        List<ZInfoUser> zInfoUsers = listByIds(Arrays.asList(ids));
+        ArrayList<Genealogy> result = new ArrayList<>();
+        for (ZInfoUser zInfoUser : zInfoUsers) {
+            Genealogy genealogy = new Genealogy();
+            BeanUtils.copyProperties(zInfoUser,genealogy);
+            if(zInfoUser.getSpouseId()!=null){
+                ZInfoUser spouse = getById(zInfoUser.getSpouseId());
+                genealogy.setSpouseName(spouse.getNickName());
+            }
+            result.add(genealogy);
+        }
+
+        System.out.println("瀵煎嚭鐨勬暟鎹负:"+result);
+        return result;
+
+    }
+
+    @Override
+    public List<Genealogy> selectDatas(List<GenealogyExportDto> params) {
+        ArrayList<Long> ids = new ArrayList<>();
+        for (GenealogyExportDto param : params) {
+            ids.add(param.getId());
+        }
+
+        List<ZInfoUser> zInfoUsers = listByIds(ids);
+        ArrayList<Genealogy> result = new ArrayList<>();
+        for (int i = 0; i < zInfoUsers.size(); i++) {
+            Genealogy genealogy = new Genealogy();
+            BeanUtils.copyProperties(zInfoUsers.get(i),genealogy);
+            genealogy.setIdentity(params.get(i).getIdentity());
+            if(zInfoUsers.get(i).getSpouseId()!=null){
+                ZInfoUser spouse = getById(zInfoUsers.get(i).getSpouseId());
+                genealogy.setSpouseName(spouse.getNickName());
+            }
+            result.add(genealogy);
+
+        }
+        System.out.println("瀵煎嚭鐨勬暟鎹负:"+result);
+        return result;
+
+
+    }
+
+    @Override
+    public ZInfoUser getInfoById(Long userId) {
+        ZInfoUser user = getById(userId);
+        Long familyId = user.getFamilyId();
+        String familyName = zfFamilyService.getById(familyId).getName();
+        String roleName = zfRoleService.getById(user.getRoleId()).getName();
+        user.setFamilyName(familyName);
+        user.setRoleName(roleName);
+        return user;
+    }
+
+//    @Override
+//    public ZInfoUser getInfoById(Long userId) {
+//
+//        ZInfoUser user = getById(userId);
+//
+//        //鐢ㄩ�楀彿闅斿紑鐨勫搴璱d
+//        String familyId = user.getFamilyId();
+//
+//        //鍦ㄨ嚜宸卞搴腑瑙掕壊鐨刬d
+//        Long roleId = user.getRoleId();
+//
+//        ArrayList<String> familyList = new ArrayList<>();
+//
+//        //濉厖鎵�灞炲搴�
+//        if(familyId.contains(",")){
+//            String[] familyIds = familyId.split(",");
+//            for (String id : familyIds) {
+//                familyList.add(zfFamilyService.getById(id).getName());
+//            }
+//        }else {
+//            familyList.add(zfFamilyService.getById(familyId).getName());
+//        }
+//
+//        user.setFamilyList(familyList);
+//
+//        //濉厖鎵�鍦ㄥ搴殑瑙掕壊
+//        user.setRole(zfRoleService.getById(roleId).getName());
+//
+//        return user;
+//    }
+
+    @Override
+    public ZInfoUser getMyself() {
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        Long userId = user.getUserId();
+        return getById(userId);
+    }
+
+
+    private void recursionFindUser(List<ZInfoUser> treeList){
+        if (treeList==null||treeList.isEmpty()){
+            return;
+        }
+        for (ZInfoUser zInfoUser : treeList) {
+            userList.add(zInfoUser);
+            if (!zInfoUser.getChildList().isEmpty()){
+                recursionFindUser(zInfoUser.getChildList());
+            }
+        }
     }
 
     /**
@@ -360,6 +542,8 @@
         return AjaxResult.success(zInfoUsers);
     }
 
+
+
     /**
      * 閫掑綊绠楁硶
      * @param people
@@ -374,12 +558,20 @@
        // layer = layer + 1;
         System.out.println(depth);
         List<ZInfoUser> collect = allPeopleList.stream().filter(
-                one -> one.getFatherId() == people.getUserId() || one.getMomId() == people.getUserId()
+                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);
+                        //鏍规嵁閰嶅伓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);
                         one.setChildList(zinfo);
                         System.out.println(one);

--
Gitblit v1.9.1