From 6ccef6c1d01778623dfab6d464c199a894151f1f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?=
<15040126243@163.com>
Date: Sun, 24 Dec 2023 19:51:45 +0800
Subject: [PATCH 1/8] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E4=BB=A3?=
=?UTF-8?q?=E7=A0=81=E7=94=9F=E6=88=90=E6=8F=90=E4=BA=A4=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=E6=8F=90=E7=A4=BA=E8=AF=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ruoyi-generator/src/main/resources/vm/vue/index.vue.vm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
index 8b132f4ab..aaceca611 100644
--- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
+++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
@@ -439,7 +439,7 @@ const submitForm = () => {
} else {
await add${BusinessName}(form.value).finally(() => buttonLoading.value = false);
}
- proxy?.#[[$modal]]#.msgSuccess("修改成功");
+ proxy?.#[[$modal]]#.msgSuccess("操作成功");
dialog.visible = false;
await getList();
}
From 2ea30af4c4d54646906665c22aa075184c360696 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?=
<15040126243@163.com>
Date: Mon, 25 Dec 2023 13:23:27 +0800
Subject: [PATCH 2/8] =?UTF-8?q?update=20mybatis-plus=203.5.4=20=3D>=203.5.?=
=?UTF-8?q?4=20=E4=BF=AE=E5=A4=8D=E4=B8=8Eboot=E4=BB=A3=E7=A0=81=E5=86=B2?=
=?UTF-8?q?=E7=AA=81=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 2 +-
.../common/mybatis/config/MybatisPlusConfig.java | 13 -------------
2 files changed, 1 insertion(+), 14 deletions(-)
diff --git a/pom.xml b/pom.xml
index 3aafe144a..6441d6a7b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,7 @@
3.3.3
2.3
1.37.0
- 3.5.4
+ 3.5.5
3.9.1
5.8.22
4.10.0
diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/config/MybatisPlusConfig.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/config/MybatisPlusConfig.java
index 1689e3cdf..1791b2b99 100644
--- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/config/MybatisPlusConfig.java
+++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/config/MybatisPlusConfig.java
@@ -1,12 +1,9 @@
package org.dromara.common.mybatis.config;
import cn.hutool.core.net.NetUtil;
-import com.baomidou.mybatisplus.autoconfigure.DdlApplicationRunner;
-import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
-import com.baomidou.mybatisplus.extension.ddl.IDdl;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
@@ -14,21 +11,16 @@ import org.dromara.common.core.factory.YmlPropertySourceFactory;
import org.dromara.common.mybatis.handler.InjectionMetaObjectHandler;
import org.dromara.common.mybatis.interceptor.PlusDataPermissionInterceptor;
import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.PropertySource;
import org.springframework.transaction.annotation.EnableTransactionManagement;
-import java.util.List;
-
/**
* mybatis-plus配置类(下方注释有插件介绍)
*
* @author Lion Li
*/
@EnableTransactionManagement(proxyTargetClass = true)
-@AutoConfiguration(before = MybatisPlusAutoConfiguration.class)
@MapperScan("${mybatis-plus.mapperPackage}")
@PropertySource(value = "classpath:common-mybatis.yml", factory = YmlPropertySourceFactory.class)
public class MybatisPlusConfig {
@@ -108,9 +100,4 @@ public class MybatisPlusConfig {
* https://baomidou.com/pages/2a45ff/
*/
- @Bean
- public DdlApplicationRunner ddlApplicationRunner(@Autowired(required = false) List ddlList) {
- return new DdlApplicationRunner(ddlList);
- }
-
}
From 363af040d681c33b7cfe004546df8c3547e08950 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?=
<15040126243@163.com>
Date: Mon, 25 Dec 2023 15:50:51 +0800
Subject: [PATCH 3/8] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E5=B0=86p6sp?=
=?UTF-8?q?y=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E7=BB=9F=E4=B8=80?=
=?UTF-8?q?=E6=94=BE=E7=BD=AE=E5=88=B0=20common-mybatis=20=E6=8F=92?=
=?UTF-8?q?=E4=BB=B6=E5=8C=85=E5=86=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ruoyi-common-mybatis}/src/main/resources/spy.properties | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename {ruoyi-admin => ruoyi-common/ruoyi-common-mybatis}/src/main/resources/spy.properties (100%)
diff --git a/ruoyi-admin/src/main/resources/spy.properties b/ruoyi-common/ruoyi-common-mybatis/src/main/resources/spy.properties
similarity index 100%
rename from ruoyi-admin/src/main/resources/spy.properties
rename to ruoyi-common/ruoyi-common-mybatis/src/main/resources/spy.properties
From 9c84530593e74c1596f84d42ab1ddc13910954c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?=
<15040126243@163.com>
Date: Tue, 26 Dec 2023 00:46:34 +0800
Subject: [PATCH 4/8] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E6=A1=86?=
=?UTF-8?q?=E6=9E=B6=E6=95=B4=E4=BD=93=E6=8F=90=E9=AB=98=E6=9F=A5=E8=AF=A2?=
=?UTF-8?q?=E6=80=A7=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../web/controller/AuthController.java | 3 +-
.../dromara/web/service/IAuthStrategy.java | 5 +-
.../dromara/web/service/SysLoginService.java | 9 ++-
.../web/service/impl/EmailAuthStrategy.java | 9 ++-
.../service/impl/PasswordAuthStrategy.java | 9 ++-
.../web/service/impl/SmsAuthStrategy.java | 9 ++-
.../web/service/impl/SocialAuthStrategy.java | 9 ++-
.../web/service/impl/XcxAuthStrategy.java | 3 +-
.../common/core/constant/CacheNames.java | 5 ++
.../system/SysClientController.java | 2 +-
.../system/SysProfileController.java | 7 +-
.../controller/system/SysUserController.java | 6 +-
.../dromara/system/mapper/SysDeptMapper.java | 2 +-
.../dromara/system/mapper/SysPostMapper.java | 12 +---
.../dromara/system/mapper/SysRoleMapper.java | 15 +----
.../dromara/system/mapper/SysUserMapper.java | 36 +---------
.../system/service/ISysClientService.java | 4 +-
.../system/service/ISysRoleService.java | 9 +++
.../system/service/ISysUserService.java | 8 +--
.../service/impl/SysClientServiceImpl.java | 15 +++--
.../service/impl/SysDeptServiceImpl.java | 3 +-
.../impl/SysLogininforServiceImpl.java | 3 +-
.../service/impl/SysNoticeServiceImpl.java | 3 +-
.../service/impl/SysPostServiceImpl.java | 4 +-
.../service/impl/SysRoleServiceImpl.java | 14 +++-
.../service/impl/SysUserServiceImpl.java | 20 +++---
.../resources/mapper/system/SysDeptMapper.xml | 4 +-
.../resources/mapper/system/SysPostMapper.xml | 12 +---
.../resources/mapper/system/SysRoleMapper.xml | 16 ++---
.../resources/mapper/system/SysUserMapper.xml | 67 +------------------
30 files changed, 122 insertions(+), 201 deletions(-)
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java
index d0d79316e..a18ab50fe 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/AuthController.java
@@ -26,6 +26,7 @@ import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.common.websocket.utils.WebSocketUtils;
import org.dromara.system.domain.SysClient;
import org.dromara.system.domain.bo.SysTenantBo;
+import org.dromara.system.domain.vo.SysClientVo;
import org.dromara.system.domain.vo.SysTenantVo;
import org.dromara.system.service.ISysClientService;
import org.dromara.system.service.ISysConfigService;
@@ -81,7 +82,7 @@ public class AuthController {
// 授权类型和客户端id
String clientId = loginBody.getClientId();
String grantType = loginBody.getGrantType();
- SysClient client = clientService.queryByClientId(clientId);
+ SysClientVo client = clientService.queryByClientId(clientId);
// 查询不到 client 或 client 内不包含 grantType
if (ObjectUtil.isNull(client) || !StringUtils.contains(client.getGrantType(), grantType)) {
log.info("客户端id: {} 认证类型:{} 异常!.", clientId, grantType);
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/IAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/IAuthStrategy.java
index d4f9c73f7..44eaece58 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/service/IAuthStrategy.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/service/IAuthStrategy.java
@@ -4,6 +4,7 @@ package org.dromara.web.service;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.SpringUtils;
import org.dromara.system.domain.SysClient;
+import org.dromara.system.domain.vo.SysClientVo;
import org.dromara.web.domain.vo.LoginVo;
/**
@@ -18,7 +19,7 @@ public interface IAuthStrategy {
/**
* 登录
*/
- static LoginVo login(String body, SysClient client, String grantType) {
+ static LoginVo login(String body, SysClientVo client, String grantType) {
// 授权类型和客户端id
String beanName = grantType + BASE_NAME;
if (!SpringUtils.containsBean(beanName)) {
@@ -31,6 +32,6 @@ public interface IAuthStrategy {
/**
* 登录
*/
- LoginVo login(String body, SysClient client);
+ LoginVo login(String body, SysClientVo client);
}
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java
index 37802b7f0..28332a3d9 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java
@@ -25,11 +25,13 @@ import org.dromara.common.tenant.exception.TenantException;
import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.system.domain.SysUser;
import org.dromara.system.domain.bo.SysSocialBo;
+import org.dromara.system.domain.vo.SysRoleVo;
import org.dromara.system.domain.vo.SysSocialVo;
import org.dromara.system.domain.vo.SysTenantVo;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.mapper.SysUserMapper;
import org.dromara.system.service.ISysPermissionService;
+import org.dromara.system.service.ISysRoleService;
import org.dromara.system.service.ISysSocialService;
import org.dromara.system.service.ISysTenantService;
import org.springframework.beans.factory.annotation.Value;
@@ -59,6 +61,7 @@ public class SysLoginService {
private final ISysTenantService tenantService;
private final ISysPermissionService permissionService;
private final ISysSocialService sysSocialService;
+ private final ISysRoleService roleService;
private final SysUserMapper userMapper;
@@ -147,8 +150,10 @@ public class SysLoginService {
loginUser.setMenuPermission(permissionService.getMenuPermission(user.getUserId()));
loginUser.setRolePermission(permissionService.getRolePermission(user.getUserId()));
loginUser.setDeptName(ObjectUtil.isNull(user.getDept()) ? "" : user.getDept().getDeptName());
- List roles = BeanUtil.copyToList(user.getRoles(), RoleDTO.class);
- loginUser.setRoles(roles);
+ List roles = DataPermissionHelper.ignore(() -> {
+ return roleService.selectRolesByUserId(user.getUserId());
+ });
+ loginUser.setRoles(BeanUtil.copyToList(roles, RoleDTO.class));
return loginUser;
}
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java
index a2636bc22..38fdc448b 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/EmailAuthStrategy.java
@@ -23,6 +23,7 @@ import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.system.domain.SysClient;
import org.dromara.system.domain.SysUser;
+import org.dromara.system.domain.vo.SysClientVo;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.mapper.SysUserMapper;
import org.dromara.web.domain.vo.LoginVo;
@@ -44,7 +45,7 @@ public class EmailAuthStrategy implements IAuthStrategy {
private final SysUserMapper userMapper;
@Override
- public LoginVo login(String body, SysClient client) {
+ public LoginVo login(String body, SysClientVo client) {
EmailLoginBody loginBody = JsonUtils.parseObject(body, EmailLoginBody.class);
ValidatorUtils.validate(loginBody);
String tenantId = loginBody.getTenantId();
@@ -90,9 +91,7 @@ public class EmailAuthStrategy implements IAuthStrategy {
private SysUserVo loadUserByEmail(String tenantId, String email) {
return TenantHelper.dynamic(tenantId, () -> {
- SysUser user = userMapper.selectOne(new LambdaQueryWrapper()
- .select(SysUser::getEmail, SysUser::getStatus)
- .eq(SysUser::getEmail, email));
+ SysUserVo user = userMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getEmail, email));
if (ObjectUtil.isNull(user)) {
log.info("登录用户:{} 不存在.", email);
throw new UserException("user.not.exists", email);
@@ -100,7 +99,7 @@ public class EmailAuthStrategy implements IAuthStrategy {
log.info("登录用户:{} 已被停用.", email);
throw new UserException("user.blocked", email);
}
- return userMapper.selectUserByEmail(email);
+ return user;
});
}
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java
index bcb5916d3..cd33ea408 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/PasswordAuthStrategy.java
@@ -26,6 +26,7 @@ import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.common.web.config.properties.CaptchaProperties;
import org.dromara.system.domain.SysClient;
import org.dromara.system.domain.SysUser;
+import org.dromara.system.domain.vo.SysClientVo;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.mapper.SysUserMapper;
import org.dromara.web.domain.vo.LoginVo;
@@ -48,7 +49,7 @@ public class PasswordAuthStrategy implements IAuthStrategy {
private final SysUserMapper userMapper;
@Override
- public LoginVo login(String body, SysClient client) {
+ public LoginVo login(String body, SysClientVo client) {
PasswordLoginBody loginBody = JsonUtils.parseObject(body, PasswordLoginBody.class);
ValidatorUtils.validate(loginBody);
String tenantId = loginBody.getTenantId();
@@ -109,9 +110,7 @@ public class PasswordAuthStrategy implements IAuthStrategy {
private SysUserVo loadUserByUsername(String tenantId, String username) {
return TenantHelper.dynamic(tenantId, () -> {
- SysUser user = userMapper.selectOne(new LambdaQueryWrapper()
- .select(SysUser::getUserName, SysUser::getStatus)
- .eq(SysUser::getUserName, username));
+ SysUserVo user = userMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getUserName, username));
if (ObjectUtil.isNull(user)) {
log.info("登录用户:{} 不存在.", username);
throw new UserException("user.not.exists", username);
@@ -119,7 +118,7 @@ public class PasswordAuthStrategy implements IAuthStrategy {
log.info("登录用户:{} 已被停用.", username);
throw new UserException("user.blocked", username);
}
- return userMapper.selectUserByUserName(username);
+ return user;
});
}
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java
index a4fa11c8e..f883632f9 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SmsAuthStrategy.java
@@ -23,6 +23,7 @@ import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.system.domain.SysClient;
import org.dromara.system.domain.SysUser;
+import org.dromara.system.domain.vo.SysClientVo;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.mapper.SysUserMapper;
import org.dromara.web.domain.vo.LoginVo;
@@ -44,7 +45,7 @@ public class SmsAuthStrategy implements IAuthStrategy {
private final SysUserMapper userMapper;
@Override
- public LoginVo login(String body, SysClient client) {
+ public LoginVo login(String body, SysClientVo client) {
SmsLoginBody loginBody = JsonUtils.parseObject(body, SmsLoginBody.class);
ValidatorUtils.validate(loginBody);
String tenantId = loginBody.getTenantId();
@@ -90,9 +91,7 @@ public class SmsAuthStrategy implements IAuthStrategy {
private SysUserVo loadUserByPhonenumber(String tenantId, String phonenumber) {
return TenantHelper.dynamic(tenantId, () -> {
- SysUser user = userMapper.selectOne(new LambdaQueryWrapper()
- .select(SysUser::getPhonenumber, SysUser::getStatus)
- .eq(SysUser::getPhonenumber, phonenumber));
+ SysUserVo user = userMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getPhonenumber, phonenumber));
if (ObjectUtil.isNull(user)) {
log.info("登录用户:{} 不存在.", phonenumber);
throw new UserException("user.not.exists", phonenumber);
@@ -100,7 +99,7 @@ public class SmsAuthStrategy implements IAuthStrategy {
log.info("登录用户:{} 已被停用.", phonenumber);
throw new UserException("user.blocked", phonenumber);
}
- return userMapper.selectUserByPhonenumber(phonenumber);
+ return user;
});
}
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java
index a12386e94..4b00ddb8a 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/SocialAuthStrategy.java
@@ -25,6 +25,7 @@ import org.dromara.common.social.utils.SocialUtils;
import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.system.domain.SysClient;
import org.dromara.system.domain.SysUser;
+import org.dromara.system.domain.vo.SysClientVo;
import org.dromara.system.domain.vo.SysSocialVo;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.mapper.SysUserMapper;
@@ -59,7 +60,7 @@ public class SocialAuthStrategy implements IAuthStrategy {
* @param client 客户端信息
*/
@Override
- public LoginVo login(String body, SysClient client) {
+ public LoginVo login(String body, SysClientVo client) {
SocialLoginBody loginBody = JsonUtils.parseObject(body, SocialLoginBody.class);
ValidatorUtils.validate(loginBody);
AuthResponse response = SocialUtils.loginAuth(
@@ -114,9 +115,7 @@ public class SocialAuthStrategy implements IAuthStrategy {
private SysUserVo loadUser(String tenantId, Long userId) {
return TenantHelper.dynamic(tenantId, () -> {
- SysUser user = userMapper.selectOne(new LambdaQueryWrapper()
- .select(SysUser::getUserName, SysUser::getStatus)
- .eq(SysUser::getUserId, userId));
+ SysUserVo user = userMapper.selectVoById(userId);
if (ObjectUtil.isNull(user)) {
log.info("登录用户:{} 不存在.", "");
throw new UserException("user.not.exists", "");
@@ -124,7 +123,7 @@ public class SocialAuthStrategy implements IAuthStrategy {
log.info("登录用户:{} 已被停用.", "");
throw new UserException("user.blocked", "");
}
- return userMapper.selectUserByUserName(user.getUserName());
+ return user;
});
}
diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/XcxAuthStrategy.java b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/XcxAuthStrategy.java
index e5aef1fad..ccab778cf 100644
--- a/ruoyi-admin/src/main/java/org/dromara/web/service/impl/XcxAuthStrategy.java
+++ b/ruoyi-admin/src/main/java/org/dromara/web/service/impl/XcxAuthStrategy.java
@@ -12,6 +12,7 @@ import org.dromara.common.core.utils.ValidatorUtils;
import org.dromara.common.json.utils.JsonUtils;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.system.domain.SysClient;
+import org.dromara.system.domain.vo.SysClientVo;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.web.domain.vo.LoginVo;
import org.dromara.web.service.IAuthStrategy;
@@ -31,7 +32,7 @@ public class XcxAuthStrategy implements IAuthStrategy {
private final SysLoginService loginService;
@Override
- public LoginVo login(String body, SysClient client) {
+ public LoginVo login(String body, SysClientVo client) {
XcxLoginBody loginBody = JsonUtils.parseObject(body, XcxLoginBody.class);
ValidatorUtils.validate(loginBody);
// xcxCode 为 小程序调用 wx.login 授权后获取
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java
index e59277aae..28ba17739 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/CacheNames.java
@@ -35,6 +35,11 @@ public interface CacheNames {
*/
String SYS_TENANT = GlobalConstants.GLOBAL_REDIS_KEY + "sys_tenant#30d";
+ /**
+ * 客户端
+ */
+ String SYS_CLIENT = GlobalConstants.GLOBAL_REDIS_KEY + "sys_client#30d";
+
/**
* 用户账户
*/
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java
index 61d30c76a..13be4a4a9 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysClientController.java
@@ -97,7 +97,7 @@ public class SysClientController extends BaseController {
@Log(title = "客户端管理", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus")
public R changeStatus(@RequestBody SysClientBo bo) {
- return toAjax(sysClientService.updateUserStatus(bo.getId(), bo.getStatus()));
+ return toAjax(sysClientService.updateUserStatus(bo.getClientId(), bo.getStatus()));
}
/**
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java
index f9c4b3d31..ccba0cf02 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java
@@ -19,6 +19,7 @@ import org.dromara.system.domain.vo.ProfileVo;
import org.dromara.system.domain.vo.SysOssVo;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.service.ISysOssService;
+import org.dromara.system.service.ISysRoleService;
import org.dromara.system.service.ISysUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.http.MediaType;
@@ -40,6 +41,7 @@ import java.util.Arrays;
public class SysProfileController extends BaseController {
private final ISysUserService userService;
+ private final ISysRoleService roleService;
private final ISysOssService ossService;
/**
@@ -48,10 +50,11 @@ public class SysProfileController extends BaseController {
@GetMapping
public R profile() {
SysUserVo user = userService.selectUserById(LoginHelper.getUserId());
+ user.setRoles(roleService.selectRolesByUserId(user.getUserId()));
ProfileVo profileVo = new ProfileVo();
profileVo.setUser(user);
- profileVo.setRoleGroup(userService.selectUserRoleGroup(user.getUserName()));
- profileVo.setPostGroup(userService.selectUserPostGroup(user.getUserName()));
+ profileVo.setRoleGroup(userService.selectUserRoleGroup(user.getUserId()));
+ profileVo.setPostGroup(userService.selectUserPostGroup(user.getUserId()));
return R.ok(profileVo);
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java
index beefe4a81..41319c182 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java
@@ -116,6 +116,7 @@ public class SysUserController extends BaseController {
if (ObjectUtil.isNull(user)) {
return R.fail("没有权限访问用户数据!");
}
+ user.setRoles(roleService.selectRolesByUserId(user.getUserId()));
userInfoVo.setUser(user);
userInfoVo.setPermissions(loginUser.getMenuPermission());
userInfoVo.setRoles(loginUser.getRolePermission());
@@ -142,7 +143,7 @@ public class SysUserController extends BaseController {
if (ObjectUtil.isNotNull(userId)) {
SysUserVo sysUser = userService.selectUserById(userId);
userInfoVo.setUser(sysUser);
- userInfoVo.setRoleIds(StreamUtils.toList(sysUser.getRoles(), SysRoleVo::getRoleId));
+ userInfoVo.setRoleIds(roleService.selectRoleListByUserId(userId));
userInfoVo.setPostIds(postService.selectPostListByUserId(userId));
}
return R.ok(userInfoVo);
@@ -241,8 +242,9 @@ public class SysUserController extends BaseController {
@SaCheckPermission("system:user:query")
@GetMapping("/authRole/{userId}")
public R authRole(@PathVariable Long userId) {
+ userService.checkUserDataScope(userId);
SysUserVo user = userService.selectUserById(userId);
- List roles = roleService.selectRolesByUserId(userId);
+ List roles = roleService.selectRolesAuthByUserId(userId);
SysUserInfoVo userInfoVo = new SysUserInfoVo();
userInfoVo.setUser(user);
userInfoVo.setRoles(LoginHelper.isSuperAdmin(userId) ? roles : StreamUtils.filter(roles, r -> !r.isSuperAdmin()));
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java
index 45ad77e9c..08dda662c 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysDeptMapper.java
@@ -32,7 +32,7 @@ public interface SysDeptMapper extends BaseMapperPlus {
@DataPermission({
@DataColumn(key = "deptName", value = "dept_id")
})
- SysDeptVo selectDeptById(Long deptId);
+ long countDeptById(Long deptId);
/**
* 根据角色ID查询部门树信息
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysPostMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysPostMapper.java
index 48e6a121f..d6d27596f 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysPostMapper.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysPostMapper.java
@@ -13,20 +13,12 @@ import java.util.List;
*/
public interface SysPostMapper extends BaseMapperPlus {
- /**
- * 根据用户ID获取岗位选择框列表
- *
- * @param userId 用户ID
- * @return 选中岗位ID列表
- */
- List selectPostListByUserId(Long userId);
-
/**
* 查询用户所属岗位组
*
- * @param userName 用户名
+ * @param userId 用户ID
* @return 结果
*/
- List selectPostsByUserName(String userName);
+ List selectPostsByUserId(Long userId);
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysRoleMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysRoleMapper.java
index 55ca76976..ac5a47e54 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysRoleMapper.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysRoleMapper.java
@@ -3,12 +3,12 @@ package org.dromara.system.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.annotation.DataColumn;
import org.dromara.common.mybatis.annotation.DataPermission;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.system.domain.SysRole;
import org.dromara.system.domain.vo.SysRoleVo;
-import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -51,21 +51,12 @@ public interface SysRoleMapper extends BaseMapperPlus {
*/
List selectRolePermissionByUserId(Long userId);
-
- /**
- * 根据用户ID获取角色选择框列表
- *
- * @param userId 用户ID
- * @return 选中角色ID列表
- */
- List selectRoleListByUserId(Long userId);
-
/**
* 根据用户ID查询角色
*
- * @param userName 用户名
+ * @param userId 用户ID
* @return 角色列表
*/
- List selectRolesByUserName(String userName);
+ List selectRolesByUserId(Long userId);
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java
index 43222253c..d349832dc 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java
@@ -61,41 +61,11 @@ public interface SysUserMapper extends BaseMapperPlus {
})
Page selectUnallocatedList(@Param("page") Page page, @Param(Constants.WRAPPER) Wrapper queryWrapper);
- /**
- * 通过用户名查询用户
- *
- * @param userName 用户名
- * @return 用户对象信息
- */
- SysUserVo selectUserByUserName(String userName);
-
- /**
- * 通过手机号查询用户
- *
- * @param phonenumber 手机号
- * @return 用户对象信息
- */
- SysUserVo selectUserByPhonenumber(String phonenumber);
-
- /**
- * 通过邮箱查询用户
- *
- * @param email 邮箱
- * @return 用户对象信息
- */
- SysUserVo selectUserByEmail(String email);
-
- /**
- * 通过用户ID查询用户
- *
- * @param userId 用户ID
- * @return 用户对象信息
- */
@DataPermission({
- @DataColumn(key = "deptName", value = "d.dept_id"),
- @DataColumn(key = "userName", value = "u.user_id")
+ @DataColumn(key = "deptName", value = "dept_id"),
+ @DataColumn(key = "userName", value = "user_id")
})
- SysUserVo selectUserById(Long userId);
+ long countUserById(Long userId);
@Override
@DataPermission({
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysClientService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysClientService.java
index db48d4b79..d0f8a3cbe 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysClientService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysClientService.java
@@ -25,7 +25,7 @@ public interface ISysClientService {
/**
* 查询客户端信息基于客户端id
*/
- SysClient queryByClientId(String clientId);
+ SysClientVo queryByClientId(String clientId);
/**
* 查询客户端管理列表
@@ -50,7 +50,7 @@ public interface ISysClientService {
/**
* 修改状态
*/
- int updateUserStatus(Long id, String status);
+ int updateUserStatus(String clientId, String status);
/**
* 校验并批量删除客户端管理信息
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysRoleService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysRoleService.java
index d2ee61f8a..f98a56733 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysRoleService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysRoleService.java
@@ -35,6 +35,14 @@ public interface ISysRoleService {
*/
List selectRolesByUserId(Long userId);
+ /**
+ * 根据用户ID查询角色列表(包含被授权状态)
+ *
+ * @param userId 用户ID
+ * @return 角色列表
+ */
+ List selectRolesAuthByUserId(Long userId);
+
/**
* 根据用户ID查询角色权限
*
@@ -180,4 +188,5 @@ public interface ISysRoleService {
int insertAuthUsers(Long roleId, Long[] userIds);
void cleanOnlineUserByRole(Long roleId);
+
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java
index bbe78be2b..6c7323c2b 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java
@@ -68,18 +68,18 @@ public interface ISysUserService {
/**
* 根据用户ID查询用户所属角色组
*
- * @param userName 用户名
+ * @param userId 用户ID
* @return 结果
*/
- String selectUserRoleGroup(String userName);
+ String selectUserRoleGroup(Long userId);
/**
* 根据用户ID查询用户所属岗位组
*
- * @param userName 用户名
+ * @param userId 用户ID
* @return 结果
*/
- String selectUserPostGroup(String userName);
+ String selectUserPostGroup(Long userId);
/**
* 校验用户名称是否唯一
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysClientServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysClientServiceImpl.java
index aecaf668c..26bc49157 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysClientServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysClientServiceImpl.java
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.dromara.common.core.constant.CacheNames;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
@@ -16,6 +17,8 @@ import org.dromara.system.domain.bo.SysClientBo;
import org.dromara.system.domain.vo.SysClientVo;
import org.dromara.system.mapper.SysClientMapper;
import org.dromara.system.service.ISysClientService;
+import org.springframework.cache.annotation.CacheEvict;
+import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import java.util.Collection;
@@ -48,9 +51,10 @@ public class SysClientServiceImpl implements ISysClientService {
/**
* 查询客户端管理
*/
+ @Cacheable(cacheNames = CacheNames.SYS_CLIENT, key = "#clientId")
@Override
- public SysClient queryByClientId(String clientId) {
- return baseMapper.selectOne(new LambdaQueryWrapper().eq(SysClient::getClientId, clientId));
+ public SysClientVo queryByClientId(String clientId) {
+ return baseMapper.selectVoOne(new LambdaQueryWrapper().eq(SysClient::getClientId, clientId));
}
/**
@@ -105,6 +109,7 @@ public class SysClientServiceImpl implements ISysClientService {
/**
* 修改客户端管理
*/
+ @CacheEvict(cacheNames = CacheNames.SYS_CLIENT, key = "#bo.clientId")
@Override
public Boolean updateByBo(SysClientBo bo) {
SysClient update = MapstructUtils.convert(bo, SysClient.class);
@@ -116,12 +121,13 @@ public class SysClientServiceImpl implements ISysClientService {
/**
* 修改状态
*/
+ @CacheEvict(cacheNames = CacheNames.SYS_CLIENT, key = "#clientId")
@Override
- public int updateUserStatus(Long id, String status) {
+ public int updateUserStatus(String clientId, String status) {
return baseMapper.update(null,
new LambdaUpdateWrapper()
.set(SysClient::getStatus, status)
- .eq(SysClient::getId, id));
+ .eq(SysClient::getClientId, clientId));
}
/**
@@ -134,6 +140,7 @@ public class SysClientServiceImpl implements ISysClientService {
/**
* 批量删除客户端管理
*/
+ @CacheEvict(cacheNames = CacheNames.SYS_CLIENT, allEntries = true)
@Override
public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) {
if (isValid) {
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java
index fe5cc0e54..1907bd966 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java
@@ -221,8 +221,7 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
if (LoginHelper.isSuperAdmin()) {
return;
}
- SysDeptVo dept = baseMapper.selectDeptById(deptId);
- if (ObjectUtil.isNull(dept)) {
+ if (baseMapper.countDeptById(deptId) == 0) {
throw new ServiceException("没有权限访问部门数据!");
}
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java
index d215d5951..150de00e4 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysLogininforServiceImpl.java
@@ -17,6 +17,7 @@ import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.system.domain.SysClient;
import org.dromara.system.domain.SysLogininfor;
import org.dromara.system.domain.bo.SysLogininforBo;
+import org.dromara.system.domain.vo.SysClientVo;
import org.dromara.system.domain.vo.SysLogininforVo;
import org.dromara.system.mapper.SysClientMapper;
import org.dromara.system.mapper.SysLogininforMapper;
@@ -61,7 +62,7 @@ public class SysLogininforServiceImpl implements ISysLogininforService {
final String ip = ServletUtils.getClientIP(request);
// 客户端信息
String clientid = request.getHeader(LoginHelper.CLIENT_KEY);
- SysClient client = null;
+ SysClientVo client = null;
if (StringUtils.isNotBlank(clientid)) {
client = clientService.queryByClientId(clientid);
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysNoticeServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysNoticeServiceImpl.java
index 8e2b5ac4a..18b7a08da 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysNoticeServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysNoticeServiceImpl.java
@@ -9,6 +9,7 @@ import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.system.domain.SysNotice;
+import org.dromara.system.domain.SysUser;
import org.dromara.system.domain.bo.SysNoticeBo;
import org.dromara.system.domain.vo.SysNoticeVo;
import org.dromara.system.domain.vo.SysUserVo;
@@ -68,7 +69,7 @@ public class SysNoticeServiceImpl implements ISysNoticeService {
lqw.like(StringUtils.isNotBlank(bo.getNoticeTitle()), SysNotice::getNoticeTitle, bo.getNoticeTitle());
lqw.eq(StringUtils.isNotBlank(bo.getNoticeType()), SysNotice::getNoticeType, bo.getNoticeType());
if (StringUtils.isNotBlank(bo.getCreateByName())) {
- SysUserVo sysUser = userMapper.selectUserByUserName(bo.getCreateByName());
+ SysUserVo sysUser = userMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getUserName, bo.getCreateByName()));
lqw.eq(SysNotice::getCreateBy, ObjectUtil.isNotNull(sysUser) ? sysUser.getUserId() : null);
}
lqw.orderByAsc(SysNotice::getNoticeId);
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java
index b69a06c5f..9e2912dc1 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.MapstructUtils;
+import org.dromara.common.core.utils.StreamUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -92,7 +93,8 @@ public class SysPostServiceImpl implements ISysPostService {
*/
@Override
public List selectPostListByUserId(Long userId) {
- return baseMapper.selectPostListByUserId(userId);
+ List list = baseMapper.selectPostsByUserId(userId);
+ return StreamUtils.toList(list, SysPostVo::getPostId);
}
/**
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java
index 8a2b9390f..a831f7e95 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysRoleServiceImpl.java
@@ -92,6 +92,17 @@ public class SysRoleServiceImpl implements ISysRoleService {
*/
@Override
public List selectRolesByUserId(Long userId) {
+ return baseMapper.selectRolesByUserId(userId);
+ }
+
+ /**
+ * 根据用户ID查询角色列表(包含被授权状态)
+ *
+ * @param userId 用户ID
+ * @return 角色列表
+ */
+ @Override
+ public List selectRolesAuthByUserId(Long userId) {
List userRoles = baseMapper.selectRolePermissionByUserId(userId);
List roles = selectRoleAll();
for (SysRoleVo role : roles) {
@@ -141,7 +152,8 @@ public class SysRoleServiceImpl implements ISysRoleService {
*/
@Override
public List selectRoleListByUserId(Long userId) {
- return baseMapper.selectRoleListByUserId(userId);
+ List list = baseMapper.selectRolesByUserId(userId);
+ return StreamUtils.toList(list, SysRoleVo::getRoleId);
}
/**
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java
index 7ee19e851..bde624407 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java
@@ -141,7 +141,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
*/
@Override
public SysUserVo selectUserByUserName(String userName) {
- return baseMapper.selectUserByUserName(userName);
+ return baseMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getUserName, userName));
}
/**
@@ -152,7 +152,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
*/
@Override
public SysUserVo selectUserByPhonenumber(String phonenumber) {
- return baseMapper.selectUserByPhonenumber(phonenumber);
+ return baseMapper.selectVoOne(new LambdaQueryWrapper().eq(SysUser::getPhonenumber, phonenumber));
}
/**
@@ -163,18 +163,18 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
*/
@Override
public SysUserVo selectUserById(Long userId) {
- return baseMapper.selectUserById(userId);
+ return baseMapper.selectVoById(userId);
}
/**
* 查询用户所属角色组
*
- * @param userName 用户名
+ * @param userId 用户ID
* @return 结果
*/
@Override
- public String selectUserRoleGroup(String userName) {
- List list = roleMapper.selectRolesByUserName(userName);
+ public String selectUserRoleGroup(Long userId) {
+ List list = roleMapper.selectRolesByUserId(userId);
if (CollUtil.isEmpty(list)) {
return StringUtils.EMPTY;
}
@@ -184,12 +184,12 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
/**
* 查询用户所属岗位组
*
- * @param userName 用户名
+ * @param userId 用户ID
* @return 结果
*/
@Override
- public String selectUserPostGroup(String userName) {
- List list = postMapper.selectPostsByUserName(userName);
+ public String selectUserPostGroup(Long userId) {
+ List list = postMapper.selectPostsByUserId(userId);
if (CollUtil.isEmpty(list)) {
return StringUtils.EMPTY;
}
@@ -261,7 +261,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
if (LoginHelper.isSuperAdmin()) {
return;
}
- if (ObjectUtil.isNull(baseMapper.selectUserById(userId))) {
+ if (baseMapper.countUserById(userId) == 0) {
throw new ServiceException("没有权限访问用户数据!");
}
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
index bba949d7b..55c9b37c0 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -11,8 +11,8 @@
select * from sys_dept ${ew.getCustomSqlSegment}
-