From b39a20d6b37f96e1d44c6c194ce56bd30593e3ad Mon Sep 17 00:00:00 2001
From: feige <791364011@qq.com>
Date: 星期四, 29 八月 2024 22:20:31 +0800
Subject: [PATCH] 登录用用户昵称了

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java |   19 +++++----
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java   |   16 ++++++++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java  |    2 
 ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml                    |   13 +++++-
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java           |    7 +++
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java              |    7 +++
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java   |    5 +-
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java       |   11 +++++
 8 files changed, 66 insertions(+), 14 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
index a0b08c7..737fb4c 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
@@ -48,7 +48,7 @@
     public AjaxResult login(@RequestBody LoginBody loginBody)
     {
         // 鐢熸垚浠ょ墝
-        String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
+        String token = loginService.login(loginBody.getNickName(), loginBody.getPassword(), loginBody.getCode(),
                 loginBody.getUuid());
 
         HashMap<String, String> tokenMap = new HashMap<>();
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 5f2914d..46d357b 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
@@ -252,9 +252,10 @@
 //        user.setSex(userAll.getSex()=="鐢�"?"1":"0");
     //    user.setPostIds(userAll.getPostIds());
       //  user.set
-        if (!userService.checkUserNameUnique(user))
+
+        if (!userService.checkNickNameUnique(user))
         {
-            return error("鏂板鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛岀櫥褰曡处鍙峰凡瀛樺湪");
+            return error("鏂板鐢ㄦ埛'" + user.getNickName() + "'澶辫触锛岀櫥褰曡处鍙峰凡瀛樺湪");
         }
         else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user))
         {
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java
index b5bc8c8..82d6107 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java
@@ -7,11 +7,22 @@
  */
 public class LoginBody
 {
+    public String getNickName() {
+        return nickName;
+    }
+
+    public void setNickName(String nickName) {
+        this.nickName = nickName;
+    }
+
     /**
      * 鐢ㄦ埛鍚�
      */
     private String username;
 
+
+    private String nickName;
+
     /**
      * 鐢ㄦ埛瀵嗙爜
      */
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
index 1f2acbd..0534071 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
@@ -115,23 +115,23 @@
     /**
      * 鐧诲綍楠岃瘉
      * 
-     * @param username 鐢ㄦ埛鍚�
+     * @param nickName 鐢ㄦ埛鍚�
      * @param password 瀵嗙爜
      * @param code 楠岃瘉鐮�
      * @param uuid 鍞竴鏍囪瘑
      * @return 缁撴灉
      */
-    public String login(String username, String password, String code, String uuid)
+    public String login(String nickName, String password, String code, String uuid)
     {
         // 楠岃瘉鐮佹牎楠�
-        validateCaptcha(username, code, uuid);
+        validateCaptcha(nickName, code, uuid);
         // 鐧诲綍鍓嶇疆鏍¢獙
-        loginPreCheck(username, password);
+        loginPreCheck(nickName, password);
         // 鐢ㄦ埛楠岃瘉
         Authentication authentication = null;
         try
         {
-            UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username, password);
+            UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(nickName, password);
             AuthenticationContextHolder.setContext(authenticationToken);
             // 璇ユ柟娉曚細鍘昏皟鐢║serDetailsServiceImpl.loadUserByUsername
             authentication = authenticationManager.authenticate(authenticationToken);
@@ -140,12 +140,12 @@
         {
             if (e instanceof BadCredentialsException)
             {
-                AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
+                AsyncManager.me().execute(AsyncFactory.recordLogininfor(nickName, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
                 throw new UserPasswordNotMatchException();
             }
             else
             {
-                AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, e.getMessage()));
+                AsyncManager.me().execute(AsyncFactory.recordLogininfor(nickName, Constants.LOGIN_FAIL, e.getMessage()));
                 throw new ServiceException(e.getMessage());
             }
         }
@@ -153,12 +153,13 @@
         {
             AuthenticationContextHolder.clearContext();
         }
-        AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
+        AsyncManager.me().execute(AsyncFactory.recordLogininfor(nickName, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
         LoginUser loginUser = (LoginUser) authentication.getPrincipal();
         recordLoginInfo(loginUser.getUserId());
 
 
-        SysUser sysUser = userService.selectUserByUserName(username);
+        SysUser sysUser = userService.selectUserByNickName(nickName);
+                //.selectUserByUserName(username);
 
         Long userId = sysUser.getUserId();
         // 鐢熸垚token
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
index 2d7a7f2..31c3856 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
@@ -45,6 +45,9 @@
      */
     public SysUser selectUserByUserName(String userName);
 
+
+    public SysUser selectUserByNickName(String nickName);
+
     /**
      * 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛
      * 
@@ -115,6 +118,10 @@
      */
     public SysUser checkUserNameUnique(String userName);
 
+
+    public SysUser checkNickNameUnique(String nickName);
+
+
     /**
      * 鏍¢獙鎵嬫満鍙风爜鏄惁鍞竴
      *
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 b4bb6e3..fa5d65c 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
@@ -48,6 +48,9 @@
      */
     public SysUser selectUserByUserName(String userName);
 
+
+    public SysUser selectUserByNickName(String nickName);
+
     /**
      * 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛
      * 
@@ -80,6 +83,10 @@
      */
     public boolean checkUserNameUnique(SysUser user);
 
+
+
+    public boolean checkNickNameUnique(SysUser user);
+
     /**
      * 鏍¢獙鎵嬫満鍙风爜鏄惁鍞竴
      *
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 54c4a1c..fefba78 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
@@ -135,6 +135,11 @@
         return userMapper.selectUserByUserName(userName);
     }
 
+    @Override
+    public SysUser selectUserByNickName(String nickName) {
+        return userMapper.selectUserByNickName(nickName);
+    }
+
     /**
      * 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛
      * 
@@ -199,6 +204,17 @@
         return UserConstants.UNIQUE;
     }
 
+    @Override
+    public boolean checkNickNameUnique(SysUser user) {
+        Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
+        SysUser info = userMapper.checkUserNameUnique(user.getUserName());
+        if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue())
+        {
+            return UserConstants.NOT_UNIQUE;
+        }
+        return UserConstants.UNIQUE;
+    }
+
     /**
      * 鏍¢獙鎵嬫満鍙风爜鏄惁鍞竴
      *
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index 32147da..1c14244 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -133,7 +133,14 @@
 	    <include refid="selectUserVo"/>
 		where u.user_name = #{userName} and u.del_flag = '0'
 	</select>
-	
+
+
+	<select id="selectUserByNickName" parameterType="String" resultMap="SysUserResult">
+		<include refid="selectUserVo"/>
+		where u.nick_name = #{nickName} and u.del_flag = '0'
+	</select>
+
+
 	<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
 		<include refid="selectUserVo"/>
 		where u.user_id = #{userId}
@@ -142,7 +149,9 @@
 	<select id="checkUserNameUnique" parameterType="String" resultMap="SysUserResult">
 		select user_id, user_name from sys_user where user_name = #{userName} and del_flag = '0' limit 1
 	</select>
-	
+	<select id="checkNickNameUnique" parameterType="String" resultMap="SysUserResult">
+		select user_id, nick_name from sys_user where nick_name = #{nickName} and del_flag = '0' limit 1
+	</select>
 	<select id="checkPhoneUnique" parameterType="String" resultMap="SysUserResult">
 		select user_id, phonenumber from sys_user where phonenumber = #{phonenumber} and del_flag = '0' limit 1
 	</select>

--
Gitblit v1.9.1