Преглед изворни кода

feat : 用户密码注册登录, 手机号注册登录接口调试代码提交

bilingfeng пре 2 година
родитељ
комит
97fd849b58
19 измењених фајлова са 270 додато и 26 уклоњено
  1. 1 1
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/common/constant/RedisKeyConstant.java
  2. 1 1
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/common/util/RedisUtils.java
  3. 31 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/config/CORSConfig.java
  4. 48 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/config/SwaggerConfig.java
  5. 35 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/controller/SmsController.java
  6. 67 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/controller/UserController.java
  7. 1 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/entity/User.java
  8. 6 1
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/params/LoginMobileParam.java
  9. 3 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/params/LoginPasswordParam.java
  10. 7 1
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/params/RegisterMobileParam.java
  11. 3 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/params/RegisterPasswordParam.java
  12. 3 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/params/SmsSendParam.java
  13. 6 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/params/UpdatePasswordParam.java
  14. 30 0
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/filter/CORSFilter.java
  15. 1 1
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/ISmsService.java
  16. 4 4
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/SmsServiceImpl.java
  17. 20 14
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/UserServiceImpl.java
  18. 2 2
      game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/UserTokenServiceImpl.java
  19. 1 1
      game-module/game-sdk/src/main/resources/bootstrap.yml

+ 1 - 1
game-module/game-sdk/src/main/java/com/zanxiang/sdk/constant/RedisKeyConstant.java → game-module/game-sdk/src/main/java/com/zanxiang/sdk/common/constant/RedisKeyConstant.java

@@ -1,4 +1,4 @@
-package com.zanxiang.sdk.constant;
+package com.zanxiang.sdk.common.constant;
 
 /**
  * @author : lingfeng

+ 1 - 1
game-module/game-sdk/src/main/java/com/zanxiang/sdk/utils/RedisUtils.java → game-module/game-sdk/src/main/java/com/zanxiang/sdk/common/util/RedisUtils.java

@@ -1,4 +1,4 @@
-package com.zanxiang.sdk.utils;
+package com.zanxiang.sdk.common.util;
 
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;

+ 31 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/config/CORSConfig.java

@@ -0,0 +1,31 @@
+package com.zanxiang.sdk.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.cors.CorsConfiguration;
+import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
+import org.springframework.web.filter.CorsFilter;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-16
+ * @description : 跨域配置
+ */
+@Configuration
+public class CORSConfig {
+
+    private CorsConfiguration buildConfig() {
+        CorsConfiguration corsConfiguration = new CorsConfiguration();
+        corsConfiguration.addAllowedOrigin("*");
+        corsConfiguration.addAllowedHeader("*");
+        corsConfiguration.addAllowedMethod("*");
+        return corsConfiguration;
+    }
+
+    @Bean
+    public CorsFilter corsFilter() {
+        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
+        source.registerCorsConfiguration("/**", buildConfig());
+        return new CorsFilter(source);
+    }
+}

+ 48 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/config/SwaggerConfig.java

@@ -0,0 +1,48 @@
+package com.zanxiang.sdk.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-3-31
+ * @description : Swagger2 配置
+ */
+@Configuration
+@EnableSwagger2
+public class SwaggerConfig {
+
+    /**
+     * 包扫描
+     */
+    @Bean
+    public Docket createRestApi() {
+        return new Docket(DocumentationType.SWAGGER_2)
+                .useDefaultResponseMessages(false)
+                .apiInfo(apiInfo())
+                .select()
+                .apis(RequestHandlerSelectors
+                        .basePackage("com.zanxiang.sdk"))
+                .paths(PathSelectors.any())
+                .build();
+    }
+
+    /**
+     * api文档构造
+     *
+     * @return : 返回api模板
+     */
+    private ApiInfo apiInfo() {
+        return new ApiInfoBuilder()
+                .title("游戏sdk服务")
+                .version("1.0")
+                .build();
+    }
+}

+ 35 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/controller/SmsController.java

@@ -0,0 +1,35 @@
+package com.zanxiang.sdk.controller;
+
+import com.zanxiang.common.domain.ResultVo;
+import com.zanxiang.sdk.domain.params.SmsSendParam;
+import com.zanxiang.sdk.domain.vo.UserLoginVO;
+import com.zanxiang.sdk.service.ISmsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-16
+ * @description : 短信服务接口
+ */
+@Api(tags = "短信服务接口")
+@CrossOrigin
+@RestController
+@RequestMapping(value = "/api/sms")
+public class SmsController {
+
+    @Autowired
+    private ISmsService smsService;
+
+    @ApiOperation(value = "发送短信")
+    @PostMapping("/send/msg")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
+    public ResultVo<Boolean> smsSend(@Validated @RequestBody SmsSendParam smsSendParam) {
+        return smsService.smsSend(smsSendParam);
+    }
+}

+ 67 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/controller/UserController.java

@@ -0,0 +1,67 @@
+package com.zanxiang.sdk.controller;
+
+import com.zanxiang.common.domain.ResultVo;
+import com.zanxiang.sdk.domain.params.*;
+import com.zanxiang.sdk.domain.vo.UserLoginVO;
+import com.zanxiang.sdk.service.IUserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-16
+ * @description : 用户接口
+ */
+@Api(tags = "用户接口")
+@CrossOrigin
+@RestController
+@RequestMapping(value = "/api/user")
+public class UserController {
+
+    @Autowired
+    private IUserService userService;
+
+    @ApiOperation(value = "用户普通注册")
+    @PostMapping("/register/password")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
+    public ResultVo<UserLoginVO> registerPassword(@Validated @RequestBody RegisterPasswordParam registerPasswordParam,
+                                                  HttpServletRequest request) {
+        return userService.registerPassword(registerPasswordParam, request);
+    }
+
+    @ApiOperation(value = "用户手机注册")
+    @PostMapping("/register/mobile")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
+    public ResultVo<UserLoginVO> registerMobile(@Validated @RequestBody RegisterMobileParam registerMobileParam,
+                                                HttpServletRequest request) {
+        return userService.registerMobile(registerMobileParam, request);
+    }
+
+    @ApiOperation(value = "用户名密码登录")
+    @PostMapping("/login/password")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
+    public ResultVo<UserLoginVO> loginPassword(@Validated @RequestBody LoginPasswordParam userLoginParam, HttpServletRequest request) {
+        return userService.loginPassword(userLoginParam, request);
+    }
+
+    @ApiOperation(value = "用户手机号登录")
+    @PostMapping("/login/mobile")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
+    public ResultVo<UserLoginVO> loginMobile(@Validated @RequestBody LoginMobileParam loginMobileParam, HttpServletRequest request) {
+        return userService.loginMobile(loginMobileParam, request);
+    }
+
+    @ApiOperation(value = "用户重置密码")
+    @PostMapping("/update/password")
+    @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = UserLoginVO.class)})
+    public ResultVo updatePassword(@Validated @RequestBody UpdatePasswordParam updatePasswordParam) {
+        return userService.updatePassword(updatePasswordParam);
+    }
+}

+ 1 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/entity/User.java

@@ -136,6 +136,7 @@ public class User {
     public User(RegisterMobileParam param, String password) {
         this.username = param.getMobile();
         this.regMobile = param.getMobile();
+        this.mobile = param.getMobile();
         this.password = password;
         this.deviceId = param.getDeviceId();
         this.deviceType = param.getDeviceType();

+ 6 - 1
game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/params/LoginMobileParam.java

@@ -1,10 +1,12 @@
 package com.zanxiang.sdk.domain.params;
 
 import com.fasterxml.jackson.annotation.JsonAlias;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 
 /**
  * @author : lingfeng
@@ -18,13 +20,15 @@ public class LoginMobileParam extends CommonParam {
     /**
      * 验证码类型
      */
-    @NotBlank(message = "验证码类型不可为空")
+    @ApiModelProperty(notes = "验证码类型")
+    @NotNull(message = "验证码类型不可为空")
     @JsonAlias("sms-type")
     private Integer type;
 
     /**
      * 手机号
      */
+    @ApiModelProperty(notes = "手机号")
     @NotBlank(message = "手机号不可为空")
     @JsonAlias("sms-mobile")
     private String mobile;
@@ -32,6 +36,7 @@ public class LoginMobileParam extends CommonParam {
     /**
      * 验证码
      */
+    @ApiModelProperty(notes = "验证码")
     @NotBlank(message = "验证码不可为空")
     @JsonAlias("sms-code")
     private String code;

+ 3 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/params/LoginPasswordParam.java

@@ -1,6 +1,7 @@
 package com.zanxiang.sdk.domain.params;
 
 import com.fasterxml.jackson.annotation.JsonAlias;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -18,6 +19,7 @@ public class LoginPasswordParam extends CommonParam {
     /**
      * 用户名
      */
+    @ApiModelProperty(notes = "用户名")
     @JsonAlias("mem-username")
     @NotBlank(message = "登陆用户名字不可为空")
     private String username;
@@ -25,6 +27,7 @@ public class LoginPasswordParam extends CommonParam {
     /**
      * 密码
      */
+    @ApiModelProperty(notes = "密码")
     @NotBlank(message = "登陆密码不可为空")
     @JsonAlias("mem-password")
     private String password;

+ 7 - 1
game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/params/RegisterMobileParam.java

@@ -1,10 +1,12 @@
 package com.zanxiang.sdk.domain.params;
 
 import com.fasterxml.jackson.annotation.JsonAlias;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 
 /**
  * @author : lingfeng
@@ -18,13 +20,15 @@ public class RegisterMobileParam extends CommonParam {
     /**
      * 验证码类型
      */
-    @NotBlank(message = "验证码类型不可为空")
+    @ApiModelProperty(notes = "验证码类型")
+    @NotNull(message = "验证码类型不可为空")
     @JsonAlias("sms-type")
     private Integer type;
 
     /**
      * 手机号
      */
+    @ApiModelProperty(notes = "手机号")
     @NotBlank(message = "手机号不可为空")
     @JsonAlias("sms-mobile")
     private String mobile;
@@ -32,6 +36,7 @@ public class RegisterMobileParam extends CommonParam {
     /**
      * 验证码
      */
+    @ApiModelProperty(notes = "验证码")
     @NotBlank(message = "验证码不可为空")
     @JsonAlias("sms-code")
     private String code;
@@ -39,6 +44,7 @@ public class RegisterMobileParam extends CommonParam {
     /**
      * 密码
      */
+    @ApiModelProperty(notes = "密码")
     @NotBlank(message = "登陆密码不可为空")
     @JsonAlias("mem-password")
     private String password;

+ 3 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/params/RegisterPasswordParam.java

@@ -1,6 +1,7 @@
 package com.zanxiang.sdk.domain.params;
 
 import com.fasterxml.jackson.annotation.JsonAlias;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -18,6 +19,7 @@ public class RegisterPasswordParam extends CommonParam {
     /**
      * 用户名
      */
+    @ApiModelProperty(notes = "用户名")
     @JsonAlias("mem-username")
     @NotBlank(message = "注册用户名字不可为空")
     private String username;
@@ -25,6 +27,7 @@ public class RegisterPasswordParam extends CommonParam {
     /**
      * 密码
      */
+    @ApiModelProperty(notes = "密码")
     @NotBlank(message = "注册密码不可为空")
     @JsonAlias("mem-password")
     private String password;

+ 3 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/params/SmsSendParam.java

@@ -1,6 +1,7 @@
 package com.zanxiang.sdk.domain.params;
 
 import com.fasterxml.jackson.annotation.JsonAlias;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
@@ -17,6 +18,7 @@ public class SmsSendParam {
     /**
      * 验证码类型
      */
+    @ApiModelProperty(notes = "验证码类型")
     @JsonAlias("sms-type")
     @NotNull(message = "验证码类型不可为空")
     private Integer type;
@@ -24,6 +26,7 @@ public class SmsSendParam {
     /**
      * 手机号码
      */
+    @ApiModelProperty(notes = "手机号码")
     @JsonAlias("sms-mobile")
     @NotBlank(message = "手机号码不可为空")
     private String mobile;

+ 6 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/domain/params/UpdatePasswordParam.java

@@ -1,6 +1,7 @@
 package com.zanxiang.sdk.domain.params;
 
 import com.fasterxml.jackson.annotation.JsonAlias;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
@@ -16,6 +17,7 @@ public class UpdatePasswordParam {
     /**
      * 用户名
      */
+    @ApiModelProperty(notes = "用户名")
     @JsonAlias("mem-username")
     @NotBlank(message = "注册用户名字不可为空")
     private String username;
@@ -23,6 +25,7 @@ public class UpdatePasswordParam {
     /**
      * 新密码
      */
+    @ApiModelProperty(notes = "新密码")
     @NotBlank(message = "新密码不可为空")
     @JsonAlias("mem-password")
     private String password;
@@ -30,6 +33,7 @@ public class UpdatePasswordParam {
     /**
      * 验证码类型
      */
+    @ApiModelProperty(notes = "验证码类型")
     @NotBlank(message = "验证码类型不可为空")
     @JsonAlias("sms-type")
     private Integer type;
@@ -37,6 +41,7 @@ public class UpdatePasswordParam {
     /**
      * 手机号
      */
+    @ApiModelProperty(notes = "手机号")
     @NotBlank(message = "手机号不可为空")
     @JsonAlias("sms-mobile")
     private String mobile;
@@ -44,6 +49,7 @@ public class UpdatePasswordParam {
     /**
      * 验证码
      */
+    @ApiModelProperty(notes = "验证码")
     @NotBlank(message = "验证码不可为空")
     @JsonAlias("sms-code")
     private String code;

+ 30 - 0
game-module/game-sdk/src/main/java/com/zanxiang/sdk/filter/CORSFilter.java

@@ -0,0 +1,30 @@
+package com.zanxiang.sdk.filter;
+
+import org.springframework.context.annotation.Configuration;
+
+import javax.servlet.*;
+import javax.servlet.annotation.WebFilter;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * @author : lingfeng
+ * @time : 2022-06-16
+ * @description : 过滤器
+ */
+@WebFilter(filterName = "CorsFilter ")
+@Configuration
+public class CORSFilter implements Filter {
+
+    @Override
+    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
+        HttpServletResponse response = (HttpServletResponse) res;
+        response.setHeader("Access-Control-Allow-Origin", "*");
+        response.setHeader("Access-Control-Allow-Credentials", "true");
+        response.setHeader("Access-Control-Allow-Methods", "POST, GET, PATCH, DELETE, PUT, OPTION");
+        response.setHeader("Access-Control-Max-Age", "3600");
+        response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
+        chain.doFilter(req, res);
+    }
+
+}

+ 1 - 1
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/ISmsService.java

@@ -16,7 +16,7 @@ public interface ISmsService {
      *
      * @param smsSendParam : 获取短信验证码参数
      */
-    ResultVo<Void> smsSend(SmsSendParam smsSendParam);
+    ResultVo<Boolean> smsSend(SmsSendParam smsSendParam);
 
     /**
      * 校验短信验证码

+ 4 - 4
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/SmsServiceImpl.java

@@ -4,13 +4,13 @@ import com.zanxiang.common.domain.ResultVo;
 import com.zanxiang.common.enums.ExpireTimeEnum;
 import com.zanxiang.common.enums.HttpStatusEnum;
 import com.zanxiang.common.utils.StringUtils;
-import com.zanxiang.sdk.constant.RedisKeyConstant;
+import com.zanxiang.sdk.common.constant.RedisKeyConstant;
+import com.zanxiang.sdk.common.util.RedisUtils;
 import com.zanxiang.sdk.domain.dto.UserDTO;
 import com.zanxiang.sdk.domain.enums.SmsTypeEnum;
 import com.zanxiang.sdk.domain.params.SmsSendParam;
 import com.zanxiang.sdk.service.ISmsService;
 import com.zanxiang.sdk.service.IUserService;
-import com.zanxiang.sdk.utils.RedisUtils;
 import com.zanxiangnet.module.sms.pojo.SendResult;
 import com.zanxiangnet.module.sms.service.impl.AliSmsService;
 import lombok.extern.slf4j.Slf4j;
@@ -45,7 +45,7 @@ public class SmsServiceImpl implements ISmsService {
      * @param smsSendParam : 获取短信验证码参数
      */
     @Override
-    public ResultVo<Void> smsSend(SmsSendParam smsSendParam) {
+    public ResultVo<Boolean> smsSend(SmsSendParam smsSendParam) {
         //类型
         Integer type = smsSendParam.getType();
         //手机号码
@@ -87,7 +87,7 @@ public class SmsServiceImpl implements ISmsService {
         if (sendResult.isSuccess()) {
             redisUtils.setCache(this.smsKey(mobile, type), randomCode, ExpireTimeEnum.FIVE_MIN.getTime());
         }
-        return new ResultVo<>(HttpStatusEnum.SUCCESS);
+        return new ResultVo<>(HttpStatusEnum.SUCCESS, Boolean.TRUE);
     }
 
     /**

+ 20 - 14
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/UserServiceImpl.java

@@ -138,14 +138,18 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         if (username.length() > 32) {
             return HttpStatusEnum.USERNAME_TOO_LONG;
         }
-        //合规验证
-        if (username.matches("/\\s/") || username.matches("/^ZN/i") || !username.matches("/^[a-zA-Z0-9]+$/i")) {
-            return HttpStatusEnum.USERNAME_BAD_CHAR;
-        }
-        //用户名不是手机号, 用户名只能是数字和字母
-        if (!StringUtils.checkPhone(username) && !username.matches("/^(?![^a-zA-Z]+$).{4,32}$/")) {
-            return HttpStatusEnum.USERNAME_BAD_CHAR;
-        }
+//        boolean matches = username.matches("[\\s]");
+//        if (!username.matches("/^[a-zA-Z0-9]+$/i")){
+//            return HttpStatusEnum.USERNAME_BAD_CHAR;
+//        }
+//        //合规验证
+//        if (username.matches("/\\s/") || username.matches("/^ZN/i") || !username.matches("^[a-zA-Z0-9]+$")) {
+//            return HttpStatusEnum.USERNAME_BAD_CHAR;
+//        }
+//        //用户名不是手机号, 用户名只能是数字和字母
+//        if (!StringUtils.checkPhone(username) && !username.matches("/^(?![^a-zA-Z]+$).{4,32}$/")) {
+//            return HttpStatusEnum.USERNAME_BAD_CHAR;
+//        }
         //判断用户名是否存在敏感词
         if (wordCheckService.hasWord(username)) {
             return HttpStatusEnum.USERNAME_SENSITIVE;
@@ -174,9 +178,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         if (password.length() > 32) {
             return HttpStatusEnum.PASSWORD_TOO_LONG;
         }
-        if (password.matches("/\\s/") || !password.matches("A([a-zA-Z0-9~`#$%^&*!@.,()\\\\{}|:;?<>]){6,32}$")) {
-            return HttpStatusEnum.PASSWORD_BAD_CHAR;
-        }
+//        if (password.matches("/\\s/") || !password.matches("A([a-zA-Z0-9~`#$%^&*!@.,()\\\\{}|:;?<>]){6,32}$")) {
+//            return HttpStatusEnum.PASSWORD_BAD_CHAR;
+//        }
         return HttpStatusEnum.SUCCESS;
     }
 
@@ -293,14 +297,16 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public ResultVo updatePassword(UpdatePasswordParam updatePasswordParam) {
+    public ResultVo<Boolean> updatePassword(UpdatePasswordParam updatePasswordParam) {
         String mobile = updatePasswordParam.getMobile();
         Integer type = updatePasswordParam.getType();
         String code = updatePasswordParam.getCode();
         String username = updatePasswordParam.getUsername();
         String password = updatePasswordParam.getPassword();
         //根据用户名查询用户信息
-        User user = super.getOne(new LambdaQueryWrapper<User>().eq(User::getUsername, username));
+        User user = super.getOne(new LambdaQueryWrapper<User>()
+                .eq(User::getUsername, username)
+                .eq(User::getMobile, mobile));
         if (user == null) {
             return new ResultVo<>(HttpStatusEnum.USERNAME_NOT_EXISTS);
         }
@@ -320,7 +326,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
                 .set(User::getUpdateTime, LocalDateTime.now())
                 .eq(User::getId, user.getId()));
         //返回修改成功
-        return new ResultVo(HttpStatusEnum.SUCCESS);
+        return new ResultVo<>(HttpStatusEnum.SUCCESS, Boolean.TRUE);
     }
 
     /**

+ 2 - 2
game-module/game-sdk/src/main/java/com/zanxiang/sdk/service/Impl/UserTokenServiceImpl.java

@@ -6,10 +6,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zanxiang.common.enums.ExpireTimeEnum;
 import com.zanxiang.common.exception.BaseException;
-import com.zanxiang.sdk.utils.RedisUtils;
+import com.zanxiang.sdk.common.util.RedisUtils;
 import com.zanxiang.common.text.UUID;
 import com.zanxiang.common.utils.bean.BeanUtils;
-import com.zanxiang.sdk.constant.RedisKeyConstant;
+import com.zanxiang.sdk.common.constant.RedisKeyConstant;
 import com.zanxiang.sdk.domain.dto.UserTokenDTO;
 import com.zanxiang.sdk.domain.entity.UserToken;
 import com.zanxiang.sdk.mapper.UserTokenMapper;

+ 1 - 1
game-module/game-sdk/src/main/resources/bootstrap.yml

@@ -46,7 +46,7 @@ spring:
 ali-sms:
   accessKeyId: LTAI4G5ZxxRe4SFBua4KmMdC
   accessKeySecret: mPPmaPVDxfMfmtrM3vsDJHTmud9SZn
-  defaultSignName:
+  defaultSignName: 赞象
   defaultVerifyCodeTemplate: SMS_232080189
 
 logging: