From a7c0dac0284663184d19806730380e3c5198db14 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 01 三月 2024 10:39:54 +0800
Subject: [PATCH] 文档

---
 ycl-server/src/main/java/com/ycl/system/controller/SysProfileController.java |   53 +++++++++++++++++++++++++++--------------------------
 1 files changed, 27 insertions(+), 26 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/system/controller/SysProfileController.java b/ycl-server/src/main/java/com/ycl/system/controller/SysProfileController.java
index 9114491..588c7bb 100644
--- a/ycl-server/src/main/java/com/ycl/system/controller/SysProfileController.java
+++ b/ycl-server/src/main/java/com/ycl/system/controller/SysProfileController.java
@@ -4,6 +4,7 @@
 import com.ycl.config.PlatformConfig;
 import com.ycl.system.AjaxResult;
 import com.ycl.system.entity.SysUser;
+import com.ycl.system.mapper.SysUserMapper;
 import com.ycl.system.model.LoginUser;
 import com.ycl.system.service.ISysUserService;
 import com.ycl.system.service.TokenService;
@@ -12,30 +13,33 @@
 import com.ycl.utils.file.MimeTypeUtils;
 import enumeration.BusinessType;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import utils.StringUtils;
 
 /**
  * 涓汉淇℃伅 涓氬姟澶勭悊
- * 
+ *
  * @author ruoyi
  */
 @RestController
 @RequestMapping("/system/user/profile")
-public class SysProfileController extends BaseController{
+public class SysProfileController extends BaseController {
     @Autowired
     private ISysUserService userService;
 
     @Autowired
     private TokenService tokenService;
 
+    @Autowired
+    private SysUserMapper userMapper;
+
     /**
      * 涓汉淇℃伅
      */
     @GetMapping
-    public AjaxResult profile()
-    {
+    public AjaxResult profile() {
         LoginUser loginUser = getLoginUser();
         SysUser user = loginUser.getUser();
         AjaxResult ajax = AjaxResult.success(user);
@@ -49,24 +53,20 @@
      */
     @Log(title = "涓汉淇℃伅", businessType = BusinessType.UPDATE)
     @PutMapping
-    public AjaxResult updateProfile(@RequestBody SysUser user)
-    {
+    public AjaxResult updateProfile(@RequestBody SysUser user) {
         LoginUser loginUser = getLoginUser();
         SysUser currentUser = loginUser.getUser();
         currentUser.setNickName(user.getNickName());
         currentUser.setEmail(user.getEmail());
         currentUser.setPhonenumber(user.getPhonenumber());
         currentUser.setSex(user.getSex());
-        if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(currentUser))
-        {
+        if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(currentUser)) {
             return error("淇敼鐢ㄦ埛'" + loginUser.getUsername() + "'澶辫触锛屾墜鏈哄彿鐮佸凡瀛樺湪");
         }
-        if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(currentUser))
-        {
+        if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(currentUser)) {
             return error("淇敼鐢ㄦ埛'" + loginUser.getUsername() + "'澶辫触锛岄偖绠辫处鍙峰凡瀛樺湪");
         }
-        if (userService.updateUserProfile(currentUser) > 0)
-        {
+        if (userService.updateUserProfile(currentUser) > 0) {
             // 鏇存柊缂撳瓨鐢ㄦ埛淇℃伅
             tokenService.setLoginUser(loginUser);
             return success();
@@ -79,26 +79,30 @@
      */
     @Log(title = "涓汉淇℃伅", businessType = BusinessType.UPDATE)
     @PutMapping("/updatePwd")
-    public AjaxResult updatePwd(String oldPassword, String newPassword)
-    {
+    @Transactional(rollbackFor = Exception.class)
+    public AjaxResult updatePwd(String oldPassword, String newPassword, Short firstLogin) {
         LoginUser loginUser = getLoginUser();
         String userName = loginUser.getUsername();
         String password = loginUser.getPassword();
-        if (!SecurityUtils.matchesPassword(oldPassword, password))
-        {
+        if (firstLogin != 0 && !SecurityUtils.matchesPassword(oldPassword, password)) {
             return error("淇敼瀵嗙爜澶辫触锛屾棫瀵嗙爜閿欒");
         }
-        if (SecurityUtils.matchesPassword(newPassword, password))
-        {
+        if (SecurityUtils.matchesPassword(newPassword, password)) {
             return error("鏂板瘑鐮佷笉鑳戒笌鏃у瘑鐮佺浉鍚�");
         }
         newPassword = SecurityUtils.encryptPassword(newPassword);
-        if (userService.resetUserPwd(userName, newPassword) > 0)
-        {
+        if (userService.resetUserPwd(userName, newPassword) > 0) {
             // 鏇存柊缂撳瓨鐢ㄦ埛瀵嗙爜
             loginUser.getUser().setPassword(newPassword);
             tokenService.setLoginUser(loginUser);
             return success();
+        }
+        //灏嗙姸鎬佹敼涓哄凡淇敼杩囧瘑鐮�
+        if (firstLogin == 0) {
+            SysUser user = new SysUser();
+            user.setUserId(loginUser.getUserId());
+            user.setFirstLogin((short) 1);
+            userMapper.updateUser(user);
         }
         return error("淇敼瀵嗙爜寮傚父锛岃鑱旂郴绠$悊鍛�");
     }
@@ -108,14 +112,11 @@
      */
     @Log(title = "鐢ㄦ埛澶村儚", businessType = BusinessType.UPDATE)
     @PostMapping("/avatar")
-    public AjaxResult avatar(@RequestParam("avatarfile") MultipartFile file) throws Exception
-    {
-        if (!file.isEmpty())
-        {
+    public AjaxResult avatar(@RequestParam("avatarfile") MultipartFile file) throws Exception {
+        if (!file.isEmpty()) {
             LoginUser loginUser = getLoginUser();
             String avatar = FileUploadUtils.upload(PlatformConfig.getAvatarPath(), file, MimeTypeUtils.IMAGE_EXTENSION);
-            if (userService.updateUserAvatar(loginUser.getUsername(), avatar))
-            {
+            if (userService.updateUserAvatar(loginUser.getUsername(), avatar)) {
                 AjaxResult ajax = AjaxResult.success();
                 ajax.put("imgUrl", avatar);
                 // 鏇存柊缂撳瓨鐢ㄦ埛澶村儚

--
Gitblit v1.8.0