|
@@ -2,6 +2,7 @@ package com.nokia.sms.sgip.mt.client;
|
|
|
|
|
|
import java.io.UnsupportedEncodingException;
|
|
|
import java.net.InetSocketAddress;
|
|
|
+import java.text.DateFormat;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.Date;
|
|
|
import java.util.concurrent.ExecutionException;
|
|
@@ -41,7 +42,7 @@ public class MTClient {
|
|
|
private IoConnector connector;
|
|
|
private CompositeConfiguration config = SgipConfig.getConfig();
|
|
|
private static MTClient sgipClient;
|
|
|
- private static final SimpleDateFormat dateForamt = new SimpleDateFormat("yyMMddHHmmss032+");
|
|
|
+ private static final DateFormat dateForamt = new SimpleDateFormat("yyMMddHHmmss032+");
|
|
|
private IoSession session;
|
|
|
|
|
|
public static synchronized MTClient getInstance() {
|
|
@@ -77,7 +78,7 @@ public class MTClient {
|
|
|
this.connector.getFilterChain().addLast("exceutor", new ExecutorFilter(executor));
|
|
|
|
|
|
MessageUtil.setNodeId((int) this.config.getLong("sgip_mt_node_id"));
|
|
|
- log.info("Inited!");
|
|
|
+ log.debug("Inited!");
|
|
|
}
|
|
|
|
|
|
private synchronized IoSession getSession() {
|
|
@@ -129,7 +130,7 @@ public class MTClient {
|
|
|
|
|
|
WriteFuture write = this.session.write(bind);
|
|
|
write.awaitUninterruptibly();
|
|
|
- log.info("Write:" + bind);
|
|
|
+ log.debug("Write:" + bind);
|
|
|
RespCaller caller = new RespCaller();
|
|
|
FutureTask<Byte> task = new FutureTask<>(caller);
|
|
|
String flowId = bind.getHead().getStrFlowId();
|
|
@@ -184,7 +185,7 @@ public class MTClient {
|
|
|
log.error("Fail to get session!");
|
|
|
} else {
|
|
|
session.write(message);
|
|
|
- log.info("{}", message);
|
|
|
+ log.debug("{}", message);
|
|
|
RespCaller caller = new RespCaller();
|
|
|
FutureTask<Byte> task = new FutureTask<>(caller);
|
|
|
String flowId = message.getHead().getStrFlowId();
|
|
@@ -219,7 +220,7 @@ public class MTClient {
|
|
|
}
|
|
|
SendResult messageResult = new SendResult(message.getHead().getFlowId(), result);
|
|
|
|
|
|
- log.info("{}", messageResult);
|
|
|
+ log.debug("{}", messageResult);
|
|
|
return messageResult;
|
|
|
}
|
|
|
|
|
@@ -227,27 +228,52 @@ public class MTClient {
|
|
|
return sendMessage(null, new String[] { userNumber }, content, null);
|
|
|
}
|
|
|
|
|
|
+ public SendResult[] sendMessage(String userNumber, String content, Date scheduleTime) {
|
|
|
+ return sendMessage(null, new String[] { userNumber }, content, scheduleTime);
|
|
|
+ }
|
|
|
+
|
|
|
public SendResult[] sendMessage(String extendPort, String userNumber, String content, Date scheduleTime) {
|
|
|
return sendMessage(extendPort, new String[] { userNumber }, content, scheduleTime);
|
|
|
}
|
|
|
|
|
|
+ public SendResult[] sendMessage(String[] userNumbers, String content) {
|
|
|
+ return sendMessage(null, userNumbers, content, null);
|
|
|
+ }
|
|
|
+
|
|
|
+ public SendResult[] sendMessage(String[] userNumbers, String content, Date scheduleTime) {
|
|
|
+ return sendMessage(null, userNumbers, content, scheduleTime);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 发送短信
|
|
|
+ *
|
|
|
+ * @param extendPort 字符串,接入号尾号,如果传入会添加在接入号的末尾
|
|
|
+ * @param userNumber 字符串数组, 发送
|
|
|
+ * @param content 短信内容
|
|
|
+ * @param scheduleTime 发送时间
|
|
|
+ * @return 发送结果
|
|
|
+ */
|
|
|
public SendResult[] sendMessage(String extendPort, String[] userNumber, String content, Date scheduleTime) {
|
|
|
+
|
|
|
String signature = this.config.getString("sms_signature", null);
|
|
|
if ((signature != null) && (!"".equals(signature))) {
|
|
|
content = content + signature;
|
|
|
}
|
|
|
byte[] messageContent = null;
|
|
|
try {
|
|
|
+
|
|
|
messageContent = content.getBytes("UnicodeBigUnmarked");
|
|
|
} catch (UnsupportedEncodingException e) {
|
|
|
log.error("Fail to getByte by UnicodeBigUnmarked!" + e.getMessage());
|
|
|
}
|
|
|
+
|
|
|
String strScheduleTime = null;
|
|
|
if (scheduleTime != null) {
|
|
|
strScheduleTime = dateForamt.format(scheduleTime);
|
|
|
}
|
|
|
SubmitMessage message = new SubmitMessage();
|
|
|
initSumitMessage(message);
|
|
|
+
|
|
|
if (extendPort == null) {
|
|
|
message.setSpNumber(this.config.getString("sgip_mt_sp_number"));
|
|
|
} else {
|
|
@@ -345,14 +371,10 @@ public class MTClient {
|
|
|
service.shutdownNow();
|
|
|
}
|
|
|
sgipClient = null;
|
|
|
- log.info("Disposed!");
|
|
|
+ log.debug("Disposed!");
|
|
|
}
|
|
|
|
|
|
public void sendUnBindMessage() {
|
|
|
getSession().write(new UnBindMessage());
|
|
|
}
|
|
|
-
|
|
|
- public static void main(String[] args)
|
|
|
- throws UnsupportedEncodingException {
|
|
|
- }
|
|
|
}
|