From 7f220c9aa253204183c42edaa98d9f78e9eb6685 Mon Sep 17 00:00:00 2001
From: whywhyo <1511349576@qq.com>
Date: 星期二, 23 五月 2023 16:09:26 +0800
Subject: [PATCH] 456

---
 zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java |  514 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 514 insertions(+), 0 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 97d663b..5db6910 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
@@ -2,11 +2,34 @@
 
 
 
+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;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysUser;
+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.domain.dto.EmpowerDto;
+import com.ruoyi.domain.dto.Genealogy;
+import com.ruoyi.domain.dto.GenealogyExportDto;
+import com.ruoyi.domain.dto.UserRelationDto;
 import com.ruoyi.mapper.ZInfoUserMapper;
 import com.ruoyi.service.ZInfoUserService;
+import com.ruoyi.service.ZfRelationService;
+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.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -17,6 +40,497 @@
  * @since 2023-03-14
  */
 @Service
+@Slf4j
 public class ZInfoUserServiceImpl extends ServiceImpl<ZInfoUserMapper, ZInfoUser> implements ZInfoUserService {
 
+    @Autowired
+    private ZfRelationService zfRelationService;
+
+    @Override
+    public AjaxResult selectInfoList(ZInfoUser zInfoUser, Integer pageNum, Integer pageSize) {
+
+        LambdaQueryWrapper<ZInfoUser> lqw = buildCondition(zInfoUser);
+
+        Page<ZInfoUser> zInfoUserPage = new Page<>(pageNum,pageSize);
+        Page<ZInfoUser> pageResult = page(zInfoUserPage, lqw);
+
+        HashMap<String, Object> data = MapUtils.getResult(pageResult);
+        return AjaxResult.success(data);
+
+    }
+
+    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());
+        return lqw;
+
+    }
+
+    @Override
+    public List<ZInfoUser> selectByCondition(ZInfoUser zInfoUser) {
+        LambdaQueryWrapper<ZInfoUser> lambdaQueryWrapper = buildCondition(zInfoUser);
+        List<ZInfoUser> list = list(lambdaQueryWrapper);
+        log.info("杩斿洖鐨勬暟鎹负:{}",list);
+        return list;
+
+    }
+
+    @Override
+    public AjaxResult searchMyRelation(Long userId) {
+
+        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涓嶅瓨鍦�");
+        }
+    }
+
+    @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();
+    }
+
+    @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();
+        }
+    }
+
+    /**
+     * 缁欑敤鎴锋巿鏉冪殑鏂规硶
+     * @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) {
+        String text=null;
+        if(flag){
+            text="鎺堟潈";
+        }else {
+            text="鍙栨秷鎺堟潈";
+        }
+
+        //瀵规湰浜虹殑瀹跺涵鍙疯繘琛屽鐞�
+        if(familyId.contains(",")){
+            String[] familyIds = familyId.split(",");
+            List<String> idList = Arrays.asList(familyIds);
+            if (!idList.contains(destinationFamilyId)) {
+                throw new RuntimeException("涓嶈兘"+text+"涓嶅睘浜庤嚜宸卞搴殑鏁版嵁");
+            }
+        }else {
+            if (!familyId.equals(destinationFamilyId)){
+                throw new RuntimeException("涓嶈兘"+text+"涓嶅睘浜庤嚜宸卞搴殑鏁版嵁");
+            }
+        }
+    }
+
+    private String 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();
+        return familyId;
+    }
+
+    private String getFinalStr(String destinationFamilyId, List<String> authorityList) {
+        String authorityListStr = authorityList.stream().collect(Collectors.joining(" ", "{", "}"));
+        String finalStr= destinationFamilyId +authorityListStr;  //3{2007 1988 1004}
+        return finalStr;
+    }
+
+
+    /**
+     * 鑾峰彇瀹舵牴缃�
+     * @return
+     */
+    @Override
+    public AjaxResult listWithTree(Integer depth) {
+
+        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);
+                            people.setChildList(fillChildren(people, allPeopleList, depth-1));
+                        }
+                        return people;
+                    }).collect(Collectors.toList());
+        } catch (NullPointerException e) {
+            throw new RuntimeException("鎮ㄥ湪鍔犲叆鎴愬憳鐨勬椂鍊欐病鏈夋寚瀹氳鎴愬憳鐨勭埗浜叉垨鑰呮瘝浜�");
+        }
+        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){
+                            people.setIdentity(1);
+                            people.setChildList(fillChildren(people, allPeopleList, depth-1));
+                        }
+                        return people;
+                    }).collect(Collectors.toList());
+        } catch (NullPointerException e) {
+            throw new RuntimeException("鎮ㄥ湪鍔犲叆鎴愬憳鐨勬椂鍊欐病鏈夋寚瀹氳鎴愬憳鐨勭埗浜叉垨鑰呮瘝浜�");
+        }
+        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;
+
+
+    }
+
+
+    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());
+            }
+        }
+    }
+
+    /**
+     * 涓轰簡瀹舵牴缃戙�佹柊澧炴垨鑰呬慨鏀圭埗瀛愬叧绯�
+     * @param fatherId
+     * @param motherId
+     * @return
+     */
+    @Override
+    public AjaxResult addParent(Long fatherId, Long motherId) {
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        Long userId = user.getUserId();
+        LambdaQueryWrapper<ZInfoUser> zInfoUserLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        zInfoUserLambdaQueryWrapper.eq(ZInfoUser::getUserId,userId);
+        ZInfoUser zInfoUser = getOne(zInfoUserLambdaQueryWrapper);
+
+        zInfoUser.setFatherId(fatherId);
+        zInfoUser.setMomId(motherId);
+
+        updateById(zInfoUser);
+        return AjaxResult.success();
+    }
+
+    @Override
+    public AjaxResult listAllExceptAdmin() {
+        List<ZInfoUser> collect = list().stream().filter(zInfoUser -> zInfoUser.getUserId() != 1).collect(Collectors.toList());
+        return AjaxResult.success(collect);
+
+    }
+
+    @Override
+    public AjaxResult listMySelfAndSpouse(Long id) {
+        LambdaQueryWrapper<ZInfoUser> lqw1 = new LambdaQueryWrapper<>();
+        lqw1.eq(ZInfoUser::getUserId,id);
+        ZInfoUser myself = getOne(lqw1);
+        Long spouseId = myself.getSpouseId();
+
+        LambdaQueryWrapper<ZInfoUser> lqw2 = new LambdaQueryWrapper<>();
+        lqw2.eq(ZInfoUser::getUserId,spouseId);
+        ZInfoUser spouse = getOne(lqw2);
+
+        ArrayList<ZInfoUser> zInfoUsers = new ArrayList<>();
+        zInfoUsers.add(myself);
+        zInfoUsers.add(spouse);
+
+        return AjaxResult.success(zInfoUsers);
+    }
+
+
+
+    /**
+     * 閫掑綊绠楁硶
+     * @param people
+     * @param allPeopleList
+     * @return
+     */
+    private List<ZInfoUser> fillChildren(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);
+                        List<ZInfoUser> zinfo = fillChildren(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