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

📄 deliverrequest.java

📁 采用JAVA开发
💻 JAVA
字号:
package com.gctech.cmpp.msg;

import com.gctech.util.Tools;
import com.gctech.cmpp.util.Util;

/**
 * <p>Title: 短信 API</p>
 * <p>Description: 短信SP API</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: GCTECH</p>
 * @author 王红宝
 * @version $Id: DeliverRequest.java,v 1.6 2004/07/16 08:32:51 wanghb Exp $
 */

public class DeliverRequest extends CmppMsg{

  private byte[] msgId;
  private String destId;
  private String serviceId;
  private byte tpPid = 0x00;
  private byte tpUdhi = 0x00;
  private byte format= 0x0f;
  private String srcId;
  private byte registeredDelivery = 0x00;
  private int msgLength=0;
  private String msgContent;


  public DeliverRequest() {
    super();
    this.head.setCommandId(CommandID.CMPP_DELIVER);
  }

  public DeliverRequest(MsgHead msghead) {
    super(msghead);
  }


  //构造deliver结构
  public byte[] toByteArray(){
    byte[] data=new byte[85+this.msgLength];
    for (int i=0;i<data.length;i++){
      data[i]=0x00;
    }
    CmppMsg.BytesCopy(head.toByteArray(),data,0,11,0);
    CmppMsg.BytesCopy(this.msgId, data,0,7,12);
    CmppMsg.BytesCopy(this.destId.getBytes(),data,0, this.destId.length()-1,20);
    data[53] = format;
    CmppMsg.BytesCopy(this.srcId.getBytes(),data,0,
                      this.srcId.length()-1,54);
    data[76] = (byte)this.msgLength;
    try {
      CmppMsg.BytesCopy(this.msgContent.getBytes(),data,0,this.msgLength-1,77);
    } catch(Exception e){}
    return data;
  }

  public String toString() {
    /**@todo Override this com.gctech.cmpp.msg.CmppMsg method*/
    return super.toString();
  }

  //add by liya
  public DeliverRequest(CmppMsg cmppmsg) {
    super(cmppmsg);
  }

  protected void toByteArray(byte[] data) {
  }
  public void fromByteArray(byte[] data, int offset) {
    super.fromByteArray(data, offset);
    this.msgId = new byte[8];

    //System.arraycopy(data, offset+8, msgId, 0, 8);
    //this.destId = new String(data, offset+16, 21).trim();
    //this.serviceId = new String(data, offset+37, 10).trim();
    //this.tpPid = data[47+offset];
    //this.tpUdhi = data[48+offset];
    //this.format = data[49+offset];
    //this.srcId = new String(data, offset+50, 21).trim();
    //this.registeredDelivery = data[offset+71];
    //this.msgLength = Tools.unsignedByte2int(data[offset+72]);
    //this.msgContent = new String(data, offset+73, msgLength);

    System.arraycopy(data, 8, msgId, 0, 8);
    this.destId = new String(data, 16, 21).trim();
    System.out.println("this.destId:"+this.destId);
    this.serviceId = new String(data, 37, 10).trim();
    System.out.println("this.serviceId:"+this.serviceId);
    this.tpPid = data[47];
    this.tpUdhi = data[48];
    this.format = data[49];
    System.out.println("this.format:"+this.format);
    this.srcId = new String(data, 50, 21).trim();
    this.registeredDelivery = data[71];
    this.msgLength = Tools.unsignedByte2int(data[72]);
    System.out.println("this.msgLength:"+this.msgLength);
    try{
      //根据不同的编码格式转换为相应编码的字符串
      if(this.format == 8)
        this.msgContent = new String(data, 73, msgLength,"UTF-16");
      else if(this.format == 15)
        this.msgContent = new String(data, 73, msgLength,"GBK");
      else
        this.msgContent = new String(data, 73, msgLength,"iso8859-1");
      System.out.println("this.msgContent:"+this.msgContent);
    }catch(Exception e){
      e.printStackTrace();
    }

  }
  public String getDestId() {
    return destId;
  }
  public byte getFormat() {
    return format;
  }
  public String getMsgContent() {
    return msgContent;
  }
  public void setMsgContent(String msgContent) {
    this.msgContent = msgContent;
  }
  public void setFormat(byte format) {
    this.format = format;
  }
  public void setDestId(String destId) {
    this.destId = destId;
  }
  public void setMsgId(byte[] msgId) {
    this.msgId = msgId;
  }
  public byte[] getMsgId() {
    return msgId;
  }
  public int getMsgLength() {
    return msgLength;
  }
  public void setMsgLength(int msgLength) {
    this.msgLength = msgLength;
  }
  public void setRegisteredDelivery(byte registeredDelivery) {
    this.registeredDelivery = registeredDelivery;
  }
  public byte getRegisteredDelivery() {
    return registeredDelivery;
  }
  public String getServiceId() {
    return serviceId;
  }
  public void setServiceId(String serviceId) {
    this.serviceId = serviceId;
  }
  public void setSrcId(String srcId) {
    this.srcId = srcId;
  }
  public void setTpPid(byte tpPid) {
    this.tpPid = tpPid;
  }
  public void setTpUdhi(byte tpUdhi) {
    this.tpUdhi = tpUdhi;
  }
  public byte getTpUdhi() {
    return tpUdhi;
  }
  public byte getTpPid() {
    return tpPid;
  }
  public String getSrcId() {
    return srcId;
  }
}

⌨️ 快捷键说明

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