Browse Source

配置文件修改

lwhhszx 2 years ago
parent
commit
19725dde14

+ 10 - 11
PCS/src/main/java/cn/cslg/permission/service/ApplicationService.java

@@ -70,10 +70,10 @@ public class ApplicationService extends ServiceImpl<ApplicationMapper, Applicati
 
             application.insert();
             //新增关联数据
-            if (application.getId() != null) {
-                //新增应用与租户的关联数据
-                applicationTenantService.addApplicationTenant(application.getId(), applicationVO.getTenant());
-            }
+//            if (application.getId() != null) {
+//                //新增应用与租户的关联数据
+//                applicationTenantService.addApplicationTenant(application.getId(), applicationVO.getTenant());
+//            }
         } catch (Exception e) {
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             e.printStackTrace();
@@ -96,7 +96,6 @@ public class ApplicationService extends ServiceImpl<ApplicationMapper, Applicati
             } else {
                 Application application = new Application();
                 application.setId(applicationVO.getId());
-
                 application.deleteById();
                 //3.删除关联表数据
                 //删除应用与租户的关联数据
@@ -105,12 +104,12 @@ public class ApplicationService extends ServiceImpl<ApplicationMapper, Applicati
                 LambdaQueryWrapper<Function> lambdaQueryWrapper1 = new LambdaQueryWrapper<>();
                 lambdaQueryWrapper1.eq(Function::getApplicationId, applicationVO.getId());
                 List<Integer> ids = functionService.list(lambdaQueryWrapper1).stream().map(Function::getId).collect(Collectors.toList());
-                //用IDList 删除对应的功能数据
-                functionService.removeByIds(ids);
-//                用IDList 删除对应的功能与租户的关联数据
-//                tenantFunctionService.delete(null, null, ids);
-                //用IDList删除对应的会员和功能关联表数据
-                assoTenantVipTypeFunctionMapper.deleteByFunctionIds(ids);
+                // 用IDList 删除对应的功能数据
+                if (ids != null && ids.size() > 0) {
+                    functionService.removeByIds(ids);
+                    //用IDList删除对应的会员和功能关联表数据
+                    assoTenantVipTypeFunctionMapper.deleteByFunctionIds(ids);
+                }
 
             }
         } catch (Exception e) {

+ 21 - 17
PCS/src/main/java/cn/cslg/permission/service/DataService.java

@@ -33,21 +33,19 @@ public class DataService extends ServiceImpl<DataMapper, Data> {
     /**
      * 根据登录ID 和 功能ID获得DataRule并转为JsonObject
      */
-    public List<JSONObject> getJsonObjectById(Integer loginId, String functionId) {
-        List<Integer> dataIds = roleFunctionDataService.getDataIdsForRule(loginId, functionId);
-        List<JSONObject> jsonObjs = new ArrayList<>();
+    public List<String> getJsonObjectById(List<Integer> dataIds) {
+        List<String> rules = new ArrayList<>();
         if (dataIds.size() > 0) {
             LambdaQueryWrapper<Data> queryWrapper = new LambdaQueryWrapper<>();
             queryWrapper.in(Data::getId, dataIds);
             List<Data> dataList = this.list(queryWrapper);
             for (Data data : dataList) {
                 if (data.getId() != 0) {
-                    JSONObject jsonObj = JSONObject.parseObject(data.getDataRule());
-                    jsonObjs.add(jsonObj);
+                    rules.add(data.getDataRule());
                 }
             }
         }
-        return jsonObjs;
+        return rules;
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -107,33 +105,39 @@ public class DataService extends ServiceImpl<DataMapper, Data> {
         return Response.success(setDataToVO(dataList));
     }
 
+    /**
+     * 根据登录人id和功能id查询
+     * @param loginId 登录人id
+     * @param functionId 功能id
+     * @return
+     */
     public List<String> queryDataRule(Integer loginId, String functionId) {
         List<String> rules = new ArrayList<>();
+        //根据登录人id和功能id查询规则记录
         List<Integer> dataIds = roleFunctionDataService.getDataIdsForRule(loginId, functionId);
+        //当规则id列表的大小为0时返回-1
         if (dataIds.size() == 0) {
             rules.add("-1");
             return rules;
         }
-
-        if (dataIds.contains(0) && dataIds.size() == 1) {
+        //根据规则记录id查询规则
+        List<String> ruleStrs = this.getJsonObjectById(dataIds);
+        //当未查到规则时
+        if (ruleStrs.size()==0) {
+            //查询功能的默认规则
             LambdaQueryWrapper<Function> wrapper = new LambdaQueryWrapper<>();
             wrapper.eq(Function::getFunctionPath, functionId);
             Function function = functionService.getOne(wrapper);
             if (function.getDefaultRule() != null) {
                 rules.add(function.getDefaultRule());
-            } else {
+            }
+            //当无默认规则时,把0放到列表里并返回
+            else {
                 rules.add("0");
             }
             return rules;
         }
-
-        List<JSONObject> jsonObjects = this.getJsonObjectById(loginId, functionId);
-        for (JSONObject jsonObject : jsonObjects) {
-            String tem = jsonObject.toJSONString();
-            rules.add(tem);
-
-        }
-        return rules;
+        return ruleStrs;
     }
 
     private List<DataVO> setDataToVO(List<Data> dataList) {

+ 5 - 6
PCS/src/main/java/cn/cslg/permission/service/RoleService.java

@@ -14,7 +14,6 @@ import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.sun.xml.internal.bind.v2.TODO;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.annotation.Lazy;
@@ -110,11 +109,11 @@ public class RoleService extends ServiceImpl<RoleMapper, Role> {
             //根据角色id查询角色,获得角色类型 (用于判断是否为管理员:1为系统管理员 2为租户管理员 0为普通角色)
             Integer roleType = this.getRoleType(roleVO.getId());
             //若为超级管理员或租户管理员则无法修改,返回错误提示
-            if (roleType.equals(1)) {
-                return Response.error("无法修改系统管理员");
-            } else if (roleType.equals(2)) {
-                return Response.error("无法修改租户管理员");
-            }
+//            if (roleType.equals(1)) {
+//                return Response.error("无法修改系统管理员");
+//            } else if (roleType.equals(2)) {
+//                return Response.error("无法修改租户管理员");
+//            }
             Role role = new Role();
             role
                     .setRoleDescription(roleVO.getRemark())

+ 2 - 0
PCS/src/main/java/cn/cslg/permission/service/associate/RoleFunctionDataService.java

@@ -314,9 +314,11 @@ public class RoleFunctionDataService extends ServiceImpl<AssoRoleFunctionDataMap
      * @author 李仁杰
      */
     public List<Integer> getDataIdsForRule(Integer loginId, String functionId) {
+        //根据登录人id获得登录人的所有角色
         List<Integer> roleId = this.baseMapper.getRoleId(loginId);
         List<Integer> dataIds = new ArrayList<>();
         if (roleId.size() > 0) {
+            //根据角色和功能查询所有规则id
             LambdaQueryWrapper<AssoRoleFunctionData> queryWrapper = new LambdaQueryWrapper<>();
             queryWrapper.in(AssoRoleFunctionData::getRoleId, roleId).eq(AssoRoleFunctionData::getFunctionPath, functionId);
             List<AssoRoleFunctionData> assoRoleFunctionDataList = this.list(queryWrapper);