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

📄 gateway0.sql

📁 SMS gateway. SMS protocol for CHINA mobile, unicom, lingtong. Using mysql to exchange message.
💻 SQL
字号:
--=================================================================
--===================本地业务(或下属CP)接口表======================
--=================================================================
--本地业务公共MO接口表(兼容各网关协议)
--业务处理程序将记录提取并处理后便将State置为1;
--(或者去掉State字段,将记录转移到另外一个相同结构的备份表,以便计费对帐)
drop table MO_Local;
CREATE TABLE MO_Local (
  Id int(10) NOT NULL auto_increment,
  CP_Id int(11) NOT NULL default '',		//接收此消息的本地业务代码(或CP代码)
  SrcRecvTime varchar(15) NOT NULL default '',	//原始请求包Deliver接收时间
  SrcNode varchar(15) NOT NULL,			//源网关代码
  SrcSequence int(10) NOT NULL,			//原始请求包Deliver流水号
  SrcProtocol int(1) NOT NULL default '0',	//原始请求包协议类型,0-CMPP;1-SMGP;
  Sequence int(10) NOT NULL default '',		//转发包流水号
  ---------------------
  RecvTime varchar(14) default '',		//SMGP_Deliver中网关收到短消息的时间
  ServiceId varchar(10) default '',		//CMPP_Deliver的业务类型
  TP_Pid int(1) default '',			//CMPP_Deliver的
  TP_Udhi int(1) default '',			//CMPP_Deliver的
  ---------业务处理程序或下属CP可以只关心以下字段-----------
  State int(1) NOT NULL default '0',		//处理标识,已被业务处理程序处理则为1;
  MsgID varchar(21) NOT NULL,			//网关下发的消息编号
  MsgFormat int(3) NOT NULL,			//消息内容格式
  SrcTermID varchar(21) NOT NULL,		//用户手机号码
  DestTermID varchar(21) NOT NULL,		//目的号码(本地业务代码或CP代码)
  MsgLength int(3) NOT NULL,			//消息长度
  MsgContent varchar(252) default '',		//消息内容
  PRIMARY KEY  (Id)
) TYPE=MyISAM;

----------------------------------------------
--本地业务公共MT接口表(兼容各网关协议)
--发送完后将记录转移到相应的转发日志表中(CMPP_Submit或SMGP_Submit)
drop table MT_Local;
CREATE TABLE MT_Local (
  Id int(10) NOT NULL auto_increment,
  LogTime timestamp(14) NOT NULL default '',	//记录插入时间
  CP_Id int(11) NOT NULL default '638866',	//发送此消息的本地业务代码(或CP代码)
  MsgID_Relate varchar(21) default '',		//相关联的MO短消息的MsgID
  --------------------
  ValidTime varchar(17),
  AtTime varchar(17),
  FixedFee varchar(6) default '',		//SMGP_Submit的包月费
  MsgType int(1) default ''			//SMGP_Submit的消息子类型
  --------------------
  Fee_UserType int(1) default '3',		//CMPP_Submit的计费用户类型
  TP_Pid int(1) default '0',			//CMPP_Submit的
  TP_Udhi int(1) default '1',			//CMPP_Submit的
  -----------业务处理程序或下属CP可以只关心以下字段---------
  Protocol int(1) NOT NULL default '0',		//请求包协议类型,0-CMPP;1-SMGP;
  ServiceId varchar(10) NOT NULL default '',	//业务代码
  FeeType varchar(2) default '',		//收费类型/资费类别,各协议定义不同
  FeeCode varchar(6) default '',		//资费代码(以分为单位)
  MsgFormat int(3) default '15',		//消息内容格式
  Src_Id varchar(21) NOT NULL default '',	//发送方号码(本地业务代码或CP代码)
  ChargeTermId varchar(21) NOT NULL default '',	//收费用户手机号码
  DestTermId varchar(21) NOT NULL default '',	//目的手机号码
  MsgLength int(1) NOT NULL,		//消息长度
  MsgContent varchar(252) default '',	//消息内容
  PRIMARY KEY  (Id)
) TYPE=MyISAM;

--=================================================================
--=====================代理网关通信记录表==========================
--=================================================================
--下行(发往手机)的短信缓冲队列表(同时充当Submit_Fail和本地业务的MT表)
--曾经发送失败或者本次业务需要发送的短信都写入此表
--按下一次转发时间排序
drop table MT_Queue;
CREATE TABLE MT_Queue (
  Id int(10) NOT NULL auto_increment,  
  SrcNode varchar(15) NOT NULL default '',	//发送此消息的源CP代码(或本地业务代码)
  MsgID_Relate varchar(21) default '',		//相关联的MO短消息的MsgID
  GW_Id int(11) NOT NULL default '0',		//转发的目的网关代码
  SendTime timestamp(14) NOT NULL,		//下一次转发时间(延时3分钟再发送)
  -----------本地业务或本地CP不用填以下5项--------------
  SrcRecvTime varchar(15) NOT NULL default '',	//收到原始请求包Submit的时间,与日志同
  SrcSequence int(10) NOT NULL default '',	//原始请求包Submit的流水号
  SequenceId int(10) NOT NULL default '',	//上次的转发包流水号(下次转发将用新流水号)
  MsgID varchar(21) NOT NULL default '',	//Submit_Rsp中的MsgID
  Result int(10) NOT NULL default '',		//错误响应码,若为0则表示(因网络连接异常)暂时无法发送的数据包
  ----------------------------------------
  NeedReport int(1) NOT NULL default '1',		
  Priority int(1) default '0',
  ValidTime varchar(17) default '',
  AtTime varchar(17) default '',
  FixedFee varchar(6) default '',		//SMGP_Submit的包月费
  MsgType int(1) default '',			//SMGP_Submit的消息子类型
  --------------------
  Fee_UserType int(1) default '3',		//CMPP_Submit的计费用户类型
  TP_Pid int(1) default '0',			//CMPP_Submit的
  TP_Udhi int(1) default '1',			//CMPP_Submit的
  -----------业务处理程序或下属CP可以只关心以下字段---------
  Protocol int(1) NOT NULL default '0',		//请求包协议类型,0-CMPP;1-SMGP;
  ServiceId varchar(10) NOT NULL default '',	//业务代码
  FeeType varchar(2) default '',		//收费类型/资费类别,各协议定义不同
  FeeCode varchar(6) default '',		//资费代码(以分为单位)
  MsgFormat int(3) default '15',		//消息内容格式
  Src_Id varchar(21) NOT NULL default '',	//发送方号码(本地业务代码或CP代码)
  ChargeTermId varchar(21) NOT NULL default '',	//收费用户手机号码
  DestTermId varchar(21) NOT NULL default '',	//目的手机号码
  MsgLength int(1) NOT NULL,		//消息长度
  MsgContent varchar(252) default '',	//消息内容
  PRIMARY KEY  (Id)
) TYPE=MyISAM;


--Smgp_Submit转发日志表
--收到上级网关的Submit_Rsp后写此表,收到状态报告后根据MsgID查找修改记录
drop table SMGP_Submit;
CREATE TABLE SMGP_Submit (
  Id int(10) NOT NULL auto_increment,  
  SrcRecvTime varchar(15) NOT NULL default '',	//从CP接收到原始SMGP_Submit的时间,与日志同
  SrcNode varchar(15) NOT NULL default '',	//源CP代码(或本地业务代码)
  SrcSequence int(10) NOT NULL default '0',	//原始SMGP_Submit包流水号
  MsgID_Relate varchar(21) default '',		//相关联的MO短消息的MsgID
  GW_Id int(11) NOT NULL default '',		//转发的目的网关代码
  SentTime timestamp(14) NOT NULL,		//收到正确Submit_Rsp的时间
  -----------以下为转发包内容--------------
  SequenceId int(10) NOT NULL default '',	//转发包流水号
  MsgType int(1),		
  NeedReport int(1),		
  Priority int(1),
  ServerID varchar(10) NOT NULL default '',
  FeeType varchar(2) NOT NULL default '',	
  FeeCode varchar(6) NOT NULL default '',	
  FixedFee varchar(6) NOT NULL default '',
  MsgFormat int(3),
  ValidTime varchar(17),
  AtTime varchar(17),
  ReplyPath varchar(21) NOT NULL default '',
  ChargeTermId varchar(21) NOT NULL default '',
  DestTermId varchar(21) NOT NULL default '',
  MsgLength int(3),
  MsgContent varchar(252) NOT NULL default '',
  -----------Submit_Rsp中的MsgID--------------
  MsgID varchar(21) NOT NULL default '',	//与Report中的相同
  -----------以下为状态报告包内容--------------
  ReportTime varchar(15) NOT NULL default '',	//状态报告包接收时间
  Report_Seq int(10) NOT NULL default '',	//状态报告包流水号
  Report_MsgID varchar(21) NOT NULL default '', //Report包本身的MsgID
  SrcTermID varchar(21) NOT NULL default '',	//用户手机号
  Done_date varchar(10) NOT NULL default '',	//网关下发给手机的时间
  Report_Stat varchar(7) NOT NULL default '',	//状态报告标识
  Err varchar(3) NOT NULL default '',
  PRIMARY KEY  (Id)
) TYPE=MyISAM;


--=================================================================
--Smgp_Deliver转发日志表
--若转发的目的地为本地业务,则先将记录插入MO_Local表,再写入本表(转发包内容字段不写入)
drop table SMGP_Deliver;
CREATE TABLE SMGP_Deliver (
  Id int(10) NOT NULL auto_increment,
  CP_Id int(11) NOT NULL default '',		//转发的目的地代码(本地业务代码或CP代码)
  SrcRecvTime varchar(15) NOT NULL default '',	//从网关接收到原始SMGP_Deliver的时间,与日志同
  SrcNode varchar(15) NOT NULL default '',	//源网关代码
  SrcSequence int(10) NOT NULL default '',	//原始SMGP_Deliver包流水号
  SendTime timestamp(14) NOT NULL,		//成功转发时间(收到正确Submit_Rsp的时间)
  -----------以下为转发包内容--------------
  Sequence int(10) default '0',			//转发包流水号
  MsgID varchar(21) default '',
  IsReport int(1) default '',
  MsgFormat int(3) default '',
  RecvTime varchar(14) default '',
  SrcTermID varchar(21) default '',
  DestTermID varchar(21) default '',
  MsgLength int(3) default '',
  MsgContent varchar(252) default '',
  PRIMARY KEY  (Id)
) TYPE=MyISAM;
----------------------------------------------
--Deliver_Fail转发失败日志表
--定时(3秒)检查"下一次转发时间",时间到则重发
--接收到原始Deliver包的时间超过24小时,则不再重发
drop table SMGP_Deliver_Fail;
CREATE TABLE SMGP_Deliver_Fail (
  Id int(10) NOT NULL auto_increment,
  CP_Id int(11) NOT NULL default '',		//转发的目的地代码(本地业务代码或CP代码)
  SrcRecvTime varchar(15) NOT NULL default '',	//从网关接收到原始SMGP_Deliver的时间,与日志同
  SrcNode varchar(15) NOT NULL default '',	//源网关代码
  SrcSequence int(10) NOT NULL default '',	//原始SMGP_Deliver包流水号
  ScheduleTime datetime default NULL,	//下一次的转发时间(延时3分钟),为空表示不再发送
  Result int(10) NOT NULL default '',	//错误响应码,若为0则表示(因网络连接异常)暂时无法发送的数据包
  -----------以下为转发包内容--------------
  Sequence int(10) default '0',			//转发包流水号
  MsgID varchar(21) default '',
  IsReport int(1) default '',
  MsgFormat int(3) default '',
  RecvTime varchar(14) default '',
  SrcTermID varchar(21) default '',
  DestTermID varchar(21) default '',
  MsgLength int(3) default '',
  MsgContent varchar(252) default '',
  PRIMARY KEY  (Id)
) TYPE=MyISAM;

--=================================================================
--=================================================================


--NOT NULL没有default,insert就一定要插这个字段,而且不能插入NULL
--对于NOT NULL字段,可以UPDATE xx SET xxx='';但不能UPDATE xx SET xxx=NULL;''是空字符串,NULL是空值

⌨️ 快捷键说明

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