| | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | import java.util.stream.Stream; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | |
| | | @Resource |
| | | private ZfFamilyService zfFamilyService; |
| | | |
| | | |
| | | @Resource |
| | | private ZfRoleService zfRoleService; |
| | |
| | | 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 findInfoUserNameAClan(String nickName) |
| | | { |
| | | ZInfoUser zInfoUser = new ZInfoUser(); |
| | | zInfoUser.setNickName(nickName); |
| | | |
| | | LambdaQueryWrapper<ZInfoUser> lqw = buildCondition(zInfoUser); |
| | | List<ZInfoUser> zInfoUsers = list(lqw); |
| | | List<ShareOtherClan> shareOtherClans = new ArrayList<>(); |
| | | |
| | | for (ZInfoUser zInfoUser1: zInfoUsers) { |
| | | ShareOtherClan shareOtherClan = new ShareOtherClan(); |
| | | shareOtherClan.setNickName(zInfoUser1.getNickName()); |
| | | shareOtherClan.setUserId(zInfoUser1.getUserId().intValue()); |
| | | shareOtherClan.setClanId(zInfoUser1.getClanId()); |
| | | shareOtherClans.add(shareOtherClan); |
| | | } |
| | | return AjaxResult.success(shareOtherClans); |
| | | } |
| | | |
| | | @Override |
| | |
| | | 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); |
| | | 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 -> { |
| | |
| | | } |
| | | return people; |
| | | }).collect(Collectors.toList()); |
| | | |
| | | // if(zInfoUser.getSex() != null) { |
| | | // System.out.println("/////////////"+result); |
| | | // result = result.stream().filter(i -> i.getSex().equals(zInfoUser.getSex())).collect(Collectors.toList()); |
| | | // } |
| | | // if(zInfoUser.getNickName() != null){ |
| | | // System.out.println("/////////////"+result); |
| | | // result = result.stream().filter(i -> i.getNickName().equals(zInfoUser.getNickName())).collect(Collectors.toList()); |
| | | // } |
| | | //// List<Date> dates = allPeopleList.stream(). |
| | | // if(zInfoUser.getHappenEndTime() != null && zInfoUser.getHappenStartTime() != null){ |
| | | // result = result.stream().filter(a -> a.getBirth().before(zInfoUser.getHappenEndTime())).collect(Collectors.toList()); |
| | | // Long result1 = result.stream().filter(a -> a.getBirth().after(zInfoUser.getHappenStartTime())).count(); |
| | | // System.out.println("9999999999999999999999"); |
| | | // System.out.println(result1); |
| | | // } |
| | | // System.out.println("9999999999999999999999"); |
| | | // System.out.println(result); |
| | | |
| | | } catch (NullPointerException e) { |
| | | throw new RuntimeException("您在加入成员的时候没有指定该成员的父亲或者母亲"); |
| | | } |
| | | |
| | | System.out.println(result); |
| | | // System.out.println(result); |
| | | |
| | | // result.stream().map( |
| | | // data->{ |
| | |
| | | userList.clear(); |
| | | List<ZInfoUser> treeList = (List<ZInfoUser>) listWithTreeByCondition(100, genealogy).get("data"); |
| | | recursionFindUser(treeList); |
| | | // System.out.println(userList); |
| | | System.out.println("---------------"); |
| | | |
| | | // System.out.println("555555555555555555555555555555555555555555555555555555555555"); |
| | | |
| | | // System.out.println(userList); |
| | | // System.out.println("---------------"); |
| | | List<Genealogy> allData = userList.stream().map( |
| | | zInfoUser -> { |
| | | Genealogy newGenealogy = new Genealogy(); |
| | |
| | | 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++++++++++++++++++++++"); |
| | | // System.out.println(allData); |
| | | // System.out.println("999999999988888888888++++++++++++++++++++++"); |
| | | List<Genealogy> collect = allData.stream() |
| | | .distinct() |
| | | .filter((data)-> data.getIsMyFamily() == 1) |
| | |
| | | } |
| | | 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(); |
| | | 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(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | System.out.println(resultData); |
| | | // System.out.println(resultData); |
| | | |
| | | System.out.println("================++++++++++++++66666666666666666999999999"); |
| | | // System.out.println("================++++++++++++++66666666666666666999999999"); |
| | | |
| | | |
| | | // for (Genealogy data : resultData) { |
| | |
| | | ZInfoUser user = getInfoBysysId(userId); |
| | | |
| | | |
| | | if(user!=null) |
| | | { |
| | | Long familyId = user.getFamilyId(); |
| | | // System.out.println("dddddddddddddddddddd"); |
| | | 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; |
| | | |
| | | String roleName = zfRoleService.getById(user.getRoleId()).getName(); |
| | | |
| | | user.setRoleName(roleName); |
| | | // System.out.println("dddddddddddddddddddd"); |
| | | // System.out.println(familyId); |
| | | // if(familyId!=null&&familyId!=-1) |
| | | // { |
| | | // String familyName = zfFamilyService.getById(familyId).getName(); |
| | | // user.setFamilyName(familyName); |
| | | // } |
| | | } |
| | | |
| | | Long familyId = user.getFamilyId(); |
| | | // System.out.println("dddddddddddddddddddd"); |
| | | if(user.getRoleId()==null) |
| | | user.setRoleId(3L); |
| | | String roleName = zfRoleService.getById(user.getRoleId()).getName(); |
| | | |
| | | user.setRoleName(roleName); |
| | | return user; |
| | | } |
| | | |
| | |
| | | // if(depth==layer) |
| | | |
| | | // layer = layer + 1; |
| | | System.out.println(depth); |
| | | // System.out.println(depth); |
| | | |
| | | // List<ZInfoUser> myFamilyPeopleList = 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 -> { |
| | | System.out.println("++++++++++----0009999"); |
| | | System.out.println(one); |
| | | // System.out.println("++++++++++----0009999"); |
| | | // System.out.println(one); |
| | | if (depth == 0) { |
| | | one.setIdentity(people.getIdentity() + 1); |
| | | //根据配偶id查询配偶的数据,封装好一起返回 |
| | |
| | | } |
| | | 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; |
| | | |
| | | } |
| | |
| | | // if(depth==layer) |
| | | |
| | | // layer = layer + 1; |
| | | System.out.println(depth); |
| | | // System.out.println(depth); |
| | | |
| | | List<ZInfoUser> collect = allPeopleList.stream().filter( |
| | | one -> Objects.equals(one.getFatherId(), people.getUserId()) || Objects.equals(one.getMomId(),people.getUserId()) |
| | | ).map( |