111
whywhyo
2023-05-05 e3e5d863f7da346e8beaed4fb6ed4a4fca0cb22b
111
4个文件已修改
47 ■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/ZInfoUserController.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/domain/ZInfoUser.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/ZInfoUserService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/impl/ZInfoUserServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }