| | |
| | | |
| | | |
| | | 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.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.ZfFamily; |
| | | import com.ruoyi.domain.ZfRelation; |
| | | import com.ruoyi.domain.*; |
| | | import com.ruoyi.domain.dto.*; |
| | | import com.ruoyi.mapper.ZInfoUserMapper; |
| | | import com.ruoyi.service.ZInfoUserService; |
| | |
| | | @Resource |
| | | private ZfFamilyService zfFamilyService; |
| | | |
| | | |
| | | @Resource |
| | | private ZfRoleService zfRoleService; |
| | | |
| | |
| | | HashMap<String, Object> data = MapUtils.getResult(pageResult); |
| | | return AjaxResult.success(data); |
| | | |
| | | } |
| | | |
| | | @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> 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 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 |
| | | 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 |
| | |
| | | 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.like(zInfoUser.getClanId() != null, ZInfoUser::getClanId, zInfoUser.getClanId()); |
| | | return lqw; |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult removeByUserName(List userName) { |
| | | public AjaxResult removeByUserName(List<String> userName) { |
| | | LambdaQueryWrapper<ZInfoUser> lqw = new LambdaQueryWrapper<>(); |
| | | lqw.in(ZInfoUser::getNickName, userName); |
| | | List<Long> ids = list(lqw).stream().map(ZInfoUser::getUserId).collect(Collectors.toList()); |
| | | 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("删除成功"); |
| | | } |
| | |
| | | * @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)) |
| | |
| | | // System.out.println(people); |
| | | return people; |
| | | }).collect(Collectors.toList()); |
| | | |
| | | // |
| | | //System.out.println("--------------++++++++++++++++--------------"); |
| | | //System.out.println(result); |
| | | return AjaxResult.success(result); |
| | | |
| | | } |
| | |
| | | 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"); |
| | | |
| | | // 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 -> { |
| | | if (depth > 1) { |
| | | if (depth >= 1) { |
| | | people.setIdentity(1); |
| | | people.setChildList(fillChildren2(people, allPeopleList, depth - 1)); |
| | | } |
| | | 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); |
| | | |
| | | // result.stream().map( |
| | | // data->{ |
| | |
| | | */ |
| | | @Override |
| | | public AjaxResult listGenealogy(Genealogy genealogy, Integer pageNum, Integer pageSize) { |
| | | userList.clear(); |
| | | List<ZInfoUser> treeList = (List<ZInfoUser>) listWithTreeByCondition(100, genealogy).get("data"); |
| | | recursionFindUser(treeList); |
| | | |
| | | // System.out.println("555555555555555555555555555555555555555555555555555555555555"); |
| | | |
| | | // System.out.println(userList); |
| | | // System.out.println("---------------"); |
| | | List<Genealogy> allData = userList.stream().map( |
| | | zInfoUser -> { |
| | | Genealogy newGenealogy = new Genealogy(); |
| | |
| | | return newGenealogy; |
| | | } |
| | | ).collect(Collectors.toList()); |
| | | |
| | | // 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++++++++++++++++++++++"); |
| | | // |
| | | // |
| | | //对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"); |
| | | |
| | | |
| | | // for (Genealogy data : resultData) { |
| | |
| | | |
| | | @Override |
| | | public ZInfoUser getInfoById(Long userId) { |
| | | ZInfoUser user = getById(userId); |
| | | 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!=-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; |
| | | } |
| | | |
| | |
| | | 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 |
| | |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult listAllFamilyPeople() { |
| | | public AjaxResult listAllFamilyPeople(Integer clanId) { |
| | | // List<ZInfoUser> lis = list(); |
| | | // for(ZInfoUser tm: lis) |
| | | // { |
| | | // System.out.println(tm.getRoleId()); |
| | | // } |
| | | List<ZInfoUser> collect = list().stream().filter(zInfoUser -> zInfoUser!=null&&zInfoUser.getRoleId()!=null&&zInfoUser.getRoleId()== 3).collect(Collectors.toList()); |
| | | 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); |
| | | } |
| | | |
| | |
| | | // 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) |
| | | // ).collect(Collectors.toList()); |
| | | |
| | | List<ZInfoUser> collect = allPeopleList.stream().filter( |
| | | one -> ((one.getFamilyId()!=null && one.getFatherId() == people.getUserId()) || (one.getMomId()!=null&&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) { |
| | | // System.out.println("++++++++++----0009999"); |
| | | // System.out.println(one); |
| | | if (depth == 0) { |
| | | one.setIdentity(people.getIdentity() + 1); |
| | | //根据配偶id查询配偶的数据,封装好一起返回 |
| | | Long spouseId = one.getSpouseId(); |
| | |
| | | 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; |
| | | |
| | | } |
| | |
| | | // if(depth==layer) |
| | | |
| | | // layer = layer + 1; |
| | | System.out.println(depth); |
| | | // System.out.println(depth); |
| | | |
| | | List<ZInfoUser> collect = allPeopleList.stream().filter( |
| | | one -> (one.getFatherId() == people.getUserId() || one.getMomId() == people.getUserId()) |
| | | one -> Objects.equals(one.getFatherId(), people.getUserId()) || Objects.equals(one.getMomId(),people.getUserId()) |
| | | ).map( |
| | | one -> { |
| | | if (depth == 1) |
| | |
| | | } |
| | | List<ZInfoUser> zinfo = fillChildren2(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; |
| | | |
| | | } |