|
|
@@ -25,10 +25,9 @@ import java.time.ZoneOffset;
|
|
|
@Service
|
|
|
@Slf4j
|
|
|
public class AliSmsService implements SmsService {
|
|
|
- @Value("${aliyun.access-key-id}")
|
|
|
- private String accessKeyId;
|
|
|
- @Value("${aliyun.access-key-secret}")
|
|
|
- private String accessKeySecret;
|
|
|
+ private final String accessKeyId = "LTAI4G8CAiSoufL1sc6G2Mcd";
|
|
|
+ private final String accessKeySecret = "k1ylbJ9FNMgJ5RJCIwAdaDPJyXPCNf";
|
|
|
+
|
|
|
@Autowired
|
|
|
private SmsRecordRepo smsRecordRepo;
|
|
|
|
|
|
@@ -36,7 +35,8 @@ public class AliSmsService implements SmsService {
|
|
|
public String sendVerify(String phone) {
|
|
|
smsRecordRepo.findLastByPhoneAndExpiresAtAfterAndExpiredFalse(phone, LocalDateTime.now()).ifPresent(record -> {
|
|
|
if (record.getCreatedAt().plusMinutes(1L).isAfter(LocalDateTime.now())) {
|
|
|
- long sec = record.getCreatedAt().plusMinutes(1L).toInstant(ZoneOffset.UTC).getEpochSecond() - LocalDateTime.now().toInstant(ZoneOffset.UTC).getEpochSecond() + 1;
|
|
|
+ long sec = record.getCreatedAt().plusMinutes(1L).toInstant(ZoneOffset.UTC)
|
|
|
+ .getEpochSecond() - LocalDateTime.now().toInstant(ZoneOffset.UTC).getEpochSecond() + 1;
|
|
|
throw new BusinessException("请" + sec + "秒后再试");
|
|
|
}
|
|
|
});
|
|
|
@@ -67,12 +67,12 @@ public class AliSmsService implements SmsService {
|
|
|
smsRecordRepo.expire(phone);
|
|
|
String sessionId = RandomStringUtils.randomAlphabetic(10);
|
|
|
smsRecordRepo.save(SmsRecord.builder()
|
|
|
- .sessionId(sessionId)
|
|
|
- .phone(phone)
|
|
|
- .code(code)
|
|
|
- .expiresAt(LocalDateTime.now().plusMinutes(5))
|
|
|
- .expired(false)
|
|
|
- .build());
|
|
|
+ .sessionId(sessionId)
|
|
|
+ .phone(phone)
|
|
|
+ .code(code)
|
|
|
+ .expiresAt(LocalDateTime.now().plusMinutes(5))
|
|
|
+ .expired(false)
|
|
|
+ .build());
|
|
|
return sessionId;
|
|
|
} catch (ClientException | JSONException e) {
|
|
|
e.printStackTrace();
|
|
|
@@ -82,7 +82,8 @@ public class AliSmsService implements SmsService {
|
|
|
|
|
|
@Override
|
|
|
public void verify(String phone, String code) throws SmsVerifyException {
|
|
|
- SmsRecord smsRecord = smsRecordRepo.findLastByPhoneAndExpiresAtAfterAndExpiredFalse(phone, LocalDateTime.now()).orElseThrow(new SmsVerifyException("验证码错误"));
|
|
|
+ SmsRecord smsRecord = smsRecordRepo.findLastByPhoneAndExpiresAtAfterAndExpiredFalse(phone, LocalDateTime.now())
|
|
|
+ .orElseThrow(new SmsVerifyException("验证码错误"));
|
|
|
if (!smsRecord.getCode().equalsIgnoreCase(code)) {
|
|
|
throw new BusinessException("验证码错误");
|
|
|
}
|