From 4a07b410170967a57087800197b192772760cac4 Mon Sep 17 00:00:00 2001 From: ZhengJie <201507802@qq.com> Date: Wed, 20 May 2020 21:31:06 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BB=A3=E7=A0=81=E5=AE=8C=E5=96=84](v2.5):?= =?UTF-8?q?=20v2.5=20beta=20=E4=BC=98=E5=8C=96=E8=8F=9C=E5=8D=95=E7=BC=93?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/me/zhengjie/utils/RedisUtils.java | 21 ++++++++++++++----- .../system/repository/UserRepository.java | 4 ++-- .../system/service/impl/MenuServiceImpl.java | 10 ++++----- .../system/service/impl/RoleServiceImpl.java | 4 ---- 4 files changed, 22 insertions(+), 17 deletions(-) diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java b/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java index f80eb97f..fa4cfa02 100644 --- a/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java +++ b/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java @@ -160,12 +160,23 @@ public class RedisUtils { * 删除缓存 * @param key 可以传一个值 或多个 */ - public void del(String... key) { - if (key != null && key.length > 0) { - if (key.length == 1) { - redisTemplate.delete(key[0]); + public void del(String... keys) { + if (keys != null && keys.length > 0) { + if (keys.length == 1) { + boolean result = redisTemplate.delete(keys[0]); + System.out.println("--------------------------------------------"); + System.out.println(new StringBuilder("删除缓存:").append(keys[0]).append(",结果:").append(result)); + System.out.println("--------------------------------------------"); } else { - redisTemplate.delete(CollectionUtils.arrayToList(key)); + Set keySet = new HashSet<>(); + for (String key : keys) { + keySet.addAll(redisTemplate.keys(key)); + } + long count = redisTemplate.delete(keySet); + System.out.println("--------------------------------------------"); + System.out.println("成功删除缓存:" + keySet.toString()); + System.out.println("缓存删除数量:" + count + "个"); + System.out.println("--------------------------------------------"); } } } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/UserRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/UserRepository.java index ed07dbc1..f82a709a 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/UserRepository.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/repository/UserRepository.java @@ -78,7 +78,7 @@ public interface UserRepository extends JpaRepository, JpaSpecificat * @return / */ @Query(value = "SELECT u.* FROM sys_user u, sys_users_roles r, sys_roles_depts d WHERE " + - "u.user_id = r.user_id AND r.role_id = d.role_id AND r.role_id = ?1", nativeQuery = true) + "u.user_id = r.user_id AND r.role_id = d.role_id AND r.role_id = ?1 group by u.user_id", nativeQuery = true) List findByDeptRoleId(Long id); /** @@ -87,7 +87,7 @@ public interface UserRepository extends JpaRepository, JpaSpecificat * @return / */ @Query(value = "SELECT u.* FROM sys_user u, sys_users_roles ur, sys_roles_menus rm WHERE\n" + - "u.user_id = ur.user_id AND ur.role_id = rm.role_id AND rm.menu_id = ?1", nativeQuery = true) + "u.user_id = ur.user_id AND ur.role_id = rm.role_id AND rm.menu_id = ?1 group by u.user_id", nativeQuery = true) List findByMenuId(Long id); /** diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java index 4810c01f..13a941a3 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java @@ -129,9 +129,9 @@ public class MenuServiceImpl implements MenuService { resources.setSubCount(0); if(resources.getPid() != null){ // 清理缓存 - redisUtils.del("menu::pid:" + resources.getPid()); updateSubCnt(resources.getPid()); } + redisUtils.del("menu::pid:" + (resources.getPid() == null ? 0 : resources.getPid())); } @Override @@ -207,10 +207,10 @@ public class MenuServiceImpl implements MenuService { @Transactional(rollbackFor = Exception.class) public void delete(Set menuSet) { for (Menu menu : menuSet) { - roleService.untiedMenu(menu.getId()); - menuRepository.deleteById(menu.getId()); // 清理缓存 delCaches(menu.getId(), menu.getPid()); + roleService.untiedMenu(menu.getId()); + menuRepository.deleteById(menu.getId()); if(menu.getPid() != null){ updateSubCnt(menu.getPid()); } @@ -351,8 +351,6 @@ public class MenuServiceImpl implements MenuService { List users = userRepository.findByMenuId(id); redisUtils.del("menu::id:" +id); redisUtils.delByKeys("menu::user:",users.stream().map(User::getId).collect(Collectors.toSet())); - if(pid != null){ - redisUtils.del("menu::pid:" + pid); - } + redisUtils.del("menu::pid:" + (pid == null ? 0 : pid)); } } diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java index d5c0919c..00c8f76c 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java @@ -131,10 +131,6 @@ public class RoleServiceImpl implements RoleService { @Override @Transactional(rollbackFor = Exception.class) public void untiedMenu(Long menuId) { - // 清理缓存 - List users = userRepository.findByMenuId(menuId); - Set userIds = users.stream().map(User::getId).collect(Collectors.toSet()); - redisUtils.delByKeys("menu::user:",userIds); // 更新菜单 roleRepository.untiedMenu(menuId); }