diff --git a/src/main/java/com/yolo/keyborad/controller/UserController.java b/src/main/java/com/yolo/keyborad/controller/UserController.java index 7f4ae34..ac0f14b 100644 --- a/src/main/java/com/yolo/keyborad/controller/UserController.java +++ b/src/main/java/com/yolo/keyborad/controller/UserController.java @@ -97,4 +97,10 @@ public class UserController { public BaseResponse verifyMail(@RequestBody VerifyCodeDTO verifyCodeDTO) { return ResultUtils.success(userService.verifyMailCode(verifyCodeDTO)); } + + @PostMapping("/resetPassWord") + @Operation(summary = "重置密码",description = "重置密码接口") + public BaseResponse resetPassWord(@RequestBody ResetPassWordDTO resetPassWordDTO) { + return ResultUtils.success(userService.resetPassWord(resetPassWordDTO)); + } } \ No newline at end of file diff --git a/src/main/java/com/yolo/keyborad/model/dto/user/ResetPassWordDTO.java b/src/main/java/com/yolo/keyborad/model/dto/user/ResetPassWordDTO.java new file mode 100644 index 0000000..cc4d352 --- /dev/null +++ b/src/main/java/com/yolo/keyborad/model/dto/user/ResetPassWordDTO.java @@ -0,0 +1,21 @@ +package com.yolo.keyborad.model.dto.user; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/* + * @author: ziin + * @date: 2025/12/4 19:17 + */ +@Data +public class ResetPassWordDTO { + + @Schema(description = "邮箱地址") + private String mailAddress; + + @Schema(description = "密码") + private String password; + + @Schema(description = "确认密码") + private String confirmPassword; +} diff --git a/src/main/java/com/yolo/keyborad/service/UserService.java b/src/main/java/com/yolo/keyborad/service/UserService.java index 80503a8..bd4d72c 100644 --- a/src/main/java/com/yolo/keyborad/service/UserService.java +++ b/src/main/java/com/yolo/keyborad/service/UserService.java @@ -24,4 +24,6 @@ public interface UserService extends IService { void sendVerifyMail(SendMailDTO userRegisterDTO); Boolean verifyMailCode(VerifyCodeDTO verifyCodeDTO); + + Boolean resetPassWord(ResetPassWordDTO resetPassWordDTO); } diff --git a/src/main/java/com/yolo/keyborad/service/impl/UserServiceImpl.java b/src/main/java/com/yolo/keyborad/service/impl/UserServiceImpl.java index 0577f33..6307cc8 100644 --- a/src/main/java/com/yolo/keyborad/service/impl/UserServiceImpl.java +++ b/src/main/java/com/yolo/keyborad/service/impl/UserServiceImpl.java @@ -160,4 +160,22 @@ public class UserServiceImpl extends ServiceImpl() + .eq(KeyboardUser::getEmail, resetPassWordDTO.getMailAddress()) + .eq(KeyboardUser::getStatus, false)); + + if (keyboardUser == null) { + throw new BusinessException(ErrorCode.USER_NOT_FOUND); + } + if (resetPassWordDTO.getPassword().equals(resetPassWordDTO.getConfirmPassword())) { + throw new BusinessException(ErrorCode.CONFIRM_PASSWORD_NOT_MATCH); + } + keyboardUser.setPassword(passwordEncoder.encode(resetPassWordDTO.getPassword())); + return keyboardUserMapper.updateById(keyboardUser) > 0; + + } }