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

📄 cmppstatusreport.java

📁 短信网关发送接受平台。
💻 JAVA
字号:
import java.lang.*;
import java.net.*;
import java.io.*;

import CMPPPacket;

public class CMPPStatusReport
{
	CMPPPacket m_packet = null;
	
	public int msg_id = 1;//提交的CMPP_Submit包的ID
	public String stat = null;//短信息的应答结果,含义与SMPP3.3协议补充要求中stat字段定义相同
	public String submit_time = null;//YYMMDDHHMM
	public String done_time = null;//YYMMDDHHMM
	public String dest_terminal_id = null;//目的终端MSISDN号码
	public int smsc_sequence = 0;//SMSC发送状态报告的消息序列号
	
	public CMPPStatusReport(CMPPPacket packet)
	{
		m_packet = packet;
	}
	
	public boolean isValid()
	{
		if(msg_id <= 0)
		{
			CMPPLog.log("CMPPStatusReport.isValid : invalid msg_id !",
				CMPPLog.LOG_CMPP_DELIVER | CMPPLog.LOG_ISVALID_METHOD);
			return false;
		}

		if(stat == null || stat.length() != 7)
		{
			CMPPLog.log("CMPPStatusReport.isValid : invalid stat !",
				CMPPLog.LOG_CMPP_DELIVER | CMPPLog.LOG_ISVALID_METHOD);
			return false;
		}

		if(submit_time == null || submit_time.length() != 10)
		{
			CMPPLog.log("CMPPStatusReport.isValid : invalid submit_time !",
				CMPPLog.LOG_CMPP_DELIVER | CMPPLog.LOG_ISVALID_METHOD);
			return false;
		}

		if(done_time == null || done_time.length() != 10)
		{
			CMPPLog.log("CMPPStatusReport.isValid : invalid done_time !",
				CMPPLog.LOG_CMPP_DELIVER | CMPPLog.LOG_ISVALID_METHOD);
			return false;
		}
		
		if(dest_terminal_id == null || dest_terminal_id.length() != 21)
		{
			CMPPLog.log("CMPPStatusReport.isValid : invalid dest_terminal_id !",
				CMPPLog.LOG_CMPP_DELIVER | CMPPLog.LOG_ISVALID_METHOD);
			return false;
		}

		if(smsc_sequence <= 0)
		{
			CMPPLog.log("CMPPStatusReport.isValid : invalid smsc_sequence !",
				CMPPLog.LOG_CMPP_DELIVER | CMPPLog.LOG_ISVALID_METHOD);
			return false;
		}
		
		return true;
	}
		
	public void dump(long lMethod)
	{
		CMPPLog.log("\tmsg_id = 0x" + CMPPUtility.toHexString(msg_id),
			CMPPLog.LOG_CMPP_DELIVER | lMethod);
			
		CMPPLog.log("\tstat = \"" + stat + "\"",
			CMPPLog.LOG_CMPP_DELIVER | lMethod);
			
		CMPPLog.log("\tsubmit_time = \"" + submit_time + "\"",
			CMPPLog.LOG_CMPP_DELIVER | lMethod);

		CMPPLog.log("\tdone_time = \"" + done_time + "\"",
			CMPPLog.LOG_CMPP_DELIVER | lMethod);
		
		CMPPLog.log("\tdest_terminal_id = \"" + dest_terminal_id + "\"",
			CMPPLog.LOG_CMPP_DELIVER | lMethod);

		CMPPLog.log("\tsmsc_sequence = " + smsc_sequence,
			CMPPLog.LOG_CMPP_DELIVER | lMethod);
	}
	
	public void wrap()
		throws CMPPException
	{
		CMPPLog.log("CMPPStatusReport.wrap : wrap elements !",
			CMPPLog.LOG_CMPP_DELIVER | CMPPLog.LOG_WRAP_METHOD);

		dump(CMPPLog.LOG_WRAP_METHOD);
		
		m_packet.insertInteger(smsc_sequence);
		m_packet.insertString(dest_terminal_id);
		m_packet.insertString(done_time);
		m_packet.insertString(submit_time);
		m_packet.insertString(stat);
		m_packet.insertInteger(msg_id);
	}
	
	public void unwrap()
		throws CMPPException
	{
		CMPPLog.log("CMPPStatusReport.unwrap : unwrap elements !",
			CMPPLog.LOG_CMPP_CONNECT | CMPPLog.LOG_UNWRAP_METHOD);
	
		msg_id = m_packet.getInteger();
		stat = m_packet.getString(7);
		submit_time = m_packet.getString(10);
		done_time = m_packet.getString(10);
		dest_terminal_id = m_packet.getString(21);
		smsc_sequence = m_packet.getInteger();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -