From c10d6358b9f014375a13821465bc978d0c0da22e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Wed, 29 May 2024 17:17:08 +0800
Subject: [PATCH] 通过E呼即办数据统计
---
src/main/java/org/springblade/common/param/CommonParamSet.java | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 107 insertions(+), 12 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..8822b4e 100644
--- a/src/main/java/org/springblade/common/param/CommonParamSet.java
+++ b/src/main/java/org/springblade/common/param/CommonParamSet.java
@@ -1,10 +1,14 @@
package org.springblade.common.param;
+import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.util.Strings;
+import org.apache.poi.hssf.record.DVALRecord;
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;
@@ -12,12 +16,15 @@
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
+
+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 +32,12 @@
/**
* 网格编号集合
*/
- private List<String> gridCodeList;
+ private List<String> gridCodeList = new ArrayList<>();
+
+ /**
+ *
+ */
+ private String str = null;
public List<String> getRegionChildCodesList() {
return regionChildCodesList;
@@ -37,6 +49,10 @@
public List<String> getGridCodeList() {
return gridCodeList;
+ }
+
+ public String getStr() {
+ return str;
}
public <U> CommonParamSet invoke(Class<U> clazz, T t) {
@@ -54,26 +70,40 @@
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.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(),communityCode,roleName);
+ }
+ }
// 获取网格编号集合
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());
+ gridCodeList = SysCache.getGridRegionChildCodesByDeptId(AuthUtil.getDeptId(),communityCode,roleName);
}
}
// 特定账号设置
@@ -88,4 +118,69 @@
}
return this;
}
+
+ /**
+ * 设置对应的属性值
+ * @param clazz
+ * @param t
+ * @param list 字段属性集合
+ * @param pre 字段拼接
+ * @return
+ */
+ public <U> CommonParamSet setFieldValue(Class<U> clazz, T t,List<String> list,String pre) {
+ //获取传入对象信息
+ U u = clazz.cast(t);
+ try {
+ StringBuilder builder = new StringBuilder(pre);
+ for (String fieldName : list) {
+ if (!fieldName.equals("tableName")) {
+ if (fieldName.equals("tableId")) {
+ fieldName = "id";
+ }
+ Field field = u.getClass().getDeclaredField(fieldName);
+ field.setAccessible(true);
+ builder.append(field.get(t).toString()).append(",");
+ }
+ }
+ String toString = builder.toString();
+ str = toString.substring(0,toString.length()-1);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return this;
+ }
+
+ /**
+ * 设置对应的属性值
+ * @param clazz
+ * @param t
+ * @param list 字段属性集合
+ * @param map
+ * @return
+ */
+ public <U> CommonParamSet setFieldValueByMap(Class<U> clazz, T t, List<String> list, Map<String,Object> map) {
+ //获取传入对象信息
+ U u = clazz.cast(t);
+ try {
+ for (String fieldName : list) {
+ if (!fieldName.equals("tableName")){
+ if (fieldName.equals("tableId")){
+ fieldName = "id";
+ }
+ Field field = u.getClass().getDeclaredField(fieldName);
+ field.setAccessible(true);
+ String value = field.get(t).toString();
+ if (fieldName.equals("id")){
+ fieldName = "tableId";
+ }
+ map.put(fieldName,value);
+ }
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return this;
+ }
+
+
}
--
Gitblit v1.9.3