From 98bb1f00eeca2b459bd8b9fe5a745e65c6081f97 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期三, 19 十月 2022 19:06:14 +0800
Subject: [PATCH] fix 修复 修改用户信息 校验用户名未排除当前用户问题
---
ruoyi-system/src/main/java/com/ruoyi/system/service/SysRegisterService.java | 8 ++++----
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 8 +++++---
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java | 2 +-
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 4 ++--
4 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
index e003e65..7e358d5 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -136,7 +136,7 @@
@Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.INSERT)
@PostMapping
public R<Void> add(@Validated @RequestBody SysUser user) {
- if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName()))) {
+ if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {
return R.fail("鏂板鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛岀櫥褰曡处鍙峰凡瀛樺湪");
} else if (StringUtils.isNotEmpty(user.getPhonenumber())
&& UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
@@ -158,7 +158,7 @@
public R<Void> edit(@Validated @RequestBody SysUser user) {
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
- if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName()))) {
+ if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {
return R.fail("淇敼鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛岀櫥褰曡处鍙峰凡瀛樺湪");
} else if (StringUtils.isNotEmpty(user.getPhonenumber())
&& UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
index 97e73e0..042efc2 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
@@ -86,7 +86,7 @@
* @param user 鐢ㄦ埛淇℃伅
* @return 缁撴灉
*/
- String checkUserNameUnique(String userName);
+ String checkUserNameUnique(SysUser user);
/**
* 鏍¢獙鎵嬫満鍙风爜鏄惁鍞竴
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysRegisterService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysRegisterService.java
index 6d861e0..983173d 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysRegisterService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysRegisterService.java
@@ -48,15 +48,15 @@
if (captchaEnabled) {
validateCaptcha(username, registerBody.getCode(), registerBody.getUuid(), request);
}
-
- if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(username))) {
- throw new UserException("user.register.save.error", username);
- }
SysUser sysUser = new SysUser();
sysUser.setUserName(username);
sysUser.setNickName(username);
sysUser.setPassword(BCrypt.hashpw(password));
sysUser.setUserType(userType);
+
+ if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(sysUser))) {
+ throw new UserException("user.register.save.error", username);
+ }
boolean regFlag = userService.registerUser(sysUser);
if (!regFlag) {
throw new UserException("user.register.error");
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 39ad727..4e63f17 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -193,12 +193,14 @@
/**
* 鏍¢獙鐢ㄦ埛鍚嶇О鏄惁鍞竴
*
- * @param userName 鐢ㄦ埛鍚嶇О
+ * @param user 鐢ㄦ埛淇℃伅
* @return 缁撴灉
*/
@Override
- public String checkUserNameUnique(String userName) {
- boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, userName));
+ public String checkUserNameUnique(SysUser user) {
+ boolean exist = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
+ .eq(SysUser::getUserName, user.getUserName())
+ .ne(ObjectUtil.isNotNull(user.getUserId()), SysUser::getUserId, user.getUserId()));
if (exist) {
return UserConstants.NOT_UNIQUE;
}
--
Gitblit v1.9.3