[代码完善](v2.5): v2.5 beta 优化菜单缓存

pull/372/head
ZhengJie 2020-05-20 21:31:06 +08:00
parent ed7bfa32a2
commit 4a07b41017
4 changed files with 22 additions and 17 deletions

View File

@ -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<Object> 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("--------------------------------------------");
}
}
}

View File

@ -78,7 +78,7 @@ public interface UserRepository extends JpaRepository<User, Long>, 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<User> findByDeptRoleId(Long id);
/**
@ -87,7 +87,7 @@ public interface UserRepository extends JpaRepository<User, Long>, 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<User> findByMenuId(Long id);
/**

View File

@ -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<Menu> 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<User> 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));
}
}

View File

@ -131,10 +131,6 @@ public class RoleServiceImpl implements RoleService {
@Override
@Transactional(rollbackFor = Exception.class)
public void untiedMenu(Long menuId) {
// 清理缓存
List<User> users = userRepository.findByMenuId(menuId);
Set<Long> userIds = users.stream().map(User::getId).collect(Collectors.toSet());
redisUtils.delByKeys("menu::user:",userIds);
// 更新菜单
roleRepository.untiedMenu(menuId);
}