diff --git a/api-passenger/src/main/java/com/mashibing/apipassenger/controller/VerificationController.java b/api-passenger/src/main/java/com/mashibing/apipassenger/controller/VerificationController.java index 9b752d1..c2f410d 100644 --- a/api-passenger/src/main/java/com/mashibing/apipassenger/controller/VerificationController.java +++ b/api-passenger/src/main/java/com/mashibing/apipassenger/controller/VerificationController.java @@ -6,6 +6,7 @@ import com.mashibing.apipassenger.service.VerificationCodeService; import com.mashibing.internalcommon.dto.ResponseResult; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -15,13 +16,25 @@ public class VerificationController { @Autowired private VerificationCodeService service; - // 实现 乘客获取验证码 API + // 乘客获取验证码 API @GetMapping("/verification-code") - public ResponseResult verificationcode(@RequestBody VerificationCodeDTO verificationCodeDTO){ + public ResponseResult verificationCode(@RequestBody VerificationCodeDTO verificationCodeDTO){ String passengerPhone = verificationCodeDTO.getPassengerPhone(); return service.generatorCode(passengerPhone); } + // 校验乘客获取验证码 API + @PostMapping("/verification-code-check") + public ResponseResult checkVerificationCode(@RequestBody VerificationCodeDTO verificationCodeDTO){ + + String passengerPhone = verificationCodeDTO.getPassengerPhone(); + String verificationCode = verificationCodeDTO.getVerificationCode(); + System.out.println("手机号 "+passengerPhone+",验证码 "+verificationCode); + + return service.checkCode(passengerPhone,verificationCode); + } + + } diff --git a/api-passenger/src/main/java/com/mashibing/apipassenger/request/VerificationCodeDTO.java b/api-passenger/src/main/java/com/mashibing/apipassenger/request/VerificationCodeDTO.java index 2a4a9ab..e2c260a 100644 --- a/api-passenger/src/main/java/com/mashibing/apipassenger/request/VerificationCodeDTO.java +++ b/api-passenger/src/main/java/com/mashibing/apipassenger/request/VerificationCodeDTO.java @@ -1,15 +1,13 @@ package com.mashibing.apipassenger.request; +import lombok.Data; + +@Data public class VerificationCodeDTO { private String passengerPhone; - public String getPassengerPhone() { - return passengerPhone; - } + private String verificationCode; - public void setPassengerPhone(String passengerPhone) { - this.passengerPhone = passengerPhone; - } } diff --git a/api-passenger/src/main/java/com/mashibing/apipassenger/service/VerificationCodeService.java b/api-passenger/src/main/java/com/mashibing/apipassenger/service/VerificationCodeService.java index efd73b2..9a7e196 100644 --- a/api-passenger/src/main/java/com/mashibing/apipassenger/service/VerificationCodeService.java +++ b/api-passenger/src/main/java/com/mashibing/apipassenger/service/VerificationCodeService.java @@ -3,6 +3,7 @@ package com.mashibing.apipassenger.service; import com.mashibing.apipassenger.remote.ServiceVerificationcodeClient; import com.mashibing.internalcommon.dto.ResponseResult; import com.mashibing.internalcommon.response.NumberCodeResponse; +import com.mashibing.internalcommon.response.TokenResponse; import net.sf.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.StringRedisTemplate; @@ -22,6 +23,11 @@ public class VerificationCodeService { private String prefixKey = "passenger-verification-code-"; + /** + * 根据 传入手机号 生成验证码并存入redis + * @param passengerPhone + * @return + */ public ResponseResult generatorCode(String passengerPhone){ // 使用 feign 远程调用生成验证码服务接口 @@ -36,4 +42,29 @@ public class VerificationCodeService { return ResponseResult.success(""); } + + + /** + * 根据 传入手机号 生成验证码并存入redis + * @param passengerPhone + * @return + */ + public ResponseResult checkCode(String passengerPhone,String verificationCode){ + + System.out.println("passengerPhone = [" + passengerPhone + "], verificationCode = [" + verificationCode + "]"); + + // 根据 key前缀+号码 从redis取出对应 校验码比较 + String redisKey = prefixKey + passengerPhone; + String codetmp = redisTemplate.opsForValue().get(redisKey); + + // 对比验证码是否相同 +// if(codetmp.equals(verificationCode)){ +// System.out.println("验证码校验正确"); +// } + + // 返回处理结果 + TokenResponse tokenResponse = new TokenResponse(); + tokenResponse.setToken("token value"); + return ResponseResult.success(tokenResponse); + } } diff --git a/internal-common/src/main/java/com/mashibing/internalcommon/response/TokenResponse.java b/internal-common/src/main/java/com/mashibing/internalcommon/response/TokenResponse.java new file mode 100644 index 0000000..3bb3e65 --- /dev/null +++ b/internal-common/src/main/java/com/mashibing/internalcommon/response/TokenResponse.java @@ -0,0 +1,10 @@ +package com.mashibing.internalcommon.response; + +import lombok.Data; + +@Data +public class TokenResponse { + + private String token; + +}