From f3dac2f82e3a6e2836a15a66df4bafd4f5cfd733 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Fri, 19 Jan 2024 14:29:14 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/main/java/org/springblade/modules/system/mapper/RegionMapper.java | 4 +++-
src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml | 14 ++++++++++++--
src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java | 9 ++++-----
3 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/src/main/java/org/springblade/modules/system/mapper/RegionMapper.java b/src/main/java/org/springblade/modules/system/mapper/RegionMapper.java
index 1da8e49..2eb46c2 100644
--- a/src/main/java/org/springblade/modules/system/mapper/RegionMapper.java
+++ b/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);
/**
* 树列表(获取当前树)
diff --git a/src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml b/src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml
index 5d9b55e..ea9370a 100644
--- a/src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml
+++ b/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>
diff --git a/src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java
index f2f3053..470736d 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java
+++ b/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));
}
/**
--
Gitblit v1.9.3