⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmppsavedata.java

📁 基于中国网通cngp2.0开发的一个java网关源代码。大家多多公开SP类的网关程序哦
💻 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 + -