支持国际验证码

main
linhw 2024-06-19 12:04:32 +08:00
parent a834ed95ee
commit 32d0a6186a
2 changed files with 14 additions and 3 deletions

View File

@ -10,6 +10,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Authorization; import io.swagger.annotations.Authorization;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
@SuppressWarnings("ALL") @SuppressWarnings("ALL")
@CrossOrigin @CrossOrigin
@Api(tags = "短信验证码接口" , description = "短信验证码接口") @Api(tags = "短信验证码接口" , description = "短信验证码接口")
@Slf4j
public class PhoneCodeController { public class PhoneCodeController {
@Autowired @Autowired
@ -48,6 +50,7 @@ public class PhoneCodeController {
if ("OK".equals(send)) { if ("OK".equals(send)) {
return AjaxResult.success(); return AjaxResult.success();
} }
log.info("短信验证码发送失败:-------------------- " + send);
return AjaxResult.error("短信验证码发送失败", send); return AjaxResult.error("短信验证码发送失败", send);
} }

View File

@ -47,7 +47,8 @@ public class SendNoteUtil {
* Code * Code
*/ */
// @Value("${alisms.templateCode}") // @Value("${alisms.templateCode}")
private String templateCode = "SMS_299115021"; private String homeTemplateCode = "SMS_299115021";
private String foreignTemplateCode = "SMS_468240573";
/** /**
@ -87,7 +88,7 @@ public class SendNoteUtil {
request.putQueryParameter("PhoneNumbers", PhoneNumber);//接受验证码的手机号 request.putQueryParameter("PhoneNumbers", PhoneNumber);//接受验证码的手机号
request.putQueryParameter("SignName", signName);//签名 request.putQueryParameter("SignName", signName);//签名
//模板代码,我暂时用的参数,你可以直接写成模板码,模板码参考第八步 //模板代码,我暂时用的参数,你可以直接写成模板码,模板码参考第八步
request.putQueryParameter("TemplateCode", templateCode); request.putQueryParameter("TemplateCode", isChineseMobileNumber(PhoneNumber) ? homeTemplateCode : foreignTemplateCode);
//用户定义的验证码内容 //用户定义的验证码内容
request.putQueryParameter("TemplateParam", "{\"code\": \"" + randomNumber + "\"}"); request.putQueryParameter("TemplateParam", "{\"code\": \"" + randomNumber + "\"}");
try { try {
@ -148,6 +149,8 @@ public class SendNoteUtil {
* @return * @return
*/ */
public String sendMessage(String PhoneNumber) { public String sendMessage(String PhoneNumber) {
String homeTem = "SMS_467520300";
String foreignTem = "SMS_468380559";
CommonRequest request = new CommonRequest(); CommonRequest request = new CommonRequest();
request.setSysMethod(MethodType.POST); request.setSysMethod(MethodType.POST);
request.setSysDomain(dysmsapi); request.setSysDomain(dysmsapi);
@ -156,7 +159,7 @@ public class SendNoteUtil {
request.putQueryParameter("PhoneNumbers", PhoneNumber);//接受验证码的手机号 request.putQueryParameter("PhoneNumbers", PhoneNumber);//接受验证码的手机号
request.putQueryParameter("SignName", signName);//签名 request.putQueryParameter("SignName", signName);//签名
//模板代码,我暂时用的参数,你可以直接写成模板码,模板码参考第八步,此模板代码是发送通过申请的模板代码 //模板代码,我暂时用的参数,你可以直接写成模板码,模板码参考第八步,此模板代码是发送通过申请的模板代码
request.putQueryParameter("TemplateCode", "SMS_467520300"); request.putQueryParameter("TemplateCode", isChineseMobileNumber(PhoneNumber) ? homeTem : foreignTem);
request.putQueryParameter("TemplateParam", "{\"phone\":\"" + PhoneNumber + "\"}"); request.putQueryParameter("TemplateParam", "{\"phone\":\"" + PhoneNumber + "\"}");
try { try {
@ -169,4 +172,9 @@ public class SendNoteUtil {
return e.getErrMsg(); return e.getErrMsg();
} }
} }
public static boolean isChineseMobileNumber(String number) {
String regex = "^1[3-9]\\d{9}$";
return number.matches(regex);
}
} }