|
@@ -21,7 +21,9 @@ import javax.xml.transform.dom.DOMSource;
|
|
|
import javax.xml.transform.stream.StreamResult;
|
|
|
import java.io.*;
|
|
|
import java.net.Socket;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.Calendar;
|
|
|
+import java.util.Date;
|
|
|
|
|
|
/**
|
|
|
* 通用插件
|
|
@@ -30,6 +32,36 @@ import java.util.Calendar;
|
|
|
*/
|
|
|
public class DemoSMSSender implements SMSSender {
|
|
|
protected static final Log log = LogFactory.getLog(DemoSMSSender.class);
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean sendMessage(String phone, String message, String signature) {
|
|
|
+ Boolean flag = false;
|
|
|
+ //1.获取接口链接等信息
|
|
|
+ DynamicObject jkpzxx = BusinessDataServiceHelper.loadSingle("nckd_jkpzxx",new QFilter[]{new QFilter("number","=","dxyz")});
|
|
|
+ String servername = jkpzxx.getString("nckd_servername");
|
|
|
+ String port = jkpzxx.getString("nckd_port");
|
|
|
+ //2.获取xml对象
|
|
|
+ String bodyxml = createSingleMessageRequest(phone,message);
|
|
|
+ //3.调用接口
|
|
|
+ JSONObject cbsReturnJson =socketService(servername,port,bodyxml);
|
|
|
+ if(cbsReturnJson!=null) {
|
|
|
+ JSONObject reMessage = cbsReturnJson.getJSONObject("Message");
|
|
|
+ JSONObject reBodyInfo = reMessage.getJSONObject("BodyInfo");
|
|
|
+ if ("success".equals(reBodyInfo.getString("Fs_retMsg"))) {//相应成功
|
|
|
+ if ("000".equals(reBodyInfo.getString("Fs_retCode"))) {
|
|
|
+ flag = true;
|
|
|
+ log.info("短信前置机响应成功,前置机接口发送成功");
|
|
|
+ } else {
|
|
|
+ log.info("短信前置机响应成功,前置机接口发送失败");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ log.info("短信发送前置机响应失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return flag;
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public boolean sendMessage(String phone, String message) {
|
|
|
Boolean flag = false;
|
|
@@ -73,28 +105,25 @@ public class DemoSMSSender implements SMSSender {
|
|
|
//拼接报文
|
|
|
createElement(doc, body, "Fs_channelcode", "JSX"); //渠道号
|
|
|
createElement(doc, body, "Fs_transcode", "SingleMsg"); //交易码
|
|
|
- createElement(doc, body, "Fs_rpid", ""); //流水号(待提供)
|
|
|
+ createElement(doc, body, "Fs_rpid", "12345"); //流水号(待提供)
|
|
|
createElement(doc, body, "Fs_phone", phone); //手机号
|
|
|
createElement(doc, body, "Fs_ParamCount", "2");//模板数量
|
|
|
createElement(doc, body, "ParamName1", "SmsVerifyCode");//模板名称1
|
|
|
- createElement(doc, body, "ParamValue1", "");//模板值1
|
|
|
+ String ParamValue1 = message.substring(4,10);
|
|
|
+ createElement(doc, body, "ParamValue1", ParamValue1);//模板值1
|
|
|
createElement(doc, body, "ParamName2", "SceneName");//模板名称2
|
|
|
- createElement(doc, body, "ParamValue2", "");//模板值2
|
|
|
+ createElement(doc, body, "ParamValue2", "wj");//模板值2
|
|
|
|
|
|
createElement(doc, body, "Fs_regOrg", "");//发送机构(待提供)
|
|
|
createElement(doc, body, "Fs_bizId", "00007");//业务类型id
|
|
|
createElement(doc, body, "Fs_templateld", "2409029227");//模板id
|
|
|
|
|
|
- Calendar calendar = Calendar.getInstance();
|
|
|
- int year = calendar.get(Calendar.YEAR);
|
|
|
- int month = calendar.get(Calendar.MONTH) + 1;
|
|
|
- int day = calendar.get(Calendar.DAY_OF_MONTH);
|
|
|
- int hour = calendar.get(Calendar.HOUR_OF_DAY);
|
|
|
- int minute = calendar.get(Calendar.MINUTE);
|
|
|
- int second = calendar.get(Calendar.SECOND);
|
|
|
- String Fs_reqDate = String.valueOf(year)+String.valueOf(month)+String.valueOf(day);
|
|
|
+ Date now = new Date();
|
|
|
+ SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss");
|
|
|
+ String nowStr = formatter.format(now);
|
|
|
+ String Fs_reqDate = nowStr.substring(0,8);
|
|
|
createElement(doc, body, "Fs_reqDate", Fs_reqDate);
|
|
|
- String Fs_regTime = tranTime(hour,minute,second);
|
|
|
+ String Fs_regTime = nowStr.substring(9,15);
|
|
|
createElement(doc, body, "Fs_regTime", Fs_regTime);
|
|
|
|
|
|
TransformerFactory transformerFactory = TransformerFactory.newInstance();
|