更改发送短信,
This commit is contained in:
@@ -124,6 +124,20 @@
|
||||
<orderEntry type="library" name="Maven: com.github.penggle:kaptcha:2.3.2" level="project" />
|
||||
<orderEntry type="library" name="Maven: javax.servlet:javax.servlet-api:4.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.jhlabs:filters:2.0.235-1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.aliyun:dysmsapi20170525:2.0.21" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.aliyun:tea-util:0.2.14" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.aliyun:endpoint-util:0.0.7" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.aliyun:tea:1.2.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.jacoco:org.jacoco.agent:runtime:0.8.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.aliyun:tea-openapi:0.2.6" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.aliyun:credentials-java:0.2.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.ini4j:ini4j:0.5.4" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.3.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.3.0" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.aliyun:alibabacloud-gateway-spi:0.0.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.aliyun:tea-xml:0.1.5" level="project" />
|
||||
<orderEntry type="library" name="Maven: org.dom4j:dom4j:2.0.3" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.aliyun:openapiutil:0.1.14" level="project" />
|
||||
<orderEntry type="library" name="Maven: com.alipay.sdk:alipay-sdk-java:4.16.11.ALL" level="project" />
|
||||
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.1.1" level="project" />
|
||||
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.8.4" level="project" />
|
||||
|
||||
@@ -118,6 +118,12 @@
|
||||
<version>2.3.2</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.aliyun</groupId>
|
||||
<artifactId>dysmsapi20170525</artifactId>
|
||||
<version>2.0.21</version>
|
||||
</dependency>
|
||||
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.apache.logging.log4j</groupId>-->
|
||||
<!-- <artifactId>log4j-api</artifactId>-->
|
||||
|
||||
@@ -9,6 +9,8 @@ import cn.pluss.platform.exception.MsgException;
|
||||
import cn.pluss.platform.service.ReqRecordsService;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.aliyun.teaopenapi.models.Config;
|
||||
import com.aliyun.tea.TeaException;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.google.code.kaptcha.impl.DefaultKaptcha;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -23,6 +25,7 @@ import java.awt.image.BufferedImage;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.aliyun.dysmsapi20170525.Client;
|
||||
|
||||
/**
|
||||
* 获取验证码相关工具
|
||||
@@ -37,6 +40,17 @@ public class ValidateCodeUtil {
|
||||
*/
|
||||
@Value("${juhe.send.key}")
|
||||
private String KEY;
|
||||
/**
|
||||
* 阿里云key
|
||||
*/
|
||||
@Value("${aliyun.keyid}")
|
||||
private String ACCESSKEYID;
|
||||
/**
|
||||
* 阿里云secret
|
||||
*/
|
||||
@Value("${aliyun.keysecret}")
|
||||
private String ACCESSKEYSECRET;
|
||||
|
||||
|
||||
@Autowired
|
||||
private ReqRecordsService reqRecordService;
|
||||
@@ -193,4 +207,80 @@ public class ValidateCodeUtil {
|
||||
return ResultGenerator.genFailJsonResult(e.getMessage());
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 获取验证码(阿里云)
|
||||
*/
|
||||
public Result<Object> requestValidateCodeALi(String phone, String checkCode) {
|
||||
String requestUri = request.getRequestURI();
|
||||
String myLoginName = request.getHeader("myLoginName");
|
||||
|
||||
ReqRecords reqRecords = new ReqRecords();
|
||||
reqRecords.setIp(IpUtils.getIpAddr(request));
|
||||
reqRecords.setPhone(phone);
|
||||
reqRecords.setLoginName(myLoginName);
|
||||
reqRecords.setUri(requestUri);
|
||||
|
||||
// 短信一天限制10次
|
||||
ReqRecords reqRecords1 = new ReqRecords();
|
||||
reqRecords1.setIp(reqRecords.getIp());
|
||||
reqRecords1.setCreateTimeStart(DateUtil.beginOfDay(new Date()).toJdkDate());
|
||||
reqRecords1.setCreateTimeEnd(new Date());
|
||||
int count = reqRecordService.count(new QueryWrapper<>(reqRecords1));
|
||||
if (count >= 50) {
|
||||
return ResultGenerator.genFailResult("限制请求");
|
||||
}
|
||||
|
||||
// 短信一周限制45次
|
||||
// ReqRecords reqRecords2 = new ReqRecords();
|
||||
// reqRecords2.setIp(reqRecords.getIp());
|
||||
// reqRecords2.setCreateTimeStart(DateUtil.beginOfWeek(new Date()).toJdkDate());
|
||||
// reqRecords2.setCreateTimeEnd(new Date());
|
||||
// count = reqRecordService.count(new QueryWrapper<>(reqRecords2));
|
||||
// if (count >= 250) {
|
||||
// return ResultGenerator.genFailResult("限制请求");
|
||||
// }
|
||||
|
||||
try {
|
||||
reqRecordService.checkLimit(reqRecords, 60000);
|
||||
} catch (Exception e) {
|
||||
return ResultGenerator.genFailResult(e.getMessage());
|
||||
}
|
||||
|
||||
|
||||
Client client = null;
|
||||
try {
|
||||
client = createClient();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// 1.发送短信
|
||||
com.aliyun.dysmsapi20170525.models.SendSmsRequest sendSmsRequest = new com.aliyun.dysmsapi20170525.models.SendSmsRequest()
|
||||
.setSignName("超掌柜")
|
||||
.setTemplateCode("SMS_244665149")
|
||||
.setTemplateParam("{\"code\":" + checkCode + "}")
|
||||
.setPhoneNumbers(phone);
|
||||
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
|
||||
|
||||
try {
|
||||
assert client != null;
|
||||
return ResultGenerator.genSuccessResult(client.sendSmsWithOptions(sendSmsRequest, runtime));
|
||||
} catch (Exception e) {
|
||||
return ResultGenerator.genFailResult(e.getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
/**
|
||||
* 发送短信(阿里云)
|
||||
*
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public Client createClient() throws Exception {
|
||||
Config config = new Config();
|
||||
config.accessKeyId = ACCESSKEYID;
|
||||
config.accessKeySecret = ACCESSKEYSECRET;
|
||||
return new com.aliyun.dysmsapi20170525.Client(config);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user