Просмотр исходного кода

软件权限一览表(页面资源权限)-fixbug

ZhuJiaHao 6 месяцев назад
Родитель
Сommit
7e40de6e7a

+ 1 - 0
ibps-model-root/modules/org-model/src/main/resources/com/lc/ibps/org/party/persistence/mapping/PartyRoleProvider.map.xml

@@ -107,6 +107,7 @@
     <delete id="deleteRoleResourcesByResourcesId" parameterType="string">
         DELETE FROM IBPS_AUTH_ROLE_RES
         WHERE RES_ID_ = #{pageId}
+        AND ROLE_ID_ = (select ID_ from IBPS_PARTY_ROLE where NAME_ = #{roleName})
     </delete>
 
     <insert id="insertRoleResources" parameterType="string">

+ 1 - 1
ibps-provider-root/modules/provider-platform-default/src/main/java/com/lc/ibps/platform/dao/PartyRoleProviderDao.java

@@ -30,7 +30,7 @@ public interface PartyRoleProviderDao {
     /**
      * 根据资源ID删除角色资源关联关系
      */
-    void deleteRoleResourcesByResourcesId(@Param("pageId")String pageId);
+    void deleteRoleResourcesByResourcesId(@Param("pageId")String pageId,@Param("roleName")String roleName);
 
 
     /**

+ 2 - 2
ibps-provider-root/modules/provider-platform-default/src/main/java/com/lc/ibps/platform/service/PartyRoleProviderService.java

@@ -263,11 +263,11 @@ public class PartyRoleProviderService {
         //遍历每个页面的权限设置
         for(PagePermissionDTO pagePermissionDTO:permissionSaveDTO.getPermissions()){
             String pageId = pagePermissionDTO.getPageId();
-            //删除该页面对应的所有角色权限
-            partyRoleProviderDao.deleteRoleResourcesByResourcesId(pageId);
             //获取该页面有权限的角色列表
             List<String> roleNameList = pagePermissionDTO.getRolesWithPermission();
             for(String roleName:roleNameList){
+                //删除该页面对应的所有角色权限
+                partyRoleProviderDao.deleteRoleResourcesByResourcesId(pageId,roleName);
                 //插入资源和角色的对应关系
                 partyRoleProviderDao.insertRoleResources(roleName, pageId);
             }