飞滴出行网约车2022-乘客端 校验redis中与输入验证码是否匹配

master
yh 3 years ago
parent 0ebcfa6f94
commit 72c55ede32

@ -31,7 +31,6 @@ public class VerificationController {
String passengerPhone = verificationCodeDTO.getPassengerPhone();
String verificationCode = verificationCodeDTO.getVerificationCode();
System.out.println("手机号 "+passengerPhone+",验证码 "+verificationCode);
return service.checkCode(passengerPhone,verificationCode);
}

@ -1,10 +1,12 @@
package com.mashibing.apipassenger.service;
import com.mashibing.apipassenger.remote.ServiceVerificationcodeClient;
import com.mashibing.internalcommon.constant.CommonStatusEnum;
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.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
@ -35,7 +37,7 @@ public class VerificationCodeService {
String numberCode = numberCodeResponse.getData().getNumberCode();
// 存入redis
String redisKey = prefixKey + passengerPhone;
String redisKey = getRdisKey(passengerPhone);
redisTemplate.opsForValue().set(redisKey,numberCode,2, TimeUnit.MINUTES);
// 返回处理结果
@ -43,7 +45,6 @@ public class VerificationCodeService {
}
/**
* redis
* @param passengerPhone
@ -51,20 +52,26 @@ public class VerificationCodeService {
*/
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);
String redisKey = getRdisKey(passengerPhone);
String codeRedis = redisTemplate.opsForValue().get(redisKey);
// 对比验证码是否相同
// if(codetmp.equals(verificationCode)){
// System.out.println("验证码校验正确");
// }
// 校验 验证码 是否相同
if(StringUtils.isBlank(codeRedis) || !StringUtils.equals(codeRedis,verificationCode) ){
return ResponseResult.fail(CommonStatusEnum.VERIFICATION_CODE_ERROR.getCode(), CommonStatusEnum.VERIFICATION_CODE_ERROR.getValue());
}
// 判断 登录手机号用户是否存在,不存在则注册登录
// 返回处理结果
// 颁布 token 令牌
TokenResponse tokenResponse = new TokenResponse();
tokenResponse.setToken("token value");
tokenResponse.setToken(null);
// 返回处理结果
return ResponseResult.success(tokenResponse);
}
private String getRdisKey(String passengerPhone){
return prefixKey.trim() + passengerPhone.trim();
}
}

@ -9,7 +9,12 @@ public enum CommonStatusEnum {
/**
* 0:
*/
FAIL(0,"fail");
FAIL(0,"fail"),
/**
* 1000-1099
*/
VERIFICATION_CODE_ERROR(1099,"验证码错误!");
private Integer code;

Loading…
Cancel
Save