feat(user): 新增用户信息更新接口

新增 KeyboardUserReq DTO、Mapper updateByuid 方法及对应 XML,支持昵称/性别/头像/邮箱字段动态更新;补充 USER_INFO_UPDATE_FAILED 错误码,并在 UserController 与 UserServiceImpl 实现 updateUserInfo 逻辑。
This commit is contained in:
2025-12-03 19:27:24 +08:00
parent c4dbc9e475
commit 55aba799b5
7 changed files with 92 additions and 4 deletions

View File

@@ -1,10 +1,13 @@
package com.yolo.keyborad.controller;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.bean.BeanUtil;
import com.yolo.keyborad.common.BaseResponse;
import com.yolo.keyborad.common.ResultUtils;
import com.yolo.keyborad.model.dto.AppleLoginReq;
import com.yolo.keyborad.model.dto.user.KeyboardUserReq;
import com.yolo.keyborad.model.dto.user.UserLoginDTO;
import com.yolo.keyborad.model.entity.KeyboardUser;
import com.yolo.keyborad.model.vo.user.KeyboardUserRespVO;
import com.yolo.keyborad.service.IAppleService;
import com.yolo.keyborad.service.UserService;
@@ -14,6 +17,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -42,7 +46,7 @@ public class UserController {
*/
@PostMapping("/appleLogin")
@Operation(summary = "苹果登录", description = "苹果登录接口")
@Parameter(name = "code",required = true,description = "苹果登录凭证",example = "123456")
@Parameter(name = "code", required = true, description = "苹果登录凭证", example = "123456")
public BaseResponse<KeyboardUserRespVO> appleLogin(@RequestBody AppleLoginReq appleLoginReq) throws Exception {
return ResultUtils.success(appleService.login(appleLoginReq.getIdentityToken()));
}
@@ -56,7 +60,13 @@ public class UserController {
@PostMapping("/login")
@Operation(summary = "登录", description = "登录接口")
public BaseResponse<KeyboardUserRespVO> login(@RequestBody UserLoginDTO userLoginDTO) {
public BaseResponse<KeyboardUserRespVO> login(@RequestBody UserLoginDTO userLoginDTO) {
return ResultUtils.success(userService.login(userLoginDTO));
}
}
@PostMapping("/update")
@Operation(summary = "更新用户", description = "更新用户接口")
public BaseResponse<Boolean> update(@RequestBody KeyboardUserReq keyboardUserReq) {
return ResultUtils.success(userService.updateUserInfo(keyboardUserReq));
}
}