代码是由我们公司勇哥,豪哥珠联璧合编写的,良好的独立模块,耦合度低,完全是做到了,拿来即用;不用在配多余的配置;
好话不多少,直接贴上代码;
1.调用的地方
2.方法内容
初始化SDK时,需指定设置相对应的路径,端口,账号,密码,应用id和发送短信模板id等等
/**
* <p class="detail">
* 功能:容联云通讯-发送短信
* </p>
* @author liuwh
* @date 2016-1-22
* @param tel 手机号码,多个用,分隔
* @param verifyCode 验证码
* @return
*/
public static ResponseObj sendRegCodeByYTX(String tel, String verifyCode,String verifyName){
ResponseObj obj = new ResponseObj(1, "操作成功");
HashMap<String, Object> result = null;
//初始化SDK
CCPRestSmsSDK restAPI = new CCPRestSmsSDK();
restAPI.init(SysConfig.getValue("sms_ytx_url"), SysConfig.getValue("sms_ytx_port"));
restAPI.setAccount(SysConfig.getValue("sms_ytx_sid"), SysConfig.getValue("sms_ytx_token"));//账号、密码
restAPI.setAppId(SysConfig.getValue("sms_ytx_appid"));//应用ID
String smsValidMin=SysConfig.getValue("sms_ytx_valid_min"); //验证码过期时间
if(StringUtil.isNullOrEmpty(smsValidMin)){
smsValidMin="5";
}
result = restAPI.sendTemplateSMS(tel, SysConfig.getValue("sms_ytx_tempid"),new String[]{verifyName,verifyCode, smsValidMin});
System.out.println("SDKTestGetSubAccounts result=" + result);
if("000000".equals(result.get("statusCode"))){
//正常返回输出data包体信息(map)
HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");
Set<String> keySet = data.keySet();
for(String key:keySet){
Object object = data.get(key);
System.out.println(key +" = "+object);
}
}else{
//异常返回输出错误码和错误信息
System.out.println("错误码=" + result.get("statusCode") +" 错误信息= "+result.get("statusMsg"));
obj.setStatus(0);
obj.setShowMessage(String.valueOf(result.get("statusMsg")));
}
return obj;
}
/**
* <p class="detail">
* 功能:容联云通讯-发送催款信息
* </p>
* @author liuwh
* @date 2016-1-22
* @param tel 手机号码,多个用,分隔
* @param verifyName 参数值(多个替换坑)
* @return
*/
public static ResponseObj sendPressMoneyByYTX(String tel,String... verifyName){
ResponseObj obj = new ResponseObj(1, "操作成功");
HashMap<String, Object> result = null;
//初始化SDK
CCPRestSmsSDK restAPI = new CCPRestSmsSDK();
restAPI.init(SysConfig.getValue("sms_ytx_url"), SysConfig.getValue("sms_ytx_port"));
restAPI.setAccount(SysConfig.getValue("sms_ytx_sid"), SysConfig.getValue("sms_ytx_token"));//账号、密码
restAPI.setAppId(SysConfig.getValue("sms_ytx_appid"));//应用ID
result = restAPI.sendTemplateSMS(tel, SysConfig.getValue("sms_ytx_press_tempid"), verifyName);
if("000000".equals(result.get("statusCode"))){
//正常返回输出data包体信息(map)
HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");
Set<String> keySet = data.keySet();
for(String key:keySet){
Object object = data.get(key);
System.out.println(key +" = "+object);
}
}else{
//异常返回输出错误码和错误信息
System.out.println("错误码=" + result.get("statusCode") +" 错误信息= "+result.get("statusMsg"));
obj.setStatus(0);
obj.setShowMessage(String.valueOf(result.get("statusMsg")));
}
return obj;
}
关于应用ID,使用容联云通讯的同学肯定知道它是指什么,但也有不会的同学,所以来写下;
应用id是开发者主张下的AppID;
temp_Id是容联云定义的短信内容模板id,发送内容必须需要在容联云平台上增加审核过后才可以正常使用;
相对应的需要SDKjar
CCP_REST_SMS_SDK_JAVA_v2.6.3r.jar