From a4a904acc5f4de80d30eafe19dd97f3cc8f56a0b Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 29 九月 2025 17:17:34 +0800
Subject: [PATCH] 新问题 25-9-28
---
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..253a7ca 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,25 +79,29 @@
*/
@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);
+ //灏嗙姸鎬佹敼涓哄凡淇敼杩囧瘑鐮�
+ if (firstLogin == 0) {
+ SysUser user = new SysUser();
+ user.setUserId(loginUser.getUserId());
+ user.setFirstLogin((short) 1);
+ userMapper.updateUser(user);
+ }
return success();
}
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