参数
在配置表中,配置以下参数:
名称 | 配置名 | 配置值 |
---|---|---|
【创瑞短信】开发key | sms.chuangRui.accesskey | accesskey |
【创瑞短信】开发秘钥 | sms.chuangRui.secret | secret |
【创瑞短信】签名 | sms.chuangRui.sign | sign |
【创瑞短信】模板id | sms.chuangRui.templateId | templateId |
调用工具类插入参数
String accessKey="kwt";
String secret="1C8E70B4C8EB3E3123FC70ED43E7";
String sign="1025";
String templateId="1219";
genUtils.chuangRui(accessKey,secret,sign,templateId);
使用
// 生成6位数短信验证码
String code = SmsUtil.code();
SmsUtil.send(MsgPlatformEnum.CHUANG_RUI,"18715011234",code);
源代码
package com.hn.sms.chuangrui;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import cn.hutool.log.Log;
import cn.hutool.log.LogFactory;
import com.hn.config.exception.ConfigException;
import com.hn.sms.Sms;
import com.hn.sms.chuangrui.domain.ChuangRuiParam;
import com.hn.sms.exception.SmsException;
import com.hn.utils.AssertUtils;
/**
* 创瑞短信配置
*/
public class ChuangRuiSms implements Sms {
private static final Log log = LogFactory.get();
/**
* 短信网关地址
*/
private static final String WEB_URL = "http://api.1cloudsp.com/api/v2/single_send";
private ChuangRuiParam param;
public ChuangRuiSms(ChuangRuiParam param) {
this.param = param;
}
/**
* 短信发送
*
* @param phone 手机号
* @param code 验证码
* @return {boolean}
*/
public boolean send(String phone, String code) {
param.setMobile(phone);
param.setAuthCode(code);
String result = HttpUtil.post(WEB_URL, param);
JSONObject jsonObject = JSONUtil.parseObj(result);
if ("0".equals(jsonObject.getStr("code"))) {
log.info("创瑞短信返回结果:{}", result);
return true;
}
log.error("创瑞短信返回结果:{}", result);
throw new SmsException("短信发送失败," + jsonObject.getStr("msg"));
}
}
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.HashMap;
/**
* 描述:
* 创瑞短信配置
*
* @author fei
* 2019-08-16 09:04
*/
public class ChuangRuiParam extends HashMap {
/**
* 用户开发key
*
* @param accessKey 用户开发key
*/
public void setAccessKey(String accessKey) {
super.put("accesskey", accessKey);
}
/**
* 用户开发秘钥
*
* @param secret 用户开发秘钥
*/
public void setSecret(String secret) {
super.put("secret", secret);
}
/**
* 签名
*
* @param sign 签名
*/
public void setSign(String sign) {
super.put("sign", sign);
}
/**
* 模板id
*
* @param templateId 模板id
*/
public void setTemplateId(String templateId) {
super.put("templateId", templateId);
}
/**
* 手机号
* @param mobile 手机号
*/
public void setMobile(String mobile) {
super.put("mobile", mobile);
}
/**
* 验证码
*
* @param authCode 验证码
*/
public void setAuthCode(String authCode) {
if(StrUtil.isNotBlank(authCode)){
try {
authCode = URLEncoder.encode(authCode, "utf-8");
super.put("content", authCode);
} catch (UnsupportedEncodingException e) {
throw new SmsException("【创瑞】短信内容转换异常");
}
}
}
}