Commit f782e3a9af717cf72cab1f983f78ea19a45163d6

Authored by 杨宇庆
Committed by Gitee
1 parent 0bbc682b

解决编辑租户套餐时菜单权限因缓存导致无法生效的问题

Signed-off-by: 杨宇庆 <hiyyq@qq.com>
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/PermissionServiceImpl.java
... ... @@ -132,8 +132,12 @@ public class PermissionServiceImpl implements PermissionService {
132 132  
133 133 @Override
134 134 @DSTransactional // 多数据源,使用 @DSTransactional 保证本地事务,以及数据源的切换
135   - @CacheEvict(value = RedisKeyConstants.MENU_ROLE_ID_LIST,
  135 + @Caching(evict = {
  136 + @CacheEvict(value = RedisKeyConstants.MENU_ROLE_ID_LIST,
  137 + allEntries = true),
  138 + @CacheEvict(value = RedisKeyConstants.PERMISSION_MENU_ID_LIST,
136 139 allEntries = true) // allEntries 清空所有缓存,主要一次更新涉及到的 menuIds 较多,反倒批量会更快
  140 + })
137 141 public void assignRoleMenu(Long roleId, Set<Long> menuIds) {
138 142 // 获得角色拥有菜单编号
139 143 Set<Long> dbMenuIds = convertSet(roleMenuMapper.selectListByRoleId(roleId), RoleMenuDO::getMenuId);
... ...