From 3ade542d81b68dce8e28a671965670a3a83dfa53 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期日, 22 八月 2021 10:42:58 +0800
Subject: [PATCH] fix 修复 druid 监控 集群模式下 无法路由到同一台服务器问题 nginx 使用 ip_hash 路由方式 保障同 ip 路由到同服务器
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java | 64 ++++++++++++++++----------------
1 files changed, 32 insertions(+), 32 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
index e04fdcf..bad0911 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
@@ -1,14 +1,14 @@
package com.ruoyi.system.service.impl;
-import cn.hutool.core.lang.Validator;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.exception.CustomException;
+import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.PageUtils;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.system.domain.SysRoleDept;
import com.ruoyi.system.domain.SysRoleMenu;
@@ -30,7 +30,7 @@
* @author ruoyi
*/
@Service
-public class SysRoleServiceImpl extends ServicePlusImpl<SysRoleMapper, SysRole> implements ISysRoleService {
+public class SysRoleServiceImpl extends ServicePlusImpl<SysRoleMapper, SysRole, SysRole> implements ISysRoleService {
@Autowired
private SysRoleMenuMapper roleMenuMapper;
@@ -66,16 +66,12 @@
* @return 瑙掕壊鍒楄〃
*/
@Override
- public List<SysRole> selectRolesByUserId(Long userId)
- {
- List<SysRole> userRoles = roleMapper.selectRolePermissionByUserId(userId);
+ public List<SysRole> selectRolesByUserId(Long userId) {
+ List<SysRole> userRoles = baseMapper.selectRolePermissionByUserId(userId);
List<SysRole> roles = selectRoleAll();
- for (SysRole role : roles)
- {
- for (SysRole userRole : userRoles)
- {
- if (role.getRoleId().longValue() == userRole.getRoleId().longValue())
- {
+ for (SysRole role : roles) {
+ for (SysRole userRole : userRoles) {
+ if (role.getRoleId().longValue() == userRole.getRoleId().longValue()) {
role.setFlag(true);
break;
}
@@ -95,7 +91,7 @@
List<SysRole> perms = baseMapper.selectRolePermissionByUserId(userId);
Set<String> permsSet = new HashSet<>();
for (SysRole perm : perms) {
- if (Validator.isNotNull(perm)) {
+ if (StringUtils.isNotNull(perm)) {
permsSet.addAll(Arrays.asList(perm.getRoleKey().trim().split(",")));
}
}
@@ -142,10 +138,10 @@
*/
@Override
public String checkRoleNameUnique(SysRole role) {
- Long roleId = Validator.isNull(role.getRoleId()) ? -1L : role.getRoleId();
+ Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
SysRole info = getOne(new LambdaQueryWrapper<SysRole>()
.eq(SysRole::getRoleName, role.getRoleName()).last("limit 1"));
- if (Validator.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) {
+ if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
@@ -159,10 +155,10 @@
*/
@Override
public String checkRoleKeyUnique(SysRole role) {
- Long roleId = Validator.isNull(role.getRoleId()) ? -1L : role.getRoleId();
+ Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();
SysRole info = getOne(new LambdaQueryWrapper<SysRole>()
.eq(SysRole::getRoleKey, role.getRoleKey()).last("limit 1"));
- if (Validator.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) {
+ if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue()) {
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
@@ -175,8 +171,8 @@
*/
@Override
public void checkRoleAllowed(SysRole role) {
- if (Validator.isNotNull(role.getRoleId()) && role.isAdmin()) {
- throw new CustomException("涓嶅厑璁告搷浣滆秴绾х鐞嗗憳瑙掕壊");
+ if (StringUtils.isNotNull(role.getRoleId()) && role.isAdmin()) {
+ throw new ServiceException("涓嶅厑璁告搷浣滆秴绾х鐞嗗憳瑙掕壊");
}
}
@@ -320,7 +316,7 @@
checkRoleAllowed(new SysRole(roleId));
SysRole role = selectRoleById(roleId);
if (countUserRoleByRoleId(roleId) > 0) {
- throw new CustomException(String.format("%1$s宸插垎閰�,涓嶈兘鍒犻櫎", role.getRoleName()));
+ throw new ServiceException(String.format("%1$s宸插垎閰�,涓嶈兘鍒犻櫎", role.getRoleName()));
}
}
List<Long> ids = Arrays.asList(roleIds);
@@ -338,9 +334,10 @@
* @return 缁撴灉
*/
@Override
- public int deleteAuthUser(SysUserRole userRole)
- {
- return userRoleMapper.deleteUserRoleInfo(userRole);
+ public int deleteAuthUser(SysUserRole userRole) {
+ return userRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>()
+ .eq(SysUserRole::getRoleId, userRole.getRoleId())
+ .eq(SysUserRole::getUserId, userRole.getUserId()));
}
/**
@@ -351,9 +348,10 @@
* @return 缁撴灉
*/
@Override
- public int deleteAuthUsers(Long roleId, Long[] userIds)
- {
- return userRoleMapper.deleteUserRoleInfos(roleId, userIds);
+ public int deleteAuthUsers(Long roleId, Long[] userIds) {
+ return userRoleMapper.delete(new LambdaQueryWrapper<SysUserRole>()
+ .eq(SysUserRole::getRoleId, roleId)
+ .in(SysUserRole::getUserId, Arrays.asList(userIds)));
}
/**
@@ -364,17 +362,19 @@
* @return 缁撴灉
*/
@Override
- public int insertAuthUsers(Long roleId, Long[] userIds)
- {
+ public int insertAuthUsers(Long roleId, Long[] userIds) {
// 鏂板鐢ㄦ埛涓庤鑹茬鐞�
- List<SysUserRole> list = new ArrayList<SysUserRole>();
- for (Long userId : userIds)
- {
+ int rows = 1;
+ List<SysUserRole> list = new ArrayList<SysUserRole>();
+ for (Long userId : userIds) {
SysUserRole ur = new SysUserRole();
ur.setUserId(userId);
ur.setRoleId(roleId);
list.add(ur);
}
- return userRoleMapper.batchUserRole(list);
+ if (list.size() > 0) {
+ rows = userRoleMapper.insertAll(list);
+ }
+ return rows;
}
}
--
Gitblit v1.9.3