ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZInfoUserController.java
@@ -186,8 +186,8 @@ * 家根网 */ @GetMapping("/root") public AjaxResult listAllPeopleWithTree(){ return zInfoUserService.listWithTree(); public AjaxResult listAllPeopleWithTree(@PathParam("depth") Integer depth){ return zInfoUserService.listWithTree(depth); } @@ -208,6 +208,14 @@ return zInfoUserService.addParent(fatherId,motherId); } /** * 根据本人id查询本人信息以及配偶信息 */ @GetMapping("/listMyself/{id}") public AjaxResult listMySelfAndSpouse(@PathVariable("id") Long id){ return zInfoUserService.listMySelfAndSpouse(id); } zhang-content/src/main/java/com/ruoyi/domain/ZInfoUser.java
@@ -137,6 +137,11 @@ private String img; /** * 配偶id */ private Long spouseId; /** * 父亲的id */ private Long fatherId; zhang-content/src/main/java/com/ruoyi/service/ZInfoUserService.java
@@ -31,10 +31,11 @@ AjaxResult empower(EmpowerDto empowerDto); AjaxResult listWithTree(); AjaxResult listWithTree(Integer depth); AjaxResult addParent(Long fatherId, Long motherId); AjaxResult listAllExceptAdmin(); AjaxResult listMySelfAndSpouse(Long id); } zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java
@@ -296,7 +296,7 @@ * @return */ @Override public AjaxResult listWithTree() { public AjaxResult listWithTree(Integer depth) { List<ZInfoUser> allPeopleList = list(); List<ZInfoUser> result = null; @@ -341,6 +341,24 @@ } @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 @@ -348,7 +366,10 @@ * @return */ private List<ZInfoUser> fillChildren(ZInfoUser people, List<ZInfoUser> allPeopleList) { return allPeopleList.stream().filter( // TODO: 2023-05-05 控制递归的次数 List<ZInfoUser> collect = allPeopleList.stream().filter( one -> one.getFatherId() == people.getUserId() || one.getMomId() == people.getUserId() ).map( one -> { @@ -357,6 +378,8 @@ } ).collect(Collectors.toList()); return collect; }