فهرست منبع

Merge branch 'dev/2024/0529/update-app-Y' of feifan/mall-backend-app into master

修改发送注册密码错误
Yangzw 10 ماه پیش
والد
کامیت
d36b46322d

+ 1 - 1
feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/controller/app/auth/AppAuthController.java

@@ -79,7 +79,7 @@ public class AppAuthController {
     }
 
     @PostMapping("/sms-register")
-    @Operation(summary = "使用用户名 + 手机 + 验证码注册")
+    @Operation(summary = "使用用户名 + 手机 + 验证码 + 密码注册")
     public CommonResult<AppAuthLoginRespVO> smsRegister(@RequestBody @Valid AppAuthSmsRegisterReqVO reqVO) {
         return success(authService.smsRegister(reqVO));
     }

+ 7 - 0
feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/controller/app/auth/vo/AppAuthSmsRegisterReqVO.java

@@ -2,6 +2,8 @@ package cn.newfeifan.mall.module.member.controller.app.auth.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
+import org.hibernate.validator.constraints.Length;
+
 import javax.validation.constraints.NotNull;
 
 @Schema(description = "用户 APP - 手机 + 验证码登录 Request VO,如果登录并绑定社交用户,需要传递 social 开头的参数")
@@ -12,6 +14,11 @@ public class AppAuthSmsRegisterReqVO extends AppAuthSmsLoginReqVO {
     @NotNull(message = "只能通过分享注册")
     private String linkId;
 
+    @Schema(description = "密码")
+    @NotNull(message = "密码不能为空")
+    @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
+    private String password;
+
     public Long getLinkId() {
         if (linkId == null) {
             return null;

+ 2 - 2
feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/service/auth/MemberAuthServiceImpl.java

@@ -126,7 +126,7 @@ public class MemberAuthServiceImpl implements MemberAuthService {
             throw exception(AUTH_SOCIAL_USER_BIND_MAX);
         }
 
-        MemberUserDO user = userService.createUser(phone, socialUser.getNickname(), socialUser.getAvatar(), getClientIP(), getTerminal(), reqVO.getLinkId(), reqVO.getUsername());
+        MemberUserDO user = userService.createUser(phone, socialUser.getNickname(), socialUser.getAvatar(), getClientIP(), getTerminal(), reqVO.getLinkId(), reqVO.getUsername(), null);
 
         socialUserApi.bindSocialUser(new SocialUserBindReqDTO(user.getId(), getUserType().getValue(),
                 reqVO.getType(), reqVO.getCode(), reqVO.getState()));
@@ -319,7 +319,7 @@ public class MemberAuthServiceImpl implements MemberAuthService {
         verifyUsername(reqVO.getUsername());
 
         //创建用户
-        MemberUserDO user = userService.createUser(reqVO.getMobile(), reqVO.getUsername(), null, getClientIP(), getTerminal(), reqVO.getLinkId(), reqVO.getUsername());
+        MemberUserDO user = userService.createUser(reqVO.getMobile(), reqVO.getUsername(), null, getClientIP(), getTerminal(), reqVO.getLinkId(), reqVO.getUsername(), reqVO.getPassword());
         // 创建 Token 令牌,记录登录日志
         return createTokenAfterLoginSuccess(user, reqVO.getMobile(), LoginLogTypeEnum.LOGIN_SMS, null);
     }

+ 2 - 1
feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/service/user/MemberUserService.java

@@ -57,9 +57,10 @@ public interface MemberUserService {
      * @param registerIp 注册 IP
      * @param terminal   终端 {@link TerminalEnum}
      * @param linkId     链接编号
+     * @param password   密码
      * @return 用户对象
      */
-    MemberUserDO createUser(String mobile, String nickname, String avtar, String registerIp, Integer terminal, Long linkId, String username);
+    MemberUserDO createUser(String mobile, String nickname, String avtar, String registerIp, Integer terminal, Long linkId, String username, String password);
 
     /**
      * 更新用户的最后登陆信息

+ 9 - 7
feifan-module-member/feifan-module-member-biz/src/main/java/cn/newfeifan/mall/module/member/service/user/MemberUserServiceImpl.java

@@ -95,19 +95,21 @@ public class MemberUserServiceImpl implements MemberUserService {
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public MemberUserDO createUser(String mobile, String nickname, String avtar, String registerIp, Integer terminal, Long linkId,String username) {
-        return privateCreateUser(mobile, nickname, avtar, registerIp, terminal, linkId,username);
+    public MemberUserDO createUser(String mobile, String nickname, String avtar, String registerIp, Integer terminal, Long linkId, String username, String password) {
+        return privateCreateUser(mobile, nickname, avtar, registerIp, terminal, linkId, username, password);
     }
 
     @Transactional(rollbackFor = Exception.class)
     public MemberUserDO privateCreateUser(String mobile, String nickname, String avtar,
-                                          String registerIp, Integer terminal, Long linkId,String username) {
+                                          String registerIp, Integer terminal, Long linkId, String username, String password) {
         // 通过手机号查询系统用户编号
         Long systemUserId = adminUserService.getUserIdByMobile(mobile);
         log.info("注册的手机号:{},系统用户编号:{}", mobile, systemUserId);
 
         // 生成密码
-        String password = IdUtil.fastSimpleUUID();
+        if (password == null) {
+            password = IdUtil.fastSimpleUUID();
+        }
         // 插入用户
         MemberUserDO user = new MemberUserDO();
         user.setUsername(username);
@@ -348,17 +350,17 @@ public class MemberUserServiceImpl implements MemberUserService {
 
     @Override
     public MemberUserDO getUserByUsername(String username) {
-        return memberUserMapper.selectOne(MemberUserDO::getUsername,username);
+        return memberUserMapper.selectOne(MemberUserDO::getUsername, username);
     }
 
     @Override
     public Long getUserCountByMobile(String mobile) {
-        return memberUserMapper.selectCount(MemberUserDO::getMobile,mobile);
+        return memberUserMapper.selectCount(MemberUserDO::getMobile, mobile);
     }
 
     @Override
     public MemberUserDO selectByUsername(String username) {
-        return memberUserMapper.selectOne(MemberUserDO::getUsername,username);
+        return memberUserMapper.selectOne(MemberUserDO::getUsername, username);
     }
 
     @Override