📄 svrdef.hpp
字号:
/* 小额批量支付系统MBFE*/#ifndef __SvrDef__#define __SvrDef__#include <strings.h>#include <sys/socket.h>#include <arpa/inet.h>#include <netinet/in.h>#include <math.h>//#include "sybdblib.hpp"///*****************************************//转换标志 CNAPS MB#define CNAPS 0#define MB 1#undef BOOL#undef TRUE#undef FALSE#define TRUE 1#define FALSE 0#define MAXPKGLEN 64*1024 //最大处理报文字节数#define MAX_MBFE_BUFFER 60*1024+1//日志定义#define LOG "Ciserror.log"//支票截留#define CIS1 "30102"//通用截留#define CIS2 "30103"//支票截留回执#define CISR1 "30104"//通用截留回执#define CISR2 "30105"//转换标志 CNAPS MB#define CNAPS 0#define MB 1#undef CONFIGXML#define CONFIGXML "Cis.xml"//长度定义#define MAINCTLLEN 20 //服务进 程名称长度#define MAXCMTLEN 28*1024 //报文最大长度#define MAXPKGLEN 64*1024 //DBLIBRAY最大处理报文字节数#define MAINCTLCNT 9 //作为SO CKET客户端的主控服务程序的数量#define MAXINFOLEN 1024 //最大信息字节数#define ONEREADLEN 128 //一次从BUFFER读取字节数量#define MAX_PKG_LEN 28*1024 //包最大长度#define MONTIM 30 //监控组包时间间隔#define SENDCOUNT 3 //发送次数//序号类型定义#define DATAID "0" //大文本数据索引号#define CISID "1" //CIS数据索引#define MBFEID "2" //MBFE数据索引#define CISRID "3" //CIS回执数据索引#define MBFERID "4" //MBFE回执数据索引#define TRXNO "5" //交易序号#define COMSEQ "6" //通讯序号#define PKGNO "7" //业务包号//处理状态标志定义#define PKGDATA_NO "0" //处理标志 0-未处理#define PKGDATA_SUCCESS "1" //处理标志 1-已处理#define PKGDATA_FAILED "2" //处理标志 2-处理失败#define PKGDATA_UNSN "3" //处理标志 3-已处理未发送#define PKGDATA_NODO "4" //处理标志 4-回执类无须处理#define PKGDATA_MB "0" //数据类型 0-转换后报文#define PKGDATA_PKG "0" //数据类型 1-PKG报文#define PKGDATA_SEND "0" //往来标志 0-往报#define PKGDATA_RECV "1" //往来标志 1-来报#define PKGDATA_CANC "3" //往来标志 3-已撤消#define PKGDATA_NPL "8" //往来标志 8-待销记#define PKGDATA_CPL "9" //往来标志 9-已销记//CIS处理状态标志定义#define CIS_NO "00" //未处理#define AUTOCHK_SUC "01" //自动验印成功#define AUTOCHK_FAL "02" //自动验印失败转手工验印#define MANCHK_SUC "03" //手工验印成功#define MANCHK_FAL "04" //手工验印失败#define FINCHK_SUC "05" //审票成功#define FINCHK_FAL "06" //审票失败#define PACK_NO "10" //往报未组包#define PACK_FAL "11" //往报组包失败#define SEND_NO "12" //往报已组包未发送#define SEND_FAL "13" //往报发送失败#define SEND_SUC "14" //往报已发送#define SEND_OK "15" //往报已回执//来往标志定义#define CISOUT "0" //CIS往报#define CISIN "1" //CIS来报//业务类型标志定义#define MBFETOCIS 0 //截留转回执#define CISTOMBFE 1 //回执转截留//系统参数定义#define WKDATE "22" //当前工作日期#define AMTLMT "02" //金额上限#define BANKNO "11" //发起清算行#define CISNO "04" //票据交换机构号#define CURRENT_STATUS "05" //当前系统状态#define CHGSTU "06" //行内改造状态 00自动退票 01不需要退票 02生成包号#define PKGFLAG "07" //业务包标志 00生成包号01CIS+生成包号02不生成包号#define RTDATE "08" //系统默认回执期限#define PKGTAIL "{C:kkkkkkkkkk }" //包尾//数据库表定义#define T_PKGDATA "CISPKGDATA" //大文本数据存储表#define T_CISDATA "CISDATA" //支票截留报文存储表#define T_MBFEDATA "MBFEDATA" //普通借记登记表#define T_CISRETURN "CISRETURN" //CIS回执业务处理表#define T_MBFERE "MBFERE" //普通回执业务处理表//*****************************************///序号类型定义#define DATAID "0" //大文本数据索引号#define CISID "1" //CIS数据索引#define MBFEID "2" //MBFE数据索引#define CISRID "3" //CIS回执数据索引#define MBFERID "4" //MBFE回执数据索引#define TRXNO "5" //交易序号#define COMSEQ "6" //通讯序号#define PKGNO "7" //业务包号//日志定义#define ERRLOG "error.log"#define CIS_SRV_LOG "CisService.dbg"#define STEP "CisService.log"#define CISPROLOG "CisProc.log"#define SIGNLIMIT "============================================================\n"//处理状态标志定义#define DATARECV_NO "0" //未处理#define DATARECV_SUCCESS "1" //已处理#define DATARECV_FAILED "2" //处理失败//业务状态#define OPESTATE_WAITCHECK "20" //待核押#define OPESTATE_CHECKERR "21" //核押错#define OPESTATE_WAITVALI "22" //待验印#define OPESTATE_VALIERR "23" //验印错#define OPESTATE_SUCCESS "24" //通过验印//回执状态#define RETURN_WAITRE "00" //待回执#define RETURN_PAYMENT "01" //已付款#define RETURN_RETICK "02" //已退票#define RETURN_OUTDATPAY "03" //逾期付款#define RETURN_OUTRETICK "04" //逾期退票#define RETURN_CANCEL "05" //手工销记#define RETURN_REFUSE "09" //已拒绝//转发状态#define TRANSMIT_SEND "02" //已发妥#define TRANSMIT_RECV "05" //已收妥#define TRANSMIT_CENTREFUSE "08" //总中心拒绝#define TRANSMIT_DISCENTREFUSE "09" //分中心拒绝//字段定义#define ZERO "00000000000000000000" //20个零#define ORGANIZENO "000000000000" //机构代码#define USERNO "0000000000" //用户代码#define TIME "00000000000000000000" //时间#define LFLAG "1" //来帐#define WFLAG "0" //往帐#define CISDATASTATE_SUC "00" //已登记登记簿#define CISDATASTATE_NORE "01" //未回复#define CISDATASTATE_RE "02" //已回复#define CISDATASTATE_ERR "03" //出错#define SPACE "" //空//系统状态表定义#define SYS_SYSNAME "01" //系统名称#define SYS_INSDATE "02" //系统安装日期#define SYS_VERSION "03" //系统版本号#define SYS_BILLCOD "11" //票交机构代码#define SYS_BANKCOD "12" //代理行代码#define SYS_BANKNAM "13" //代理行名称#define SYS_CCPC "14" //所属分中心#define SYS_LOGSTA "21" //登录状态#define SYS_HOLFLAG "22" //节假日标志#define SYS_STACHGF "23" //状态变更标志#define SYS_SYSSTAT "24" //当前系统状态#define SYS_BEFDATA "31" //上一工作日#define SYS_SYSDATA "32" //当前日期#define SYS_DATACHA "33" //处理更新时间#define SYS_DATACHATIME "34" //日切参考时点#define SYS_RECINFO "35" //原识别信息#define SYS_NEWRECINFO "36" //新识别信息#define CENTNODE "0000" //总中心 #define CLINODE "4510" //所属分中心typedef struct{ int dataidx; //数据索引号由系统自动顺序生成 char orgno [12+1]; //机构码 char workdate [8+1]; //接收的日期 char doflag [1+1]; //处理标志 0:未处理 1:已处理 char msgid [6+1]; //报文编号 如:CIS100 char msgcontent[2048*1024+1];//报文内容 由报头,正文体,报尾完整的内容组成}RECVDATA; //报文结构typedef struct{ char organizeno [12+1]; //机构码 char inputuserno[10+1]; //录入用户代码 (从全国影像交换系统收的报文缺省为全0) char inputtime [20+1]; //录入时间 char checkuserno[10+1]; //复核用户代码 char checktime [20+1]; //复核时间 char modifytime [20+1]; //修改时间 char outuserno [10+1]; //提出用户代码 char outtime [20+1]; //提出时间 char status [2+1]; //业务状态 char msgtype [1+1]; //报文类别 0:表示提出报文 1:表示提回报文 char responsecode [8+1]; //回应CIS408的报文处理码 char precativedate [8+1]; //委托日期 char businessno [8+1]; //交易序号 char recvbankno [12+1]; //收款人开户行行号/提出行行号 char recvaccounts [32+1]; //收款人帐号 char recvname [60+1]; //收款人名称 char paybankno [12+1]; //出票人开户行行号 char payaccounts [32+1]; //出票人帐号 char payname [60+1]; //出票人名称 char moneysum [18+1]; //货币符号 char billnum [12+1]; //票据号码 char outbilldate [8+1]; //出票日期 char promptpaydate [8+1]; //提示付款日期 char paypassword [20+1]; //支付密码 char purpose [60+1]; //用途 char remark [120+1]; //备注 char authornum [2+1]; //背书次数 char authorlist [600+1]; //背书清单 char sysacceptdate [8+1]; //系统受理时间 char returnterm [8+1]; //回执期限 char reissueflag [1+1]; //补发标志 0:正常业务 1:对账补发 char checksignature[2+1]; //业务的核签状态 char signature [1800+1];//数字签名内容 char frontpicname [100+1]; //正面图像文件名 char backpicname [100+1]; //背面图像文件名 char frontpicimage [1024*800+1];//正面图像内容(BASE格式) char backpicimage [1024*800+1];//背面图像内容(BASE格式)}CIS100;typedef struct{ char organizeno [12+1]; //机构码 char userno [10+1]; //用户代码 (从全国影像交换系统收的报文缺省为全0) char inputuserno [10+1]; //录入用户代码 (从全国影像交换系统收的报文缺省为全0) char inputtime [20+1]; //录入时间 char checkuserno [10+1]; //复核用户代码 char checktime [20+1]; //复核时间 char modifytime [20+1]; //修改时间 char outuserno [10+1]; //提出用户代码 char outtime [20+1]; //提出时间 char status [2+1]; //业务状态 char msgtype [1+1]; //报文类别 0:表示提出报文 1:表示提回报文 char responsecode[8+1]; //回应CIS408的报文处理码 char precativedate[8+1]; //委托日期 char businessno [8+1]; //交易序号 char recvbankno [12+1]; //收款人开户行行号 char recvaccounts [32+1]; //收款人帐号 char recvname [60+1]; //收款人名称 char paybankno [12+1]; //出票人开户行行号 char payaccounts [32+1]; //出票人帐号 char payname [60+1]; //出票人名称 char moneysum [18+1]; //货币符号 char billtype [2+1]; //票据种类 char billnum [12+1]; //票据号码 char outbilldate [8+1]; //出票日期 char promptpaydate [8+1]; //提示付款日期 char bankposignature[20+1]; //银行汇票密押 char outbillmoney [15+1]; //出票金额 char potermdate [8+1]; //汇票到期日 char acceptprotocol [20+1]; //承兑协议编号 char businessbargain[20+1]; //交易合同号码 char acceptdate [8+1]; //承兑日期 char acceptbank [12+1]; //承兑行行号 char acceptname [60+1]; //承兑名称 char purpose [60+1]; //用途 char postscript [120+1];//附言 char authornum [2+1]; //背书次数 char authorlist [601+1];//背书清单 char sysacceptdate [8+1]; //系统受理时间 char returnterm [8+1]; //回执期限 char reissueflag [1+1]; //补发标志 0:正常业务 1:对账补发 char checksignature [2+1]; //业务的核签状态 char signature [1801+1];//数字签名内容 char frontpicname [100+1]; //正面图像文件名 char backpicname [100+1]; //背面图像文件名 char frontpicimage [1024*800+1];//正面图像内容(BASE格式) char backpicimage [1024*800+1];//背面图像内容(BASE格式)}CIS101;typedef struct{ char precativedate[8+1]; //委托日期 char sendnodenum [4+1]; //发起节点号 char recvcode [12+1]; //接收方代码 char billmonth [6+1]; //计费月分 char billstartdate[8+1]; //计费起始日期 char billenddate [8+1]; //计费终止日期 char billsummoney [15+1]; //计费单位总费用 char subbillrate [6+1]; //分中心/票交所收费比率 char totaltrade [8+1]; //月累计发起业务量 char totalbillrate[6+1]; //月累计发起业务量收费比率 char billlistnum [8+1]; //计费清单数 char billlist [1024+1]; //计费清单}CIS201;typedef struct{ char organizeno [12+1]; //机构码 char userno [10+1]; //用户代码 char msgtype [1+1]; //报文类别 0:申请查询报文 1:接收查复报文 char status [2+1]; //业务状态 00:已登入登记簿 01:已提出申请等回复 02:已收到查复结果 03:处理错误 char responsecode [8+1]; //回应CIS408的报文处理码 char querydate [8+1]; //查询日期 char querybookno [4+1]; //查询书号 char querybankno [12+1]; //查询行行号 char acceptbankno [12+1]; //查复行行号 char srcmessagetype[3+1]; //原报文类型号 char srcpredate [8+1]; //原委托日期 char srcbusinessno [8+1]; //原交易序号 char srcrecvbankno [12+1]; //原提出行行号 char srcmoneysum [18+1]; //原货币符号 char srcbilltype [2+1]; //原票据种类 char srcbillno [12+1]; //原票据号码 char querycontent [255+1]; //查询内容}CIS301;typedef struct{ char acceptdate[8+1]; char acceptbookno[4+1]; char acceptbankno[12+1]; char orgquerydate[8+1]; char orgquerybookno[4+1]; char orgquerybankno[12+1]; char acceptcontent [255+1]; //查复内容}CIS302;typedef struct{ char organizeno [12+1]; //机构码 char userno [10+1]; //用户代码 char msgtype [1+1]; //报文类型 0:申请自由格式报文 1:接收的自由格式报文 char status [2+1]; //业务状态 00:已登入登记簿 01:已提出申请等回复 02:已收到应答结果 03:处理错误 char responsecode [8+1]; //回应CIS408的报文处理码 char sendcentercode [4+1]; //发起中心代码 char sendbillplaceno[12+1]; //发起票交所号 char sendbillorgno [12+1]; //发起票交机构号 char precativedate [8+1]; //委托日期 char messageno [8+1]; //报文序号 char recvcentercode [4+1]; //接收中心代码 char recvbillplaceno[12+1]; //接收票交所号 char recvbillorgno [12+1]; //接收票交机构号 char dispatchflag [1+1]; //分发标志 0:不分发 1:一级分发 2:三级分发 char content [255+1]; //内容
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -