Commit 5d4a7ffa3be9ca4e4bfa0d03e788bd6aaabdbdf4
1 parent
87e5b2be
1. 会员用户的修改密码 API 的优化
Showing
11 changed files
with
59 additions
and
72 deletions
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/AppAuthController.java
| @@ -8,10 +8,10 @@ import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated; | @@ -8,10 +8,10 @@ import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated; | ||
| 8 | import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; | 8 | import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; |
| 9 | import cn.iocoder.yudao.module.member.controller.app.auth.vo.*; | 9 | import cn.iocoder.yudao.module.member.controller.app.auth.vo.*; |
| 10 | import cn.iocoder.yudao.module.member.service.auth.MemberAuthService; | 10 | import cn.iocoder.yudao.module.member.service.auth.MemberAuthService; |
| 11 | -import io.swagger.v3.oas.annotations.tags.Tag; | 11 | +import io.swagger.v3.oas.annotations.Operation; |
| 12 | import io.swagger.v3.oas.annotations.Parameter; | 12 | import io.swagger.v3.oas.annotations.Parameter; |
| 13 | import io.swagger.v3.oas.annotations.Parameters; | 13 | import io.swagger.v3.oas.annotations.Parameters; |
| 14 | -import io.swagger.v3.oas.annotations.Operation; | 14 | +import io.swagger.v3.oas.annotations.tags.Tag; |
| 15 | import lombok.extern.slf4j.Slf4j; | 15 | import lombok.extern.slf4j.Slf4j; |
| 16 | import org.springframework.validation.annotation.Validated; | 16 | import org.springframework.validation.annotation.Validated; |
| 17 | import org.springframework.web.bind.annotation.*; | 17 | import org.springframework.web.bind.annotation.*; |
| @@ -92,14 +92,6 @@ public class AppAuthController { | @@ -92,14 +92,6 @@ public class AppAuthController { | ||
| 92 | return success(true); | 92 | return success(true); |
| 93 | } | 93 | } |
| 94 | 94 | ||
| 95 | - @PostMapping("/update-password") | ||
| 96 | - @Operation(summary = "修改用户密码", description = "用户修改密码时使用") | ||
| 97 | - @PreAuthenticated | ||
| 98 | - public CommonResult<Boolean> updatePassword(@RequestBody @Valid AppAuthUpdatePasswordReqVO reqVO) { | ||
| 99 | - authService.updatePassword(getLoginUserId(), reqVO); | ||
| 100 | - return success(true); | ||
| 101 | - } | ||
| 102 | - | ||
| 103 | // ========== 社交登录相关 ========== | 95 | // ========== 社交登录相关 ========== |
| 104 | 96 | ||
| 105 | @GetMapping("/social-auth-redirect") | 97 | @GetMapping("/social-auth-redirect") |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppMemberUserController.java
| @@ -3,8 +3,9 @@ package cn.iocoder.yudao.module.member.controller.app.user; | @@ -3,8 +3,9 @@ package cn.iocoder.yudao.module.member.controller.app.user; | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 4 | import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated; | 4 | import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated; |
| 5 | import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserInfoRespVO; | 5 | import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserInfoRespVO; |
| 6 | +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdatePasswordReqVO; | ||
| 6 | import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateReqVO; | 7 | import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateReqVO; |
| 7 | -import cn.iocoder.yudao.module.member.controller.app.user.vo.AppUserUpdateMobileReqVO; | 8 | +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateMobileReqVO; |
| 8 | import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert; | 9 | import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert; |
| 9 | import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; | 10 | import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; |
| 10 | import cn.iocoder.yudao.module.member.service.user.MemberUserService; | 11 | import cn.iocoder.yudao.module.member.service.user.MemberUserService; |
| @@ -49,10 +50,18 @@ public class AppMemberUserController { | @@ -49,10 +50,18 @@ public class AppMemberUserController { | ||
| 49 | @PutMapping("/update-mobile") | 50 | @PutMapping("/update-mobile") |
| 50 | @Operation(summary = "修改用户手机") | 51 | @Operation(summary = "修改用户手机") |
| 51 | @PreAuthenticated | 52 | @PreAuthenticated |
| 52 | - public CommonResult<Boolean> updateUserMobile(@RequestBody @Valid AppUserUpdateMobileReqVO reqVO) { | 53 | + public CommonResult<Boolean> updateUserMobile(@RequestBody @Valid AppMemberUserUpdateMobileReqVO reqVO) { |
| 53 | userService.updateUserMobile(getLoginUserId(), reqVO); | 54 | userService.updateUserMobile(getLoginUserId(), reqVO); |
| 54 | return success(true); | 55 | return success(true); |
| 55 | } | 56 | } |
| 56 | 57 | ||
| 58 | + @PutMapping("/update-password") | ||
| 59 | + @Operation(summary = "修改用户密码", description = "用户修改密码时使用") | ||
| 60 | + @PreAuthenticated | ||
| 61 | + public CommonResult<Boolean> updatePassword(@RequestBody @Valid AppMemberUserUpdatePasswordReqVO reqVO) { | ||
| 62 | + userService.updateUserPassword(getLoginUserId(), reqVO); | ||
| 63 | + return success(true); | ||
| 64 | + } | ||
| 65 | + | ||
| 57 | } | 66 | } |
| 58 | 67 |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/vo/AppUserUpdateMobileReqVO.java renamed to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/vo/AppMemberUserUpdateMobileReqVO.java
| @@ -17,7 +17,7 @@ import javax.validation.constraints.Pattern; | @@ -17,7 +17,7 @@ import javax.validation.constraints.Pattern; | ||
| 17 | @NoArgsConstructor | 17 | @NoArgsConstructor |
| 18 | @AllArgsConstructor | 18 | @AllArgsConstructor |
| 19 | @Builder | 19 | @Builder |
| 20 | -public class AppUserUpdateMobileReqVO { | 20 | +public class AppMemberUserUpdateMobileReqVO { |
| 21 | 21 | ||
| 22 | @Schema(description = "手机验证码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | 22 | @Schema(description = "手机验证码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
| 23 | @NotEmpty(message = "手机验证码不能为空") | 23 | @NotEmpty(message = "手机验证码不能为空") |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthUpdatePasswordReqVO.java renamed to yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/vo/AppMemberUserUpdatePasswordReqVO.java
| 1 | -package cn.iocoder.yudao.module.member.controller.app.auth.vo; | 1 | +package cn.iocoder.yudao.module.member.controller.app.user.vo; |
| 2 | 2 | ||
| 3 | import io.swagger.v3.oas.annotations.media.Schema; | 3 | import io.swagger.v3.oas.annotations.media.Schema; |
| 4 | import lombok.AllArgsConstructor; | 4 | import lombok.AllArgsConstructor; |
| @@ -7,24 +7,25 @@ import lombok.Data; | @@ -7,24 +7,25 @@ import lombok.Data; | ||
| 7 | import lombok.NoArgsConstructor; | 7 | import lombok.NoArgsConstructor; |
| 8 | import org.hibernate.validator.constraints.Length; | 8 | import org.hibernate.validator.constraints.Length; |
| 9 | 9 | ||
| 10 | -import javax.validation.constraints.NotBlank; | ||
| 11 | import javax.validation.constraints.NotEmpty; | 10 | import javax.validation.constraints.NotEmpty; |
| 11 | +import javax.validation.constraints.Pattern; | ||
| 12 | 12 | ||
| 13 | -// TODO 芋艿:code review 相关逻辑 | ||
| 14 | @Schema(description = "用户 APP - 修改密码 Request VO") | 13 | @Schema(description = "用户 APP - 修改密码 Request VO") |
| 15 | @Data | 14 | @Data |
| 16 | @NoArgsConstructor | 15 | @NoArgsConstructor |
| 17 | @AllArgsConstructor | 16 | @AllArgsConstructor |
| 18 | @Builder | 17 | @Builder |
| 19 | -public class AppAuthUpdatePasswordReqVO { | ||
| 20 | - | ||
| 21 | - @Schema(description = "用户旧密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456") | ||
| 22 | - @NotBlank(message = "旧密码不能为空") | ||
| 23 | - @Length(min = 4, max = 16, message = "密码长度为 4-16 位") | ||
| 24 | - private String oldPassword; | 18 | +public class AppMemberUserUpdatePasswordReqVO { |
| 25 | 19 | ||
| 26 | @Schema(description = "新密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "buzhidao") | 20 | @Schema(description = "新密码", requiredMode = Schema.RequiredMode.REQUIRED, example = "buzhidao") |
| 27 | @NotEmpty(message = "新密码不能为空") | 21 | @NotEmpty(message = "新密码不能为空") |
| 28 | @Length(min = 4, max = 16, message = "密码长度为 4-16 位") | 22 | @Length(min = 4, max = 16, message = "密码长度为 4-16 位") |
| 29 | private String password; | 23 | private String password; |
| 24 | + | ||
| 25 | + @Schema(description = "手机验证码", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | ||
| 26 | + @NotEmpty(message = "手机验证码不能为空") | ||
| 27 | + @Length(min = 4, max = 6, message = "手机验证码长度为 4-6 位") | ||
| 28 | + @Pattern(regexp = "^[0-9]+$", message = "手机验证码必须都是数字") | ||
| 29 | + private String code; | ||
| 30 | + | ||
| 30 | } | 31 | } |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/auth/MemberAuthService.java
| @@ -62,13 +62,6 @@ public interface MemberAuthService { | @@ -62,13 +62,6 @@ public interface MemberAuthService { | ||
| 62 | String getSocialAuthorizeUrl(Integer type, String redirectUri); | 62 | String getSocialAuthorizeUrl(Integer type, String redirectUri); |
| 63 | 63 | ||
| 64 | /** | 64 | /** |
| 65 | - * 修改用户密码 | ||
| 66 | - * @param userId 用户id | ||
| 67 | - * @param userReqVO 用户请求实体类 | ||
| 68 | - */ | ||
| 69 | - void updatePassword(Long userId, AppAuthUpdatePasswordReqVO userReqVO); | ||
| 70 | - | ||
| 71 | - /** | ||
| 72 | * 忘记密码 | 65 | * 忘记密码 |
| 73 | * @param userReqVO 用户请求实体类 | 66 | * @param userReqVO 用户请求实体类 |
| 74 | */ | 67 | */ |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/auth/MemberAuthServiceImpl.java
| @@ -26,7 +26,6 @@ import cn.iocoder.yudao.module.system.enums.logger.LoginResultEnum; | @@ -26,7 +26,6 @@ import cn.iocoder.yudao.module.system.enums.logger.LoginResultEnum; | ||
| 26 | import cn.iocoder.yudao.module.system.enums.oauth2.OAuth2ClientConstants; | 26 | import cn.iocoder.yudao.module.system.enums.oauth2.OAuth2ClientConstants; |
| 27 | import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum; | 27 | import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum; |
| 28 | import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum; | 28 | import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum; |
| 29 | -import com.google.common.annotations.VisibleForTesting; | ||
| 30 | import lombok.extern.slf4j.Slf4j; | 29 | import lombok.extern.slf4j.Slf4j; |
| 31 | import org.springframework.security.crypto.password.PasswordEncoder; | 30 | import org.springframework.security.crypto.password.PasswordEncoder; |
| 32 | import org.springframework.stereotype.Service; | 31 | import org.springframework.stereotype.Service; |
| @@ -210,17 +209,6 @@ public class MemberAuthServiceImpl implements MemberAuthService { | @@ -210,17 +209,6 @@ public class MemberAuthServiceImpl implements MemberAuthService { | ||
| 210 | } | 209 | } |
| 211 | 210 | ||
| 212 | @Override | 211 | @Override |
| 213 | - public void updatePassword(Long userId, AppAuthUpdatePasswordReqVO reqVO) { | ||
| 214 | - // 检验旧密码 | ||
| 215 | - MemberUserDO userDO = checkOldPassword(userId, reqVO.getOldPassword()); | ||
| 216 | - | ||
| 217 | - // 更新用户密码 | ||
| 218 | - // TODO 芋艿:需要重构到用户模块 | ||
| 219 | - userMapper.updateById(MemberUserDO.builder().id(userDO.getId()) | ||
| 220 | - .password(passwordEncoder.encode(reqVO.getPassword())).build()); | ||
| 221 | - } | ||
| 222 | - | ||
| 223 | - @Override | ||
| 224 | public void resetPassword(AppAuthResetPasswordReqVO reqVO) { | 212 | public void resetPassword(AppAuthResetPasswordReqVO reqVO) { |
| 225 | // 检验用户是否存在 | 213 | // 检验用户是否存在 |
| 226 | MemberUserDO userDO = checkUserIfExists(reqVO.getMobile()); | 214 | MemberUserDO userDO = checkUserIfExists(reqVO.getMobile()); |
| @@ -260,26 +248,6 @@ public class MemberAuthServiceImpl implements MemberAuthService { | @@ -260,26 +248,6 @@ public class MemberAuthServiceImpl implements MemberAuthService { | ||
| 260 | return AuthConvert.INSTANCE.convert(accessTokenDO); | 248 | return AuthConvert.INSTANCE.convert(accessTokenDO); |
| 261 | } | 249 | } |
| 262 | 250 | ||
| 263 | - /** | ||
| 264 | - * 校验旧密码 | ||
| 265 | - * | ||
| 266 | - * @param id 用户 id | ||
| 267 | - * @param oldPassword 旧密码 | ||
| 268 | - * @return MemberUserDO 用户实体 | ||
| 269 | - */ | ||
| 270 | - @VisibleForTesting | ||
| 271 | - public MemberUserDO checkOldPassword(Long id, String oldPassword) { | ||
| 272 | - MemberUserDO user = userMapper.selectById(id); | ||
| 273 | - if (user == null) { | ||
| 274 | - throw exception(USER_NOT_EXISTS); | ||
| 275 | - } | ||
| 276 | - // 参数:未加密密码,编码后的密码 | ||
| 277 | - if (!passwordEncoder.matches(oldPassword,user.getPassword())) { | ||
| 278 | - throw exception(USER_PASSWORD_FAILED); | ||
| 279 | - } | ||
| 280 | - return user; | ||
| 281 | - } | ||
| 282 | - | ||
| 283 | public MemberUserDO checkUserIfExists(String mobile) { | 251 | public MemberUserDO checkUserIfExists(String mobile) { |
| 284 | MemberUserDO user = userMapper.selectByMobile(mobile); | 252 | MemberUserDO user = userMapper.selectByMobile(mobile); |
| 285 | if (user == null) { | 253 | if (user == null) { |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserService.java
| @@ -4,8 +4,9 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | @@ -4,8 +4,9 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 4 | import cn.iocoder.yudao.framework.common.validation.Mobile; | 4 | import cn.iocoder.yudao.framework.common.validation.Mobile; |
| 5 | import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserPageReqVO; | 5 | import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserPageReqVO; |
| 6 | import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateReqVO; | 6 | import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateReqVO; |
| 7 | +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdatePasswordReqVO; | ||
| 7 | import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateReqVO; | 8 | import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateReqVO; |
| 8 | -import cn.iocoder.yudao.module.member.controller.app.user.vo.AppUserUpdateMobileReqVO; | 9 | +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateMobileReqVO; |
| 9 | import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; | 10 | import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; |
| 10 | 11 | ||
| 11 | import javax.validation.Valid; | 12 | import javax.validation.Valid; |
| @@ -81,9 +82,17 @@ public interface MemberUserService { | @@ -81,9 +82,17 @@ public interface MemberUserService { | ||
| 81 | * 【会员】修改手机 | 82 | * 【会员】修改手机 |
| 82 | * | 83 | * |
| 83 | * @param userId 用户编号 | 84 | * @param userId 用户编号 |
| 84 | - * @param reqVO 请求实体 | 85 | + * @param reqVO 请求信息 |
| 85 | */ | 86 | */ |
| 86 | - void updateUserMobile(Long userId, AppUserUpdateMobileReqVO reqVO); | 87 | + void updateUserMobile(Long userId, AppMemberUserUpdateMobileReqVO reqVO); |
| 88 | + | ||
| 89 | + /** | ||
| 90 | + * 【会员】修改密码 | ||
| 91 | + * | ||
| 92 | + * @param userId 用户编号 | ||
| 93 | + * @param reqVO 请求信息 | ||
| 94 | + */ | ||
| 95 | + void updateUserPassword(Long userId, AppMemberUserUpdatePasswordReqVO reqVO); | ||
| 87 | 96 | ||
| 88 | /** | 97 | /** |
| 89 | * 判断密码是否匹配 | 98 | * 判断密码是否匹配 |
yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java
| @@ -7,8 +7,9 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | @@ -7,8 +7,9 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 7 | import cn.iocoder.yudao.module.infra.api.file.FileApi; | 7 | import cn.iocoder.yudao.module.infra.api.file.FileApi; |
| 8 | import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserPageReqVO; | 8 | import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserPageReqVO; |
| 9 | import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateReqVO; | 9 | import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateReqVO; |
| 10 | +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdatePasswordReqVO; | ||
| 10 | import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateReqVO; | 11 | import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateReqVO; |
| 11 | -import cn.iocoder.yudao.module.member.controller.app.user.vo.AppUserUpdateMobileReqVO; | 12 | +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateMobileReqVO; |
| 12 | import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert; | 13 | import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert; |
| 13 | import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; | 14 | import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; |
| 14 | import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; | 15 | import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; |
| @@ -110,7 +111,7 @@ public class MemberUserServiceImpl implements MemberUserService { | @@ -110,7 +111,7 @@ public class MemberUserServiceImpl implements MemberUserService { | ||
| 110 | 111 | ||
| 111 | @Override | 112 | @Override |
| 112 | @Transactional(rollbackFor = Exception.class) | 113 | @Transactional(rollbackFor = Exception.class) |
| 113 | - public void updateUserMobile(Long userId, AppUserUpdateMobileReqVO reqVO) { | 114 | + public void updateUserMobile(Long userId, AppMemberUserUpdateMobileReqVO reqVO) { |
| 114 | // 检测用户是否存在 | 115 | // 检测用户是否存在 |
| 115 | MemberUserDO user = validateUserExists(userId); | 116 | MemberUserDO user = validateUserExists(userId); |
| 116 | // 校验新手机是否已经被绑定 | 117 | // 校验新手机是否已经被绑定 |
| @@ -128,6 +129,19 @@ public class MemberUserServiceImpl implements MemberUserService { | @@ -128,6 +129,19 @@ public class MemberUserServiceImpl implements MemberUserService { | ||
| 128 | } | 129 | } |
| 129 | 130 | ||
| 130 | @Override | 131 | @Override |
| 132 | + public void updateUserPassword(Long userId, AppMemberUserUpdatePasswordReqVO reqVO) { | ||
| 133 | + // 检测用户是否存在 | ||
| 134 | + MemberUserDO user = validateUserExists(userId); | ||
| 135 | + // 校验验证码 | ||
| 136 | + smsCodeApi.useSmsCode(new SmsCodeUseReqDTO().setMobile(user.getMobile()).setCode(reqVO.getCode()) | ||
| 137 | + .setScene(SmsSceneEnum.MEMBER_UPDATE_PASSWORD.getScene()).setUsedIp(getClientIP())); | ||
| 138 | + | ||
| 139 | + // 更新用户密码 | ||
| 140 | + memberUserMapper.updateById(MemberUserDO.builder().id(userId) | ||
| 141 | + .password(passwordEncoder.encode(reqVO.getPassword())).build()); | ||
| 142 | + } | ||
| 143 | + | ||
| 144 | + @Override | ||
| 131 | public boolean isPasswordMatch(String rawPassword, String encodedPassword) { | 145 | public boolean isPasswordMatch(String rawPassword, String encodedPassword) { |
| 132 | return passwordEncoder.matches(rawPassword, encodedPassword); | 146 | return passwordEncoder.matches(rawPassword, encodedPassword); |
| 133 | } | 147 | } |
yudao-module-member/yudao-module-member-biz/src/test/java/cn/iocoder/yudao/module/member/service/auth/MemberAuthServiceTest.java
| @@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils; | @@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils; | ||
| 6 | import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration; | 6 | import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration; |
| 7 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbAndRedisUnitTest; | 7 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbAndRedisUnitTest; |
| 8 | import cn.iocoder.yudao.module.member.controller.app.auth.vo.AppAuthResetPasswordReqVO; | 8 | import cn.iocoder.yudao.module.member.controller.app.auth.vo.AppAuthResetPasswordReqVO; |
| 9 | -import cn.iocoder.yudao.module.member.controller.app.auth.vo.AppAuthUpdatePasswordReqVO; | 9 | +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdatePasswordReqVO; |
| 10 | import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; | 10 | import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; |
| 11 | import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; | 11 | import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; |
| 12 | import cn.iocoder.yudao.module.member.service.user.MemberUserService; | 12 | import cn.iocoder.yudao.module.member.service.user.MemberUserService; |
| @@ -71,7 +71,7 @@ public class MemberAuthServiceTest extends BaseDbAndRedisUnitTest { | @@ -71,7 +71,7 @@ public class MemberAuthServiceTest extends BaseDbAndRedisUnitTest { | ||
| 71 | String newPassword = randomString(); | 71 | String newPassword = randomString(); |
| 72 | 72 | ||
| 73 | // 请求实体 | 73 | // 请求实体 |
| 74 | - AppAuthUpdatePasswordReqVO reqVO = AppAuthUpdatePasswordReqVO.builder() | 74 | + AppMemberUserUpdatePasswordReqVO reqVO = AppMemberUserUpdatePasswordReqVO.builder() |
| 75 | .oldPassword(userDO.getPassword()) | 75 | .oldPassword(userDO.getPassword()) |
| 76 | .password(newPassword) | 76 | .password(newPassword) |
| 77 | .build(); | 77 | .build(); |
yudao-module-member/yudao-module-member-biz/src/test/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImplTest.java
| @@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils; | @@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils; | ||
| 6 | import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration; | 6 | import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration; |
| 7 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbAndRedisUnitTest; | 7 | import cn.iocoder.yudao.framework.test.core.ut.BaseDbAndRedisUnitTest; |
| 8 | import cn.iocoder.yudao.module.infra.api.file.FileApi; | 8 | import cn.iocoder.yudao.module.infra.api.file.FileApi; |
| 9 | -import cn.iocoder.yudao.module.member.controller.app.user.vo.AppUserUpdateMobileReqVO; | 9 | +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateMobileReqVO; |
| 10 | import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; | 10 | import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; |
| 11 | import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; | 11 | import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; |
| 12 | import cn.iocoder.yudao.module.member.service.auth.MemberAuthServiceImpl; | 12 | import cn.iocoder.yudao.module.member.service.auth.MemberAuthServiceImpl; |
| @@ -114,7 +114,7 @@ public class MemberUserServiceImplTest extends BaseDbAndRedisUnitTest { | @@ -114,7 +114,7 @@ public class MemberUserServiceImplTest extends BaseDbAndRedisUnitTest { | ||
| 114 | // 更新手机号 | 114 | // 更新手机号 |
| 115 | String newMobile = randomNumbers(11); | 115 | String newMobile = randomNumbers(11); |
| 116 | String newCode = randomNumbers(4); | 116 | String newCode = randomNumbers(4); |
| 117 | - AppUserUpdateMobileReqVO reqVO = new AppUserUpdateMobileReqVO(); | 117 | + AppMemberUserUpdateMobileReqVO reqVO = new AppMemberUserUpdateMobileReqVO(); |
| 118 | reqVO.setMobile(newMobile); | 118 | reqVO.setMobile(newMobile); |
| 119 | reqVO.setCode(newCode); | 119 | reqVO.setCode(newCode); |
| 120 | reqVO.setOldMobile(oldMobile); | 120 | reqVO.setOldMobile(oldMobile); |
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/sms/SmsSceneEnum.java
| @@ -17,8 +17,9 @@ import java.util.Arrays; | @@ -17,8 +17,9 @@ import java.util.Arrays; | ||
| 17 | public enum SmsSceneEnum implements IntArrayValuable { | 17 | public enum SmsSceneEnum implements IntArrayValuable { |
| 18 | 18 | ||
| 19 | MEMBER_LOGIN(1, "user-sms-login", "会员用户 - 手机号登陆"), | 19 | MEMBER_LOGIN(1, "user-sms-login", "会员用户 - 手机号登陆"), |
| 20 | - MEMBER_UPDATE_MOBILE(2, "user-sms-update-mobile", "会员用户 - 修改手机"), | ||
| 21 | - MEMBER_FORGET_PASSWORD(3, "user-sms-forget-password", "会员用户 - 忘记密码"), | 20 | + MEMBER_UPDATE_MOBILE(2, "user-update-mobile", "会员用户 - 修改手机"), |
| 21 | + MEMBER_UPDATE_PASSWORD(3, "user-update-mobile", "会员用户 - 修改密码"), | ||
| 22 | + MEMBER_FORGET_PASSWORD(4, "user-forget-password", "会员用户 - 忘记密码"), | ||
| 22 | 23 | ||
| 23 | ADMIN_MEMBER_LOGIN(21, "admin-sms-login", "后台用户 - 手机号登录"); | 24 | ADMIN_MEMBER_LOGIN(21, "admin-sms-login", "后台用户 - 手机号登录"); |
| 24 | 25 |