|
@@ -34,16 +34,12 @@ import java.util.concurrent.ThreadLocalRandom;
|
|
|
@RequiredArgsConstructor
|
|
|
public class SmsUtilAliImplService implements SmsUtil {
|
|
|
|
|
|
- private final MsgSendApiService msgSendApiService;
|
|
|
-
|
|
|
-
|
|
|
public static final String BASE_NUMBER = "0123456789";
|
|
|
-
|
|
|
/**
|
|
|
* auth-code有效期10分钟,单位:s ,
|
|
|
*/
|
|
|
public static final Integer AUTH_CODE_TIMEOUT = 60 * 10;
|
|
|
-
|
|
|
+ private final MsgSendApiService msgSendApiService;
|
|
|
|
|
|
/**
|
|
|
* 设置缓存
|
|
@@ -75,10 +71,33 @@ public class SmsUtilAliImplService implements SmsUtil {
|
|
|
redisService.remove(cacheKey);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 生成缓存key
|
|
|
+ *
|
|
|
+ * @param smsSceneEnum 验证场景
|
|
|
+ * @param mobile 手机号码
|
|
|
+ * @param uid 用户标识 uid
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ static String cacheKey(SmsSceneEnum smsSceneEnum, String mobile, String uid) {
|
|
|
+ return smsSceneEnum.getScene() + "_" + uid + "_" + mobile;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 随机6位数生成
|
|
|
+ */
|
|
|
+ public static String getRandomNum() {
|
|
|
+ StringBuilder sb = new StringBuilder(6);
|
|
|
+ for (int i = 0; i < 6; i++) {
|
|
|
+ int num = ThreadLocalRandom.current().nextInt(BASE_NUMBER.length());
|
|
|
+ sb.append(BASE_NUMBER.charAt(num));
|
|
|
+ }
|
|
|
+ return sb.toString();
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
|
- public void sendSmsCode(String mobile, SmsSceneEnum smsSceneEnum, String uid) {
|
|
|
- //验证码
|
|
|
+ public void sendSmsCode(String mobile, SmsSceneEnum smsSceneEnum, String uid, String signName) {
|
|
|
+ // 验证码
|
|
|
String code = getRandomNum();
|
|
|
Long configId = MsgConfigId.SMS_CODE.getId();
|
|
|
MsgConfigDto.Vo msgConfig = R.feignCheckData(msgSendApiService.getMsgConfig(new MsgConfigDto.Vo().setId(configId)));
|
|
@@ -103,19 +122,20 @@ public class SmsUtilAliImplService implements SmsUtil {
|
|
|
}
|
|
|
MsgConfigTestDto.SendByMsgConfig sendByMsgConfig = new MsgConfigTestDto.SendByMsgConfig().setConfigId(configId).setBizDataList(sendList);
|
|
|
log.info("短信验证码发送参数-->{}", JSONUtil.toJsonStr(sendByMsgConfig));
|
|
|
+ sendByMsgConfig.setTaskName(signName);
|
|
|
msgSendApiService.sendByMsgConfig(sendByMsgConfig);
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
- //缓存code
|
|
|
+ // 缓存code
|
|
|
String cacheKey = cacheKey(smsSceneEnum, mobile, uid);
|
|
|
- //加入缓存中
|
|
|
+ // 加入缓存中
|
|
|
setCacheCode(cacheKey, code);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void sendSmsCommon(String mobile, Long configId, Map<String, Object> templateParams) {
|
|
|
+ public void sendSmsCommon(String mobile, Long configId, Map<String, Object> templateParams, String signName) {
|
|
|
MsgConfigDto.Vo msgConfig = R.feignCheckData(msgSendApiService.getMsgConfig(new MsgConfigDto.Vo().setId(configId)));
|
|
|
List<MsgConfigTestDto.BizParam> bizParams = R.feignCheckData(msgSendApiService.getBizParamByMsgConfig(new MsgConfigTestDto.MsgConfig().setConfigId(configId)));
|
|
|
log.info("通用短信发送,bizParams:{},msgConfig:{}", JSONUtil.toJsonPrettyStr(bizParams), JSONUtil.toJsonPrettyStr(msgConfig));
|
|
@@ -132,6 +152,7 @@ public class SmsUtilAliImplService implements SmsUtil {
|
|
|
}
|
|
|
MsgConfigTestDto.SendByMsgConfig sendByMsgConfig = new MsgConfigTestDto.SendByMsgConfig().setConfigId(configId).setBizDataList(sendList);
|
|
|
log.info("通用短信发送参数-->{}", JSONUtil.toJsonStr(sendByMsgConfig));
|
|
|
+ sendByMsgConfig.setTaskName(signName);
|
|
|
msgSendApiService.sendByMsgConfig(sendByMsgConfig);
|
|
|
|
|
|
|
|
@@ -144,7 +165,7 @@ public class SmsUtilAliImplService implements SmsUtil {
|
|
|
String cacheKey = cacheKey(smsSceneEnum, mobile, uuid);
|
|
|
String result = getCacheCode(cacheKey(smsSceneEnum, mobile, uuid));
|
|
|
if (code.equals(result)) {
|
|
|
- //校验之后,删除
|
|
|
+ // 校验之后,删除
|
|
|
delCacheCode(cacheKey);
|
|
|
return true;
|
|
|
} else {
|
|
@@ -153,29 +174,4 @@ public class SmsUtilAliImplService implements SmsUtil {
|
|
|
}
|
|
|
|
|
|
|
|
|
- /**
|
|
|
- * 生成缓存key
|
|
|
- *
|
|
|
- * @param smsSceneEnum 验证场景
|
|
|
- * @param mobile 手机号码
|
|
|
- * @param uid 用户标识 uid
|
|
|
- * @return
|
|
|
- */
|
|
|
- static String cacheKey(SmsSceneEnum smsSceneEnum, String mobile, String uid) {
|
|
|
- return smsSceneEnum.getScene() + "_" + uid + "_" + mobile;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 随机6位数生成
|
|
|
- */
|
|
|
- public static String getRandomNum() {
|
|
|
- StringBuilder sb = new StringBuilder(6);
|
|
|
- for (int i = 0; i < 6; i++) {
|
|
|
- int num = ThreadLocalRandom.current().nextInt(BASE_NUMBER.length());
|
|
|
- sb.append(BASE_NUMBER.charAt(num));
|
|
|
- }
|
|
|
- return sb.toString();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
}
|