From 5ddf5e221d718bc253fb87b8092b7e2ff08788f5 Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Tue, 09 Apr 2024 16:31:19 +0800
Subject: [PATCH] 维修基金申请添加字段

---
 src/main/java/org/springblade/common/param/CommonParamSet.java |   43 ++++++++++++++++++++++++++++++++-----------
 1 files changed, 32 insertions(+), 11 deletions(-)

diff --git a/src/main/java/org/springblade/common/param/CommonParamSet.java b/src/main/java/org/springblade/common/param/CommonParamSet.java
index 55448d5..11bc9e7 100644
--- a/src/main/java/org/springblade/common/param/CommonParamSet.java
+++ b/src/main/java/org/springblade/common/param/CommonParamSet.java
@@ -1,10 +1,13 @@
 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;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.modules.grid.service.IGridService;
 import org.springblade.modules.police.service.IPoliceAffairsGridService;
 import org.springblade.modules.system.service.IRegionService;
@@ -13,11 +16,13 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import static org.springblade.core.secure.utils.AuthUtil.getUserRole;
+
 public class CommonParamSet<T> {
 	/**
 	 * 区域编号集合
 	 */
-	private List<String> regionChildCodesList;
+	private List<String> regionChildCodesList = new ArrayList<>();
 	/**
 	 * 是否为超级管理员
 	 */
@@ -25,7 +30,7 @@
 	/**
 	 * 网格编号集合
 	 */
-	private List<String> gridCodeList;
+	private List<String> gridCodeList = new ArrayList<>();
 
 	public List<String> getRegionChildCodesList() {
 		return regionChildCodesList;
@@ -54,23 +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) ? 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());
@@ -88,4 +107,6 @@
 		}
 		return this;
 	}
+
+
 }

--
Gitblit v1.9.3