24282 2 жил өмнө
parent
commit
0ffa51da50

+ 5 - 0
hx-tenant/src/main/java/com/fjhx/tenant/controller/tenant/RoleTenantController.java

@@ -94,6 +94,11 @@ public class RoleTenantController extends BaseController {
         role.setUpdateBy(getUsername());
 
         roleService.updateRoleStatus(role);
+        Long[] menuIds = role.getMenuIds();
+
+        if (menuIds != null) {
+            roleService.editRoleMenu(role);
+        }
 
         // 更新缓存用户权限
         LoginUser loginUser = getLoginUser();

+ 3 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java

@@ -171,4 +171,7 @@ public interface ISysRoleService extends IService<SysRole> {
      * @return 结果
      */
     public int insertAuthUsers(Long roleId, Long[] userIds);
+
+    void editRoleMenu(SysRole role);
+
 }

+ 11 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java

@@ -384,4 +384,15 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
         }
         return userRoleMapper.batchUserRole(list);
     }
+
+    @Override
+    public void editRoleMenu(SysRole role) {
+        // 删除角色与菜单关联
+        roleMenuMapper.deleteRoleMenuByRoleId(role.getRoleId());
+        int num = insertRoleMenu(role);
+        if (num == 0) {
+            throw new ServiceException("修改角色'" + role.getRoleName() + "'失败,请联系管理员");
+        }
+    }
+
 }