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

📄 svrdef.hpp

📁 液晶电视完整代码可实现人机界面
💻 HPP
📖 第 1 页 / 共 2 页
字号:
/*    小额批量支付系统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#include "common.hpp"//长度定义#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 PKGDATA_NO      "0" //处理标志 0-未处理#define PKGDATA_SUCCESS "1" //处理标志 1-已处理#define PKGDATA_FAILED  "2" //处理标志 2-处理失败#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          "01" //当前工作日期#define AMTLMT          "02" //金额上限#define BANKNO          "03" //发起清算行#define CISNO           "04" //当前系统状态#define STATUS          "05" //票据交换机构号#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"     //普通回执业务处理表 typedef struct{    char    m_sBankCode[13];    //发起行号或发起清算行号或工作日期(yyyymmdd)    char    m_sTableName[30];   //数据表名    char    m_sFieldName[30];   //字段名称    int     m_nSerialNoVal;     //序列序号} TrxsSerialNo;  ////业务序列序号结构    typedef struct{    char sBankCode[13];                // 参与行号        char sBankName[61];                // 参与名称    char sNBCityCode[5];               // 参与行所在的城市代码    char sSapBkCode[13];               // 清算行号     char sSapBkName[61];               // 清算行名称     char sCcpcCode[5];                 // CCPC号码        char sSBCityCode[5];               // 清算行所在的城市代码} BankInfo; //行号基本信息结构typedef struct{		char	VerId[1+1];	    //版本识别码		char	MsgLen[6+1];	    //报文长度		char	AppTradeCode[1+1];  //子系统识别		char	CMT_No[3+1];	    //报文类型		char	reserv[4+1];	    //预留		char	StartAddr[12+1];    //源地址		char	DestAddr[12+1];     //目的地址		char	MesgPurp[1+1];	    //报文用途		char	OutForm[1+1];	    //输出识别		char	MesgID[20+1];	    //报文标识号		char	MesgReqNo[20+1];    //报文参考号		char	WorkDate[8+1];	    //工作日期		char	SentTime[14+1];	    //发送时间		char	ExpTime[4+1];	    //有效时间		char	DelTime[6+1];	    //提交时间		char	MesgPri[1+1];	    //信息优先级		char	Reserve[20+1];	    //预留}MsgHeader;//报文头结构typedef struct{    int     nDataIdx;       	    //数据索引号    char    WorkDate[9];	        //工作日期    char    CmtNo[4];	            //报文类型    char    PkgNo[9];	            //批量包号CMT类为支付交易序号    char    SendBank[13];           //发起行    char    RecvBank[13];           //接收行    char    ChkStatus[3];           //核炎标志    char    RsFlag[2];	    	    //往来标志 0-往报   1-来报    char    DoFlag[2];	            //处理标志 0-未处理 1-已处理 2-处理失败    char    CnapsData[MAXPKGLEN];   //报体内容 CNAPS}PkgData;//大文本数据存储结构typedef struct{    int     nCnapsIdx;       	    //数据索引号    int     nDataIdx;       	    //数据索引号    char    WorkDate[9];	        //工作日期    char    CmtNo[4];	            //报文类型    char    PkgNo[9];	            //包序号,匹配CNAPS包与拆分后报文    char    RsFlag[2];	    	    //往来标志0-往报 1-来报    char    DoFlag[2];	            //处理标志 0-未处理 1-已处理 2-处理失败    char    MsgData[MAXCMTLEN];     //报体内容 MB    char    CnapsData[MAXCMTLEN];   //报体内容 CNAPS}PkgCmt;//大文本数据存储结构typedef struct{    char    OprNo[10+1];	    //工作日期    char    WorkDate[9];	    //工作日期    char    SendBank[13];	    //发起清算行    char    RecvBank[13];    	    //接收清算行    char    TrxNo[9];	            //支付交易序号    char    AccKind[3];	            //支票种类    char    AccDate[9];	            //提示付款日期    char    PicFrt[30];	            //正面影象    char    PicBck[30];	            //反面影象}MainInfo;//业务要素typedef struct{    int MbfeIdx;    int CisIdx;    char doflag[2+1];	//处理标志    char rsflag[1+1];	//来往标志    char PkgType[3+1];       //包类型号        char ISDfiCode[12+1];    //发起清算行号    char OSDfiCode[12+1];    //接收清算行号        char RtnLimted[8+1];     //回执期限    char PkgPreDate[8+1];    //包委托日期        char PkgSerNo[8+1];      //包序号    char RNTurnDate[8+1];    //转发日期    char PkgExpData[64+1];   //包附加数据        char TrxsType[5+1];      //业务类型号        char IDfiCode[12+1];     //发起行号    char ODfiCode[12+1];     //接收行号    char PreDate[8+1];       //委托日期    char TrxNo[8+1];         //支付交易序号    char MEYSYB[3+1];        //货币符号        char Amount[15+1];       //金额    char PayerBKCD[12+1];    //付款人开户行行号        char PayerACC[32+1];     //付款人账号        char PayerName[60+1];    //付款人姓名        char PayerAddr[60+1];    //付款人地址        char RecverBKCD[12+1];   //收款人开户行        char RecverACC[32+1];    //收款人账号        char RecverName[60+1];   //收款人名称        char RecverAddr[60+1];   //收款人地址        char OprtType[12+1];     //业务种类        char RtnInfo[60+1];      //退汇附言        char ExpDataLen[8+1];    //附加数据长度    char ExpType[1+1];       //附加数据类型    char ChkDate[8+1];       //出票日期    char AccNo[12+1];        //票据号码    char Info[60+1];         //用途    char RedoCount[2+1];     //背书次数    char RedoInfo[1000+1];   //背书人清单    char RedoInfo1[60+1];    //背书人名称    char ChkModel[2+1];      //校验模式    char ChkPsw[512+1];      //校验密码    char MbfeData[4096+1];   //MBFE报文数据    char TagData[4096+1];    //TAG值数据}MBFEDATA;//支付系统业务明细typedef struct{    int CisIdx;    int MbfeIdx;   	char doflag[2+1];	//处理标志   	char rsflag[1+1];	//来往标志	char OprNo[10+1];	//柜员号	char PkgType[3+1];	//包类型号	char TrxsType[5+1];	//业务类型号	char PreDate[8+1];	//委托日期	char TrxNo[8+1];        //交易序号	char RecverBKCD[12+1];	//收款人开户行	char RecverACC[32+1];	//收款人账号	char RecverName[60+1];	//收款人名称	char PayerBKCD[12+1];	//付款人开户行行	char PayerACC[32+1];	//付款人账号	char PayerName[60+1];	//收款人名称	char MEYSYB[3+1];	//货币符号	char Amount[15+1];      //金额	char AccKind[2+1];	//支票种类	char AccNo[12+1];	//票据号码	char ChkDate[8+1];	//出票日期	char AccDate[8+1];	//提示付款日期	char AccPsw[20+1];      //支付密码	char Info[60+1];	//用途	char Remark[120+1];	//备注	char SysDate[8+1];	//系统受理日期	char RtnLimted[8+1];    //回执期限	char SRCFlag[1+1];	//补发标志	char ChkSatus[2+1];     //核签状态	char PicFront[29+1];	//正面图像	char PicBack[29+1];	//背面图像	char SignInfo[1800+1];	//数字签名	char RedoCount[2+1];	//背书次数	char RedoInfo[1000+1];  //背书人清单	char CisData[4096+1];   //CIS报文数据	char TagData[4096+1];    //TAG值数据}CISDATA;//支票截留业务明细typedef struct{    int CisIdx;    int MbfeIdx;    char doflag[2+1];    char rsflag[1+1];    char PkgType[3+1];           //包类型号        char ISDfiCode[12+1];        //发起清算行号    char OSDfiCode[12+1];        //接收清算行号        char PkgPreDate[8+1];        //包委托日期        char PkgSerNo[8+1];          //包序号    char RollNet[1+1];           //轧差节点        char RollDate[8+1];          //轧差日期    char RollNo[2+1];            //轧差场次        char SRCFlag[1+1];           //补发标志        char SapsDate[8+1];          //清算日期        char ProcState[2+1];         //处理状态        char PkgExpData[64+1];       //包附加数据        char OrgPkgType[3+1];        //原包类型号        char OrgPkgISDfiCode[12+1];  //原包发起清算行号    char OrgPkgPreDate[8+1];     //原包委托日期    char OrgPkgSerNo[8+1];       //原包序号    char PreDate[8+1];           //委托日期    char TrxNo[8+1];             //支付交易序号    char OrgTrxType[5+1];        //原业务类型号        char OrgOdfiCode[12+1];      //原发起行行号        char OrgRdfiCode[12+1];      //原接收行行号        char OrgPreDate[8+1];        //原委托日期

⌨️ 快捷键说明

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