📄 cmppsavedata.java
字号:
package cn.netjava.cngpclient.connection;
import java.io.*;
import java.util.*;
import java.sql.*;
import cn.netjava.cngpclient.Intery2DB;
import cn.netjava.cngpclient.log.LogManage;
import cn.netjava.cngpclient.publics.*;
import java.util.logging.*;
/**
* 保存消息到备注库的实现
* 中国网通短信网关客户端--蓝杰实训项目
* @author www.NetJava.cn
*
*/
public class CmppSaveData {
Calendar now = null;
private volatile Connection conn = null;
private volatile PreparedStatement pstmt1 = null;// for submit
private volatile PreparedStatement pstmt2 = null;// for report
private volatile PreparedStatement pstmt3 = null;// for deliver
private String submitSqlStatement = "insert into t_ismg_SUBMIT values(?,?,?,?,?,?,?,?,?,?,?,?,?) ";
private String reportSqlStatement = "insert into t_ismg_REPORT values(?,?,?,?,?,?,?)";
private String deliverSqlStatement = " insert into T_ismg_deliver(msg_id,dest_id,src_terminal_id,msg_content,recv_time)"
+ "values(?,?,?,?,?)";
public CmppSaveData() {
initDB();
}
/**
* 连接数据库 与数据库建立两个连接
*/
public void initDB() {
boolean flag = true;
while (flag) {
try {
if (conn != null) {
try {
conn.close();
} catch (Exception ef) {
}
conn = null;
}
conn = DatabaseAccess.connectDatabase(
PublicConstants.CONNECTION_URL,
PublicConstants.DB_USER, PublicConstants.DB_PASS);
pstmt1 = conn.prepareStatement(submitSqlStatement);
pstmt3 = conn.prepareStatement(deliverSqlStatement);
pstmt2 = conn.prepareStatement(reportSqlStatement);
flag = false;
} catch (Exception e) {
LogManage.ins().myLog.logp(Level.SEVERE, "", "",
" save LogDB error: " + e);
cn.netjava.cngpclient.publics.PublicFuction.threadSleep(1000);
}
}
}
public boolean saveCmppSubmitMsg(ShortMsgCmpp sm) {
try {
pstmt1.setString(1, sm.submit_msg_id_tem);
pstmt1.setString(2, stringArray2String(sm.msgSubmitDest, ","));
pstmt1.setInt(3, sm.msgDataCoding);
pstmt1.setString(4, sm.feeTerminalId);
pstmt1.setByte(5, sm.msgFeeType);
pstmt1.setByte(6, sm.msgFeeUserType);
pstmt1.setString(7, sm.msgServiceType);
pstmt1.setInt(8, sm.msgInfoFee);
pstmt1.setString(9, sm.msgContent);
pstmt1.setInt(10, sm.msgMode);
pstmt1.setString(11, sm.msgSrcAddr);
pstmt1.setByte(12, sm.subType);
pstmt1.setString(13, timeStamp());
pstmt1.executeUpdate();
return true;
} catch (Exception e) {
LogManage.ins().myLog.logp(Level.SEVERE, "", "",
" save submit data failed." + "\nmsgId:" + sm.msgId
+ "\nmsgMode:" + sm.msgMode + "\nmsgDestAddr:"
+ sm.msgDestAddr + "\nmsgSrcAddr:" + sm.msgSrcAddr
+ "\nmsgContent:" + sm.msgContent + "\nexception:"
+ e.toString());
initDB();
return false;
}
}
public boolean saveCmppReportMsg(ShortMsgCmpp sm) {
try {
LogManage.ins().myLog.logp(Level.INFO, "", "", " recv report"
+ " DestAddr: " + sm.msgDestAddr + " SrcAddr: "
+ sm.msgSrcAddr + " Result: " + sm.reportStat);
pstmt2.setString(1, sm.submit_msg_id_tem);
pstmt2.setString(2, sm.msgDestAddr);
pstmt2.setString(3, sm.msgSrcAddr);
pstmt2.setString(4, sm.reportMsgId);
pstmt2.setString(5, sm.reportStat);
pstmt2.setString(6, sm.reportDoneTime);
pstmt2.setString(7, timeStamp());
// pstmt2.setByte (8, (byte)1);
// pstmt2.setString (9, "0731");
pstmt2.executeUpdate();
return true;
} catch (Exception e) {
LogManage.ins().myLog.logp(Level.SEVERE, "", "",
" save submit data failed." + "\nmsgId:" + sm.msgId
+ "\nmsgMode:" + sm.msgMode + "\nmsgDestAddr:"
+ sm.msgDestAddr + "\nmsgSrcAddr:" + sm.msgSrcAddr
+ "\nmsgContent:" + sm.msgContent + "\nexception:"
+ e.toString());
initDB();
}
return false;
}
private static int moCount = 0;
public boolean saveCmppDeliverMsg(ShortMsgCmpp sm) {
try {
moCount++;
LogManage.ins().myLog.logp(Level.INFO, "", "", moCount
+ " recv Deleive " + " DestAddr:" + sm.msgDestAddr
+ " SrcAddr:" + sm.msgSrcAddr + " MSG:" + sm.msgContent);
pstmt3.setString(1, sm.submit_msg_id_tem);
pstmt3.setString(2, sm.msgDestAddr);
pstmt3.setString(3, sm.msgSrcAddr);
pstmt3.setString(4, sm.msgContent);
pstmt3.setString(5, timeStamp());
// pstmt3.setByte (6, (byte)1);
// pstmt3.setString (7, "0731");
pstmt3.executeUpdate();
sm.msgContent = sm.msgContent.toUpperCase();
Intery2DB.interyV.add(sm);
return true;
} catch (Exception e) {
LogManage.ins().myLog.logp(Level.INFO, "", "",
" save Deleive data failed." + "\nmsgId:"
+ sm.submit_msg_id + "\nmsgMode:" + sm.msgMode
+ "\nmsgServiceType:" + sm.msgServiceType
+ "\nmsgDestAddr:" + sm.msgDestAddr
+ "\nmsgDataCoding:" + sm.msgDataCoding
+ "\nmsgSrcAddr:" + sm.msgSrcAddr + "\nmsgContent:"
+ sm.msgContent + "\nexception:" + e.toString());
initDB();
return false;
}
}
private static final String stringArray2String(String[] srcArray,
String separator) {
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < srcArray.length - 1; i++) {
buffer.append(srcArray[i]);
buffer.append(separator);
}
buffer.append(srcArray[srcArray.length - 1]);
return buffer.toString();
}
private String timeStamp() {
Calendar now = Calendar.getInstance();
String yyyy = String.valueOf(now.get(java.util.Calendar.YEAR));
String mm = String.valueOf(now.get(Calendar.MONTH) + 1);
String dd = String.valueOf(now.get(Calendar.DAY_OF_MONTH));
String hh = String.valueOf(now.get(Calendar.HOUR_OF_DAY));
String ff = String.valueOf(now.get(Calendar.MINUTE));
String ss = String.valueOf(now.get(Calendar.SECOND));
mm = (1 == mm.length()) ? ("0" + mm) : mm;
dd = (1 == dd.length()) ? ("0" + dd) : dd;
hh = (1 == hh.length()) ? ("0" + hh) : hh;
ff = (1 == ff.length()) ? ("0" + ff) : ff;
ss = (1 == ss.length()) ? ("0" + ss) : ss;
String ts = yyyy + mm + dd + hh + ff + ss;
return ts;
}
private String gettime() {
Calendar now = Calendar.getInstance();
String hh = String.valueOf(now.get(Calendar.HOUR_OF_DAY));
String ff = String.valueOf(now.get(Calendar.MINUTE));
String ss = String.valueOf(now.get(Calendar.SECOND));
hh = (1 == hh.length()) ? ("0" + hh) : hh;
ff = (1 == ff.length()) ? ("0" + ff) : ff;
ss = (1 == ss.length()) ? ("0" + ss) : ss;
String hhffss = hh + "时" + ff + "分" + ss + "秒";
return hhffss;
}
private String dateview() {
Calendar now = Calendar.getInstance();
String yyyy = String.valueOf(now.get(java.util.Calendar.YEAR));
String mm = String.valueOf(now.get(Calendar.MONTH) + 1);
String dd = String.valueOf(now.get(Calendar.DAY_OF_MONTH));
String hh = String.valueOf(now.get(Calendar.HOUR_OF_DAY));
String ff = String.valueOf(now.get(Calendar.MINUTE));
String ss = String.valueOf(now.get(Calendar.SECOND));
mm = (1 == mm.length()) ? ("0" + mm) : mm;
dd = (1 == dd.length()) ? ("0" + dd) : dd;
// hh = (1==hh.length()) ? ("0"+hh) : hh;
// ff = (1==ff.length()) ? ("0"+ff) : ff;
// ss = (1==ss.length()) ? ("0"+ss) : ss;
String yyyymmdd = yyyy + "年" + mm + "月" + dd + "日";
return yyyymmdd;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -