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

📄 submitmessage.java

📁 采用JAVA开发
💻 JAVA
字号:
package com.gctech.sms.sp.cms.msg2;
import java.util.*;
import com.gctech.sms.sp.cms.util.*;
public class SubmitMessage extends Message
{
  private String spId ;
  private String serviceId;
  private String content;
  private String[] destTermIds = new String[0];
  public int destTermIdType = 0;
  private Date validTime = null;
  private Date atTime=null;
  private String chargeTermId;
  private int chargTermType = 0;
  private String srcId;
  private boolean isReport = false;
  public String linkId ;
  public SubmitMessage(String spId,String serviceId,String content,String[] destTermIds, String chargeTermId,String srcId)
  {

    this(spId,serviceId,content,destTermIds,0,chargeTermId,0,srcId,"");

  }

  public SubmitMessage(String spId,String serviceId,String content,String[] destTermIds,int destTermType, String chargeTermId,int chargeTermType,String srcId,String linkId)
 {

   this.commandId = Message.SUBMIT_REQ;
   this.sequenceId = Message.nextSeqId() ;
   this.spId = spId;
   this.serviceId = serviceId;
   this.content = content;
   this.destTermIds = destTermIds;
   this.chargeTermId = chargeTermId;
   this.srcId = srcId;
   this.destTermIdType = destTermType;
   this.chargTermType = chargeTermType;
   this.linkId = linkId;
   checkValid();

 }


  public SubmitMessage(String spId,String serviceId,String content,
                       String destTermId,String chargeTermId,String srcId)
  {
    this(spId,serviceId,content,new String[]
         {destTermId},chargeTermId,srcId);
  }

  public void setValidTime(Date d)
  {
    this.validTime = d;
  }

  public void setAtTime(Date d)
  {
    this.atTime = d;
  }



  public  byte[] toBytes()
  {

    ProtocolBuffer pb = ProtocolBuffer.create(totalLength);
    pb.appendInt(this.totalLength);
    pb.appendInt(this.commandId);
    pb.appendInt(0);
    pb.appendInt(sequenceId);
    pb.appendString(this.spId,20);
    pb.appendString(this.serviceId,20);
    pb.appendByte((byte)(this.isReport?0:1));
    if(this.validTime!=null)
    {
      pb.appendStringDate(validTime);
    }
    else
    {
      pb.appendBynary0(17);
    }

    if(this.atTime!=null)
    {
      pb.appendStringDate(atTime);
    }
    else
    {
      pb.appendBynary0(17);
    }

    pb.appendString(this.chargeTermId,32);
    pb.appendByte((byte)this.chargTermType);
    pb.appendString(this.srcId,21);
    pb.appendByte((byte)this.destTermIds.length);
    for(int i=0;i<destTermIds.length;i++)
    {
      pb.appendString(destTermIds[i],32);
    }
    pb.appendByte((byte)this.destTermIdType);
    pb.appendByte((byte)content.getBytes().length);
    pb.appendString(content);
    pb.appendString(this.linkId,20);

    //test

    return pb.toBytes();

  }

  private void checkValid()
  {
    if(content.length()>254) throw new IllegalArgumentException("内容长度过长");
    if(destTermIds.length>100) throw new IllegalArgumentException("destTermIds larger that 100");
    //this.totalLength = 112+21+destTermIds.length *21+1+content.getBytes().length;
    this.totalLength = 168+destTermIds.length *32+content.getBytes().length;
  }


  public static void main(String[] args)
  {
//    SubmitMessage submitMessage1 = new SubmitMessage();
  }

}

⌨️ 快捷键说明

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