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); } }