zhongrj
2024-04-03 b42bdf8eb9baa28c6d2e363ffaebadfc62d2025a
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;
   }
}