zhongrj
2024-04-30 2b599a5307883b9407ea9225c4e33fc28706f7a8
新增社区树查询接口(单独)
5 files modified
81 ■■■■ changed files
src/main/java/org/springblade/modules/system/controller/RegionController.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/RegionMapper.java 9 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml 44 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/IRegionService.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java 13 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/controller/RegionController.java
@@ -136,6 +136,15 @@
        return R.data(regionService.getTree(region));
    }
    /**
     * 树列表-查询到社区的树
     * @return
     */
    @GetMapping("/treeToCommunity")
    @ApiOperation(value = "树列表-查询到社区的树", notes = "传入menu")
    public R treeToCommunity() {
        return R.data(regionService.treeToCommunity());
    }
    /**
     * 树列表(获取当前树)
src/main/java/org/springblade/modules/system/mapper/RegionMapper.java
@@ -128,4 +128,13 @@
     * @return
     */
    List<String> getAllCommunityNameListString(@Param("articleRange") String articleRange);
    /**
     * 树列表-查询到社区的树
     * @param regionChildCodesList
     * @param isAdministrator
     * @return
     */
    @MapKey(value = "id")
    Map<String, TreeStringNode> treeToCommunity(List<String> regionChildCodesList, Integer isAdministrator);
}
src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml
@@ -152,14 +152,14 @@
    <!--根据父编号查询所有的下级-->
    <select id="getTreeList" resultType="org.springblade.common.node.TreeStringNode">
        <if test="region.cityCode!=null and region.cityCode!=''">
        select
        grid_code as id,
        community_code as parentId,
        grid_name as name,
        jg.sort
        FROM jczz_grid jg
        left join blade_region br on br.village_code = jg.community_code and br.region_level = 5
        where jg.is_deleted = 0 and jg.community_code like concat(#{region.cityCode},'%')
            select
            grid_code as id,
            community_code as parentId,
            grid_name as name,
            jg.sort
            FROM jczz_grid jg
            left join blade_region br on br.village_code = jg.community_code and br.region_level = 5
            where jg.is_deleted = 0 and jg.community_code like concat(#{region.cityCode},'%')
            <if test="isAdministrator==2">
                <choose>
                    <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
@@ -173,7 +173,7 @@
                    </otherwise>
                </choose>
            </if>
        union all
            union all
        </if>
        SELECT
        code as id,
@@ -337,4 +337,30 @@
        )
    </select>
    <!--根据父编号查询所有的下级-->
    <select id="treeToCommunity" resultType="org.springblade.common.node.TreeStringNode">
        select
        br.code as id,
        br.parent_code as parentId,
        br.name as name,
        br.sort
        FROM blade_region br
        left join jczz_grid jg on br.village_code = jg.community_code and jg.is_deleted = 0 and br.region_level = 5
        where 1=1 and (br.ancestors like '%361102%' or br.code = '361102')
        <if test="isAdministrator==2">
            <choose>
                <when test="regionChildCodesList !=null and regionChildCodesList.size()>0">
                    and jg.community_code in
                    <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=",">
                        #{code}
                    </foreach>
                </when>
                <otherwise>
                    and jg.community_code in ('')
                </otherwise>
            </choose>
        </if>
    </select>
</mapper>
src/main/java/org/springblade/modules/system/service/IRegionService.java
@@ -138,4 +138,10 @@
     * @return
     */
    String getAllCommunityNameListString(String articleRange);
    /**
     * 树列表-查询到社区的树
     * @return
     */
    List<TreeStringNode> treeToCommunity();
}
src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java
@@ -347,4 +347,17 @@
        // 分割后es搜索才有效果,不能用逗号分割
        return String.join("\\",baseMapper.getAllCommunityNameListString(articleRange));
    }
    /**
     * 树列表-查询到社区的树
     * @return
     */
    @Override
    public List<TreeStringNode> treeToCommunity() {
        List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId(), null);
        Integer isAdministrator = AuthUtils.isAdministratorOrAdmin(AuthUtil.getUserRole()) == true ? 1 : 2;
        // 查询
        Map<String, TreeStringNode> treeList = baseMapper.treeToCommunity(regionChildCodesList, isAdministrator);
        return NodeTreeUtil.getStringNodeTree(treeList);
    }
}