📄 submitrequest.java
字号:
package com.gctech.cmpp3.msg;
import java.io.File;
import java.io.FileOutputStream;
import org.apache.log4j.Logger;
import com.gctech.cmpp3.util.Util;
import com.gctech.util.IOUtility;
import com.gctech.util.Tools;
/**
* <p>Title: 短信 API</p>
* <p>Description: 短信SP API</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: GCTECH</p>
* @author 王红宝
* @version $Id: SubmitRequest.java,v 1.4 2004/07/16 08:33:16 wanghb Exp $
*/
public class SubmitRequest extends CmppMsg {
private byte[] msgId = new byte[8];
private byte pkTotal = (byte) 1;
private byte pkNumber = (byte) 1;
private byte registeredDelivery;
private byte msgLevel;
private String serviceId;
private byte feeUserType;
private byte feeTermType;
private String feeTermId;
private byte tpPid;
private byte tpUdhi;
private byte msgFmt;
private String msgSrc;
private String feeType;
private String feeCode;
private String validTime;
private String atTime;
private String srcId;
private byte destNum;
private byte destTermType;
private String destTermId;
private String msgContent;
//private String reserve;
private String linkID;
private int msgLength;
public SubmitRequest() {
super();
this.head.setCommandId(CommandID.CMPP_SUBMIT);
}
public byte[] getMsgId() {
return msgId;
}
public void setMsgId(byte[] msgId) {
this.msgId = msgId;
}
public byte getPkTotal() {
return pkTotal;
}
public void setPkTotal(byte pkTotal) {
this.pkTotal = pkTotal;
}
public byte getPkNumber() {
return pkNumber;
}
public void setPkNumber(byte pkNumber) {
this.pkNumber = pkNumber;
}
public byte getRegisteredDelivery() {
return registeredDelivery;
}
public void setRegisteredDelivery(byte registeredDelivery) {
this.registeredDelivery = registeredDelivery;
}
public byte getMsgLevel() {
return msgLevel;
}
public void setMsgLevel(byte msgLevel) {
this.msgLevel = msgLevel;
}
public String getServiceId() {
return serviceId;
}
public void setServiceId(String serviceId) {
this.serviceId = serviceId;
}
public byte getFeeUserType() {
return feeUserType;
}
public void setFeeUserType(byte feeUserType) {
this.feeUserType = feeUserType;
}
public String getFeeTermId() {
return feeTermId;
}
public void setFeeTermId(String feeTermId) {
this.feeTermId = feeTermId;
}
public byte getTpPid() {
return tpPid;
}
public void setTpPid(byte tpPid) {
this.tpPid = tpPid;
}
public byte getTpUdhi() {
return tpUdhi;
}
public void setTpUdhi(byte tpUdhi) {
this.tpUdhi = tpUdhi;
}
public byte getMsgFmt() {
return msgFmt;
}
public void setMsgFmt(byte msgFmt) {
this.msgFmt = msgFmt;
}
public String getMsgSrc() {
return msgSrc;
}
public void setMsgSrc(String msgSrc) {
this.msgSrc = msgSrc;
}
public String getFeeType() {
return feeType;
}
public void setFeeType(String feeType) {
this.feeType = feeType;
}
public String getFeeCode() {
return feeCode;
}
public void setFeeCode(String feeCode) {
this.feeCode = feeCode;
}
public String getValidTime() {
return validTime;
}
public void setValidTime(String validTime) {
this.validTime = validTime;
}
public String getAtTime() {
return atTime;
}
public void setAtTime(String atTime) {
this.atTime = atTime;
}
public String getSrcId() {
return srcId;
}
public void setSrcId(String srcId) {
this.srcId = srcId;
}
public byte getDestNum() {
return destNum;
}
public void setDestNum(byte destNum) {
this.destNum = destNum;
}
public String getDestTermId() {
return destTermId;
}
public void setDestTermId(String destTermId) {
this.destTermId = destTermId;
}
public int getMsgLength() {
return msgLength;
}
public void setMsgLength(int msgLength) {
this.msgLength = msgLength;
}
public String getMsgContent() {
return msgContent;
}
public void setMsgContent(String msgContent) {
this.msgContent = msgContent;
}
public String getLinkID() {
return linkID;
}
public void setLinkID(String linkID) {
this.linkID = linkID;
}
//转化成一个数组。
protected void toByteArray(byte[] data) {
System.out.println("data length:" + data.length);
data[20] = (byte) 1;
data[21] = (byte) 1;
data[22] = this.getRegisteredDelivery();
data[23] = this.getMsgLevel();
byte[] temp = this.getServiceId().getBytes();
System.arraycopy(temp, 0, data, 24, temp.length);
data[34] = this.getFeeUserType();
//计费手机
temp = getFeeTermId().getBytes();
System.arraycopy(temp, 0, data, 35, temp.length);
data[67] = this.getFeeTermType();
//中间两位没有填
data[70] = this.getMsgFmt();
temp = this.getMsgSrc().getBytes();
System.arraycopy(temp, 0, data, 71, temp.length);
temp = this.getFeeType().getBytes();
System.arraycopy(temp, 0, data, 77, temp.length);
temp = this.getFeeCode().getBytes();
System.arraycopy(temp, 0, data, 79, temp.length);
Util.copy(this.getValidTime(), data, 85);
Util.copy(this.getAtTime(), data, 102);
Util.copy(this.getSrcId(), data, 119);
data[140] = 1;
Util.copy(this.getDestTermId(), data, 141);
data[173] = this.getDestTermType();
data[174] = (byte) getMsgLength();
System.out.println("msg getMsgContent():=======================" + getMsgContent());
Util.copy(getMsgContent(), data, 175);
System.out.println("data length:" + data.length);
System.out.println("getMsgLength():" + getMsgLength());
Util.copy(this.getLinkID(), data, 175 + getMsgLength());
System.out.println("submit this.linkID:" + this.linkID);
for (int i = 175 + getMsgLength(); i < data.length; i++) {
System.out.println(data[i]);
}
try {
File file = new File("out.txt");
file.createNewFile();
IOUtility.copy(data, new FileOutputStream(file));
} catch (Exception e) {
e.printStackTrace();
}
}
public String toString() {
return "submit request:" + super.toString();
}
public void fromByteArray(byte[] data, int offset) {
super.fromByteArray(data, offset);
try {
System.arraycopy(data, 8 + offset, this.msgId, 0, 8);
//this.pkTotal = data[16 + offset];
//this.pkNumber = data[17 + offset];
this.registeredDelivery = data[18 + offset];
this.msgLevel = data[19 + offset];
this.serviceId = new String(data, offset + 20, 10).trim();
this.feeUserType = data[30];
this.feeTermId = new String(data, offset + 31, 32).trim();
this.feeTermType = data[63];
this.tpPid = data[64];
this.tpUdhi = data[65];
this.msgFmt = data[66];
this.msgSrc = new String(data, offset + 67, 6).trim();
this.feeType = new String(data, offset + 73, 2).trim();
this.feeCode = new String(data, offset + 75, 6).trim();
this.validTime = new String(data, offset + 81, 17).trim();
this.atTime = new String(data, offset + 98, 17).trim();
this.srcId = new String(data, offset + 115, 21).trim();
this.destNum = data[136];
this.destTermId = new String(data, offset + 137, 32).trim();
this.destTermType = data[169];
this.msgLength = Tools.unsignedByte2int(data[170]);
int contentLen = msgContent.getBytes().length;
this.msgContent = new String(data, offset + 171, this.msgLength);
this.linkID = new String(data, offset + 171 + contentLen, 20);
} catch (Throwable ex) {
logger.error("", ex);
}
//start += msgLength;
//this.reserve = new String(data, start, 8);
//super.fromByteArray(data, offset);
}
//add by liya
public SubmitRequest(CmppMsg cmppmsg) {
super(cmppmsg);
}
static Logger logger = Logger.getLogger(SubmitRequest.class);
/**
* @return
*/
public byte getDestTermType() {
return destTermType;
}
/**
* @return
*/
public byte getFeeTermType() {
return feeTermType;
}
/**
* @param b
*/
public void setDestTermType(byte b) {
destTermType = b;
}
/**
* @param b
*/
public void setFeeTermType(byte b) {
feeTermType = b;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -