From b58ec97d9004ce83b81fbfcadcf0beda331faab4 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Tue, 09 Apr 2024 14:22:11 +0800
Subject: [PATCH] 事件分享不校验敏感词

---
 src/main/java/org/springblade/common/param/CommonParamSet.java |   49 +++++++++++++++++++++++++++----------------------
 1 files changed, 27 insertions(+), 22 deletions(-)

diff --git a/src/main/java/org/springblade/common/param/CommonParamSet.java b/src/main/java/org/springblade/common/param/CommonParamSet.java
index b8875b6..11bc9e7 100644
--- a/src/main/java/org/springblade/common/param/CommonParamSet.java
+++ b/src/main/java/org/springblade/common/param/CommonParamSet.java
@@ -1,7 +1,9 @@
 package org.springblade.common.param;
 
+import org.apache.commons.lang3.StringUtils;
 import org.apache.logging.log4j.util.Strings;
 import org.springblade.common.cache.SysCache;
+import org.springblade.common.utils.AuthUtils;
 import org.springblade.common.utils.SpringUtils;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.utils.SpringUtil;
@@ -20,7 +22,7 @@
 	/**
 	 * 区域编号集合
 	 */
-	private List<String> regionChildCodesList;
+	private List<String> regionChildCodesList = new ArrayList<>();
 	/**
 	 * 是否为超级管理员
 	 */
@@ -28,7 +30,7 @@
 	/**
 	 * 网格编号集合
 	 */
-	private List<String> gridCodeList;
+	private List<String> gridCodeList = new ArrayList<>();
 
 	public List<String> getRegionChildCodesList() {
 		return regionChildCodesList;
@@ -57,28 +59,37 @@
 				if (null != SpringUtils.getBean(IRegionService.class).getById(communityCode)) {
 					// 设置社区编号
 					communityCodeField.setAccessible(true);
-					communityCodeField.set(t,communityCode);
+					communityCodeField.set(t, communityCode);
 				}
 			}
 			// 超级管理员、系统管理员、公安管理员不过滤数据
-			isAdministrator = Strings.isBlank(roleName) &&
-				(AuthUtil.isAdministrator() == true ||
-					AuthUtil.isAdmin() == true ||
-					isGaAdmin() == true
-				) ? 1 : 2;
-			if (isAdministrator==2) {
-				// 获取当前用户的所属行政区划编号()
-				regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId());
+//			isAdministrator = AuthUtils.isAdmin(roleName) || AuthUtils.isAdmin() ||
+//				AuthUtils.isAdministrator() || AuthUtils.isGaAdmin() ? 1 : 2;
+			if (StringUtils.isNotBlank(roleName)) {
+				isAdministrator = AuthUtils.isAdmin(roleName) ? 1 : 2;
+			} else {
+				isAdministrator = AuthUtils.isAdmin() ||
+					AuthUtils.isAdministrator() || AuthUtils.isGaAdmin() ? 1 : 2;
+			}
+
+			if (isAdministrator == 2) {
+				if (!Strings.isBlank(communityCode)) {
+					// 请求头带了后直接使用过滤
+					regionChildCodesList.add(communityCode);
+				}else {
+					// 获取当前用户的所属行政区划编号()
+					regionChildCodesList = SysCache.getRegionChildCodesByDeptId(AuthUtil.getDeptId(), communityCode);
+					// 民警角色
+					if (!Strings.isBlank(roleName) && roleName.equals("mj")) {
+						regionChildCodesList = SysCache.getPoliceRegionChildCodesByDeptId(AuthUtil.getDeptId(),communityCode);
+					}
+				}
 				// 获取网格编号集合
 				gridCodeList = new ArrayList<>();
 				if (!Strings.isBlank(roleName)) {
 					// 设置角色别名
 					roleNameField.setAccessible(true);
 					roleNameField.set(t, roleName);
-					// 民警角色
-					if (roleName.equals("mj")) {
-						regionChildCodesList = SpringUtil.getBean(IPoliceAffairsGridService.class).getCommunityCodeListByUserId(AuthUtil.getUserId());
-					}
 					// 网格员角色
 					if (roleName.equals("wgy")) {
 						gridCodeList = SpringUtil.getBean(IGridService.class).getGridListByUserId(AuthUtil.getUserId());
@@ -97,11 +108,5 @@
 		return this;
 	}
 
-	/**
-	 * 是否为公安管理员
-	 * @return
-	 */
-	public boolean isGaAdmin() {
-		return StringUtil.containsAny(getUserRole(), new CharSequence[]{"gagly"});
-	}
+
 }

--
Gitblit v1.9.3