src/main/java/org/springblade/modules/system/mapper/RegionMapper.java
@@ -67,7 +67,9 @@ * @return */ @MapKey(value = "id") Map<String, TreeStringNode> getTreeList(@Param("region") RegionVO region); Map<String, TreeStringNode> getTreeList(@Param("region") RegionVO region, @Param("regionChildCodesList") List<String> regionChildCodesList, @Param("isAdministrator") Integer isAdministrator); /** * 树列表(获取当前树) src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml
@@ -123,8 +123,18 @@ <if test="region.parentCode!=null and region.parentCode!=''"> and parent_code = #{region.parentCode} </if> <if test="region.regionCode!=null and region.regionCode!=''"> and code like concat('%',#{region.regionCode},'%') <if test="isAdministrator==2"> <choose> <when test="regionChildCodesList !=null and regionChildCodesList.size()>0"> and code in <foreach collection="regionChildCodesList" item="code" open="(" close=")" separator=","> #{code} </foreach> </when> <otherwise> and code in ('') </otherwise> </choose> </if> </select> src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java
@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.util.Strings; import org.springblade.common.cache.SysCache; import org.springblade.common.node.TreeStringNode; import org.springblade.common.utils.NodeTreeUtil; import org.springblade.core.log.exception.ServiceException; @@ -136,11 +137,9 @@ */ @Override public List<TreeStringNode> getTree(RegionVO region) { Dept dept = deptService.getById(AuthUtil.getDeptId()); if (null != dept) { region.setRegionCode(dept.getRegionCode()); } return NodeTreeUtil.getStringNodeTree(baseMapper.getTreeList(region)); List<String> regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId()); Integer isAdministrator = AuthUtil.isAdministrator()==true?1:2; return NodeTreeUtil.getStringNodeTree(baseMapper.getTreeList(region,regionChildCodesList,isAdministrator)); } /**