Commit 7823995b by huluobin

Merge branch 'master' into 4.1

parents b834162a f6802cff
...@@ -116,6 +116,9 @@ public class GogirlTokenServiceImpl implements GogirlTokenService { ...@@ -116,6 +116,9 @@ public class GogirlTokenServiceImpl implements GogirlTokenService {
if (responseResult.getErrcode() != null) { if (responseResult.getErrcode() != null) {
throw new RRException(responseResult.getErrmsg()); throw new RRException(responseResult.getErrmsg());
} }
if (!smsService.checkSmsCode(phone, messageCode)) {
throw new RRException("验证码错误");
}
String openid = responseResult.getOpenid(); String openid = responseResult.getOpenid();
......
...@@ -12,4 +12,13 @@ public interface SmsService { ...@@ -12,4 +12,13 @@ public interface SmsService {
* @return * @return
*/ */
SmsSingleSenderResult sendBindSmsCode(String phoneNumber, String code); SmsSingleSenderResult sendBindSmsCode(String phoneNumber, String code);
/**
* 验证短信
*
* @param phoneNumber
* @param code
* @return
*/
Boolean checkSmsCode(String phoneNumber, String code);
} }
...@@ -5,8 +5,10 @@ import com.github.qcloudsms.SmsSingleSenderResult; ...@@ -5,8 +5,10 @@ import com.github.qcloudsms.SmsSingleSenderResult;
import com.gogirl.infrastructure.service.sms.SmsService; import com.gogirl.infrastructure.service.sms.SmsService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.json.JSONException; import org.json.JSONException;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.xml.ws.http.HTTPException; import javax.xml.ws.http.HTTPException;
import java.io.IOException; import java.io.IOException;
...@@ -16,7 +18,8 @@ import java.io.IOException; ...@@ -16,7 +18,8 @@ import java.io.IOException;
@Service @Service
@Slf4j @Slf4j
public class QCloudSmsServiceImpl implements SmsService { public class QCloudSmsServiceImpl implements SmsService {
@Resource
StringRedisTemplate stringRedisTemplate;
@Override @Override
public SmsSingleSenderResult sendBindSmsCode(String phoneNumber, String code) { public SmsSingleSenderResult sendBindSmsCode(String phoneNumber, String code) {
...@@ -30,6 +33,8 @@ public class QCloudSmsServiceImpl implements SmsService { ...@@ -30,6 +33,8 @@ public class QCloudSmsServiceImpl implements SmsService {
try { try {
SmsSingleSender sender = new SmsSingleSender(SmsConstant.appid, SmsConstant.appkey); SmsSingleSender sender = new SmsSingleSender(SmsConstant.appid, SmsConstant.appkey);
result = sender.sendWithParam("86", phoneNumber, templateId, params, smsSign, "", ""); result = sender.sendWithParam("86", phoneNumber, templateId, params, smsSign, "", "");
stringRedisTemplate.opsForValue().set(phoneNumber, code);
} }
// HTTP响应码错误 json解析错误 网络IO错误 // HTTP响应码错误 json解析错误 网络IO错误
catch (HTTPException | JSONException | IOException | com.github.qcloudsms.httpclient.HTTPException e) { catch (HTTPException | JSONException | IOException | com.github.qcloudsms.httpclient.HTTPException e) {
...@@ -38,4 +43,9 @@ public class QCloudSmsServiceImpl implements SmsService { ...@@ -38,4 +43,9 @@ public class QCloudSmsServiceImpl implements SmsService {
return result; return result;
} }
@Override
public Boolean checkSmsCode(String phoneNumber, String code) {
return code.equals(stringRedisTemplate.opsForValue().get(phoneNumber));
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment