JAVA全系列 教程
3762个小节阅读:7090.6k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
模块pom.xml只需引入his-commons.jar
sms-api子模块
xxxxxxxxxx
<dependencies>
<dependency>
<groupId>com.itbaizhan.openhis</groupId>
<artifactId>sms-domain</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
sms-domain子模块
xxxxxxxxxx
<dependencies>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
</dependencies>
sms-mapper子模块
xxxxxxxxxx
<dependencies>
<dependency>
<groupId>com.itbaizhan.openhis</groupId>
<artifactId>sms-domain</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
sms-service子模块
xxxxxxxxxx
<dependencies>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>com.itbaizhan.openhis</groupId>
<artifactId>sms-mapper</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.itbaizhan.openhis</groupId>
<artifactId>sms-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--Config 客户端依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
<version>2.2.8.RELEASE</version>
</dependency>
<!--测试的依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--dubbo-->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
</dependency>
<!--nacos service discovery client依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
<!--nacos config client 依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.6.RC1</version>
</dependency>
</dependencies>
主要用于发送登录验证码,使用第三方短信平台提供的接口,发送成功后存入数据表中供登录校验用。
xxxxxxxxxx
/**
* 短信发送(验证码通知,会员营销)
*/
@Override
public String execute(String phoneNumber, Integer code) throws Exception{
StringBuilder sb = new StringBuilder();
sb.append("accountSid").append("=").append(smsSendConfig.getACCOUNT_SID()); //客户id
sb.append("&to").append("=").append(phoneNumber);
sb.append("&templateid").append("=").append(smsSendConfig.getTEMPLATE_ID()); //模板id
sb.append("¶m").append("=").append(URLEncoder.encode(code.toString(),"UTF-8"));
String body = sb.toString() + smsSendConfig.createCommonParam(smsSendConfig.getACCOUNT_SID(), smsSendConfig.getAUTH_TOKEN());
return HttpUtils.post(smsSendConfig.getBASE_URL(), body);
}
/**
* 发送短信
* @param phoneNumber
*/
@Override
public int sendSms(String phoneNumber){
Integer code = IdGeneratorSnowflake.generateVerificationCode();
try {
String result = this.execute(phoneNumber,code);
JSONObject jsonObject = (JSONObject) JSON.parse(result);
if(jsonObject != null && StringUtils.isNotEmpty(jsonObject.getString("respCode"))){
if(jsonObject.getString("respCode").equals("0000")){
return saveVerificationCode(phoneNumber,code);
}
}
}catch (Exception e){
e.printStackTrace();
}
return -1;
}