参数
在配置表中,配置以下参数:
| 名称 | 配置名 | 配置值 |
|---|---|---|
| 【创瑞短信】开发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("【创瑞】短信内容转换异常");}}}}
