📄 cispub.hpp
字号:
/* 小额批量支付系统MBFE业务处理的公共函数*/#ifndef __BepsMbfePub__#define __BepsMbfePub__#include "SvrDef.hpp"#include "BepsSend.h"#include "cnapstag.hpp"#include "wsocket.h"BOOL GetMbHead(char *sMsg, MsgHeader *strMsgHeader);//BepsMbfePub类class BepsPub{ public: BepsPub(); //开始事务 void BeginTrans(); //提交事务 void CommitTrans(); //回滚事务 void RollbackTrans(); //根据参数代码获取系统控制参数 BOOL GetWorkDate(char *WorkDate); BOOL GetSysCtlPar(char *sParCode,char *sParValue,char *sResDesc); BOOL GetSysCtlPar1(char *sParCode,char *sParValue,char *sResDesc); BOOL UpdateNumClient(int flag); //修改系统控制参数 BOOL MdySysCtlPar(char *sParCode,char *sParValue,char *sResDesc); //修改[MBFECMT]状态 BOOL UpdateCmtData(PkgCmt *strPkgCmt,char *sResDesc); //保存明细以及转换前后报文-MB BOOL SendTrans( char *RecvBuffer,char * SendBuffer ,char *CmtNo, char *sResDesc); //产生业务序列序号 BOOL MakeTrxsSerialNo(int *SerialNo,char *sResDesc,char *SerType); //接收柜台服务程序 BOOL CisServer(char *TrNo,char *RecvBuf,char *Result,char *sResDesc); ///////////////////////////////////////////////////////////////////////////////// //处理行内发过来的CIS100支票截留业务 BOOL TrCIS100(char *RecvBuf , char *Result,char *sResDesc ); //处理行内发过来的CIS309 BOOL TrCIS309(char *RecvBuf , char *Result,char *sResDesc ); //处理行内发过来的CIS310 BOOL TrCIS310(char *RecvBuf , char *Result,char *sResDesc ); //处理行内发过来的CIS602 BOOL TrCIS602(char *RecvBuf , char *Result,char *sResDesc ); //解析CIS100对应的借记业务包分析 BOOL ParserCIS100(char *InputBuf, TPKG002 &pkg002, TMAIN001 &main001, TAPPEND30102 &append30102, TCIS100 &cis100); BOOL PackageCIS100(TCIS100 &cis100); //生成回执期限的函数 void MakeReturnTerm(char *termDate, char *date, char *term); //处理行内发过来的CIS101通用截留业务 BOOL TrCIS101(char *RecvBuf , char *Result,char *sResDesc ); //解析CIS100对应的借记业务包分析 BOOL ParserCIS101(char *InputBuf, TPKG002 &pkg002, TMAIN001 &main001, TAPPEND30103 &append30103, TCIS101 &cis101); BOOL PackageCIS101(TCIS101 &cis101); //获取待发送到内业的业务记录,并分析对应的报文类型 BOOL GetSendMBData(char *outBuf, char *msgNo, int *dataIdx); //更新sendmb_data表中记录的处理状态 BOOL UpdSendMBDate(char *doflag, int *dataIdx, char *fmtMsg=NULL); //截掉人行原始报文中的报头和报尾 BOOL GetMsgContent(char *inBuf, char *outBuf); //转换业务数据包TAG->FIXED FIXED->TAG格式 int DataChange(char *CmtNo , char *SrcStr , char *ObjStr , int flag); //重构截留业务报文为PKG002+MAIN001+APPEND30102/30103 BOOL FormatMsg(char *msgNo, char *inBuf, char* outBuf, char *strRes); //格式化CIS100报文为PKG002报文 BOOL FormatCIS100(char *inBuf, char *outBuf); //CIS100组包为PKG002报文 BOOL PackCIS100ToPKG002(TPKG002 &kpg002, TMAIN001 &main001, TAPPEND30102 &app30102, char *outBuf); //格式化CIS101报文为PKG002报文 BOOL FormatCIS101(char *inBuf, char *outBuf); //CIS101组包为PKG002报文 BOOL PackCIS101ToPKG002(TPKG002 &kpg002, TMAIN001 &main001, TAPPEND30103 &app30103, char *outBuf); //分析CIS100/CIS101报文,转换成定长报文 BOOL ParserTagToFix(char *msgNo, char *inBuf, char *outBuf, TCnapsTagMML *mml);///////////////////////////////////////////////////////////////////////////////// //初始化用户的状态 BOOL InitUserStatus(char *clientIp); //从TAG报文中分析出付款人账号,付款人全称 BOOL PreserRevcBankInfo(char *RecvBuf, char* RecvAcc, char* RecvName, char* strSumMoney, char* strTicketNo, char* strPicName, char* SendAcc, char* SendName); //获取MBFE业务明细数据 BOOL GetMbfeData( MainInfo *sMainInfo , MBFEDATA *sMbfeData ); //MBFE业务明细数据转CIS明细 BOOL MbfeToCis(MainInfo *sMainInfo , MBFEDATA *sMbfeData , CISDATA *sCisData); //MBFE业务明细数据转MBFE明细 BOOL CisToMbfe(MainInfo *sMainInfo , MBFEDATA *sMbfeData , CISDATA *sCisData); //CIS报文入库 BOOL SaveCis(CISDATA *sCisData); //MBFE报文入库 BOOL SaveMbfe(MBFEDATA *sMbfeData); //获取行号信息 BOOL FindBankInfo(BankInfo *struBankInfo,char *sResDesc); //MBFE业务回执数据转CIS回执 BOOL MbfeToCis_Re(MainInfo *sMainInfo , MBFERE *sMbfeRe , CISRETURN *sCisReturn); //CIS回执入库 BOOL SaveCisReturn(CISRETURN *sCisReturn); //MBFE业务回执数据转CIS回执 BOOL CisToMbfe_Re(MainInfo *sMainInfo , MBFERE *sMbfeRe , CISRETURN *sCisReturn); //MBFE回执入库 BOOL SaveMbfeRe(MBFERE *sMbfeRe); //获取业务类型对应关系 BOOL GetTrxsType(char *CisTrType,char *CisReTrType,int flag); //获取代理行机构号 BOOL GetOprBankNo(char *BankNo,char *BankNo_D); //获取CIS业务明细 BOOL GetCisData(MainInfo *sMainInfo , CISDATA *sCisData); //获取MBFE业务明细存结构 BOOL SetListMbfe(MainInfo *sMainInfo , MBFEDATA *sMbfedata, char *Buf); //获取CIS业务明细存结构 BOOL SetListCis(MainInfo *sMainInfo , CISDATA *sCisData, char *Buf); //获取CISRETURN业务明细存结构 BOOL SetListCisRe(MainInfo *sMainInfo , CISRETURN *sCisReturn, char *Buf); //获取MBFERE业务明细存结构 BOOL SetListMbfeRe(MainInfo *sMainInfo , MBFERE *sMbfeRe, char *Buf); //根据业务要素获取CISDATA的业务明细数据 BOOL GetSingleCisData( MainInfo *sMainInfo, CISDATA *sCisData, int OprType=0); //提出复核时的批量查询数据 BOOL GetManyCisDataForReCheck( char *sOprNo, char *sResList); //查询时的批量查询数据 BOOL GetManyCisDataForQuery( char *sRecvBuf, char *sResList); //根据收到信息取出业务要素 BOOL GetMainInfo(char *recvBuf, MainInfo *mainInfo); //支票截留系统报文转换为行内报文 BOOL CisToMb(CURR_INF *curr, char *sCisMsg, int iCisLen, char *sMbMsg, int *iMbLen); //行内报文转换为支票截留系统报文 BOOL MbToCis(CURR_INF *curr, char *sMbMsg, int iMbLen, char *sCisMsg, int *iCisLen); //行内报文转换为小额支付系统报文 BOOL MbfeToMb(CURR_INF *curr, char *sMbfeMsg, int iMbfeLen, char *sMbMsg, int *iMbLen); //小额支付系统报文转换为行内报文 BOOL MbToMbfe(CURR_INF *curr, char *sMbMsg, int iMbLen, char *sMbfeMsg, int *iMbfeLen); //文件查找函数 BOOL FindFile(char* sFilePath); //保存报文到CISPKGDATA BOOL SavePkgData(PkgData *strPkgData , char *sResDesc, char *fileName=NULL); //把CNAPS报文分析保存到PkgData结构中 BOOL SetPkgData(PkgData& pkgData, char *sPkgData, char *sPkgHead, char *sDesc); BOOL CheckSerail(int *flag); BOOL SaveSendData(char *sSendData , char *CmtNo,char *WorkDate,char *sResDesc ); //打印CISDATA数据 void DisCis(CISDATA *cisData); //打印业务要素 void PrintMainInfo(MainInfo& mainInfo); //把指定文件转换成BASE64的内容 BOOL TranFileToBase64(char *filePath, char *base64Buf); public: SybServer *_clsSybServer; // 数据库服务类 char m_UserNo[11]; char m_UserName[21]; char m_UserIpAddr[16]; char m_UserOrgNo[13]; ////////////////////////////////////////////////////////////////////////////////};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -