📄 handle.cpre
字号:
ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_TRANSFERNUM, szNum)); nSize = SIZE_REVERSETRANSFERNUM; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_REVERSETRANSFERNUM, szNum, &nSize)); sprintf(szNum, "%6d", atoi(szNum)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_REVERSETRANSFERNUM, szNum)); nSize = SIZE_INQNUM; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_INQNUM, szNum, &nSize)); sprintf(szNum, "%6d", atoi(szNum)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_QUERYNUM, szNum)); nSize = SIZE_AUTHNUM; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_AUTHNUM, szNum, &nSize)); sprintf(szNum, "%6d", atoi(szNum)); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_AUTHNUM, szNum)); nSize = SIZE_CREDITFEE; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_CREDITFEE, szFee, &nSize)); sprintf(szFee, "%19.2lf", atof(szFee) / 100); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_CREDITFEE, szFee)); nSize = SIZE_DEBITFEE; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_DEBITFEE, szFee, &nSize)); sprintf(szFee, "%19.2lf", atof(szFee) / 100); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_DEBITFEE, szFee)); nSize = SIZE_CREDITAMT; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_CREDITAMT, szAmt, &nSize)); sprintf(szAmt, "%19.2lf", atof(szAmt) / 100); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_CREDITAMT, szAmt)); nSize = SIZE_REVERSECREDITAMT; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_REVERSECREDITAMT, szAmt, &nSize)); sprintf(szAmt, "%19.2lf", atof(szAmt) / 100); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_REVERSECREDITAMT, szAmt)); nSize = SIZE_DEBITAMT; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_DEBITAMT, szAmt, &nSize)); sprintf(szAmt, "%19.2lf", atof(szAmt) / 100); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_DEBITAMT, szAmt)); nSize = SIZE_REVERSEDEBITAMT; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_REVERSEDEBITAMT, szAmt, &nSize)); sprintf(szAmt, "%19.2lf", atof(szAmt) / 100); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_REVERSEDEBITAMT, szAmt)); nSize = SIZE_NETSETTLEAMT; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_NETSETTLEAMT, szNetSettleAmt, &nSize)); if (szNetSettleAmt[0] == 'C') sprintf(szAmt, "%19.2lf", atof(&szNetSettleAmt[1]) / 100); else if (szNetSettleAmt[0] == 'D') sprintf(szAmt, "%19.2lf", -atof(&szNetSettleAmt[1]) / 100); else DETECT(FALSE); ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_SETTLEAMT, szAmt)); return NORMAL;}RESULT GetFee(PISO8583STRU piso8583stru){ char szProcessCode[SIZE_PROCESSCODE + 1]; char szPan[SIZE_PAN_MAX + 1]; char szTransAmt[SIZE_TRANSAMT + 1]; char szTransmissDateTime[SIZE_TRANSMISSDATETIME + 1]; char szTraceNo[SIZE_TRACENO + 1]; char szSettleDate[SIZE_SETTLEDATE + 1]; char szAcqId[SIZE_ACQID_MAX + 1]; char szForwardId[SIZE_FORWARDID_MAX + 1]; char szRetrievalRefNo[SIZE_RETRIEVALREFNO + 1]; char szAddPriv[SIZE_ADDPRIV_MAX + 1]; char szCurrCode[SIZE_CURRCODE + 1]; char szReservePriv[SIZE_RESERVEPRIV_MAX + 1]; char szDestId[SIZE_DESTID_MAX + 1]; UINT nSize; FILE *pfile; TIMESTRU timestru; char szFileName[64 + 1]; bufclr(szProcessCode); bufclr(szPan); bufclr(szTransAmt); bufclr(szTransmissDateTime); bufclr(szSettleDate); bufclr(szAcqId); bufclr(szForwardId); bufclr(szRetrievalRefNo); bufclr(szAddPriv); bufclr(szCurrCode); bufclr(szReservePriv); bufclr(szDestId); bufclr(szFileName); nSize = SIZE_PROCESSCODE; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_PROCESSCODE, szProcessCode, &nSize)); nSize = SIZE_PAN_MAX; GetBitInIso8583(piso8583stru, BIT_PAN, szPan, &nSize); nSize = SIZE_TRANSAMT; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_TRANSAMT, szTransAmt, &nSize)); nSize = SIZE_TRANSMISSDATETIME; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_TRANSMISSDATETIME, szTransmissDateTime, &nSize)); nSize = SIZE_TRACENO; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_TRACENO, szTraceNo, &nSize)); nSize = SIZE_SETTLEDATE; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_SETTLEDATE, szSettleDate, &nSize)); nSize = SIZE_ACQID_MAX; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_ACQID, szAcqId, &nSize)); DETECT(nSize == SIZE_ID); nSize = SIZE_FORWARDID_MAX; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_FORWARDID, szForwardId, &nSize)); DETECT(nSize == SIZE_ID); nSize = SIZE_RETRIEVALREFNO; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_RETRIEVALREFNO, szRetrievalRefNo, &nSize)); nSize = SIZE_ADDPRIV_MAX; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_ADDPRIV, szAddPriv, &nSize)); nSize = SIZE_CURRCODE; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_CURRCODE, szCurrCode, &nSize)); nSize = SIZE_RESERVEPRIV_MAX; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_RESERVEPRIV, szReservePriv, &nSize)); DETECT(nSize == SIZE_REASONCODE); nSize = SIZE_DESTID_MAX; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_DESTID, szDestId, &nSize)); DETECT(nSize == SIZE_ID); timestru = GetTime(); ASSERT_NORMAL(AP_DEMAND_CFG(AP_PATH_CFG_INSTALLPATH, szFileName)); sprintf(szFileName + strlen(szFileName), "/log/ca/dsi/fee.%04d%02d%02d", timestru.nYear, timestru.nMon, timestru.nDay); ASSERT_NULL(pfile = fopen(szFileName, "a")); if (!VERIFY(fprintf(pfile, "帐号: %s\n" "金额: %lf\n" "传输时间: %s\n" "系统跟踪号: %s\n" "清算日期: %s\n" "代理机构标识码: %s\n" "发送机构标识码: %s\n" "检索参考号: %s\n" "收付费理由: %s\n" "交易货币代码: %s\n" "收付费原因码: %s\n" "接收机构标识码: %s\n" "借贷标志: %s\n" "**************************************************\n", szPan, atof(szTransAmt) / 100, szTransmissDateTime, szTraceNo, szSettleDate, szAcqId, szForwardId, szRetrievalRefNo, szAddPriv + 3, szCurrCode, &szReservePriv[3], szDestId, szProcessCode[0] == '1' ? "借" : "贷") >= 0)) { fclose(pfile); return EXCEPTION; } fclose(pfile); return NORMAL;}RESULT GetExceptionAdvice(PISO8583STRU piso8583stru){ char szProcessCode[SIZE_PROCESSCODE + 1]; char szPan[SIZE_PAN_MAX + 1]; char szTransAmt[SIZE_TRANSAMT + 1]; char szTransmissDateTime[SIZE_TRANSMISSDATETIME + 1]; char szTraceNo[SIZE_TRACENO + 1]; char szSettleDate[SIZE_SETTLEDATE + 1]; char szAcqId[SIZE_ACQID_MAX + 1]; char szForwardId[SIZE_FORWARDID_MAX + 1]; char szRetrievalRefNo[SIZE_RETRIEVALREFNO + 1]; char szCurrCode[SIZE_CURRCODE + 1]; char szDestId[SIZE_DESTID_MAX + 1]; char szLocalTransDate[SIZE_LOCALTRANSDATE + 1]; char szMerchType[SIZE_MERCHTYPE+1]; char szEntryMode[SIZE_ENTRYMODE+1]; char szConditionCode[SIZE_CONDITIONCODE+1]; char szAuthResp[SIZE_AUTHRESP+1]; char szRespCode[SIZE_RESPCODE+1]; char szTermId[SIZE_TERMID+1]; char szAcceptorId[SIZE_ACCEPTORID+1]; char szAcceptorName[SIZE_ACCEPTORNAME+1]; char szNationReserve[SIZE_NATIONRESERVE_MAX +1]; char szOrgData[SIZE_ORGDATA + 1]; UINT nSize; FILE *pfile; TIMESTRU timestru; char szFileName[64 + 1]; bufclr(szFileName); bufclr(szProcessCode); bufclr(szPan); bufclr(szTransAmt); bufclr(szTransmissDateTime); bufclr(szSettleDate); bufclr(szAcqId); bufclr(szForwardId); bufclr(szRetrievalRefNo); bufclr(szCurrCode); bufclr(szDestId); bufclr(szLocalTransDate); bufclr(szMerchType); bufclr(szEntryMode); bufclr(szConditionCode); bufclr(szAuthResp); bufclr(szRespCode); bufclr(szTermId); bufclr(szAcceptorId); bufclr(szAcceptorName); bufclr(szNationReserve); bufclr(szOrgData); nSize = SIZE_PROCESSCODE; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_PROCESSCODE, szProcessCode, &nSize)); nSize = SIZE_PAN_MAX; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_PAN, szPan, &nSize)); nSize = SIZE_TRANSAMT; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_TRANSAMT, szTransAmt, &nSize)); nSize = SIZE_TRANSMISSDATETIME; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_TRANSMISSDATETIME, szTransmissDateTime, &nSize)); nSize = SIZE_TRACENO; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_TRACENO, szTraceNo, &nSize)); nSize = SIZE_SETTLEDATE; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_SETTLEDATE, szSettleDate, &nSize)); nSize = SIZE_ACQID_MAX; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_ACQID, szAcqId, &nSize)); nSize = SIZE_FORWARDID_MAX; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_FORWARDID, szForwardId, &nSize)); nSize = SIZE_RETRIEVALREFNO; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_RETRIEVALREFNO, szRetrievalRefNo, &nSize)); nSize = SIZE_CURRCODE; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_CURRCODE, szCurrCode, &nSize)); nSize = SIZE_DESTID_MAX; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_DESTID, szDestId, &nSize)); nSize = SIZE_LOCALTRANSDATE; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_LOCALTRANSDATE, szLocalTransDate, &nSize)); nSize = SIZE_MERCHTYPE; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_MERCHTYPE, szMerchType, &nSize)); nSize = SIZE_ENTRYMODE; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_ENTRYMODE, szEntryMode, &nSize)); nSize = SIZE_CONDITIONCODE; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_CONDITIONCODE , szConditionCode, &nSize)); nSize = SIZE_AUTHRESP; VERIFY_NORMAL(GetBitInIso8583(piso8583stru, BIT_AUTHRESP, szAuthResp, &nSize)); nSize = SIZE_TERMID; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_TERMID, szTermId, &nSize)); nSize = SIZE_ACCEPTORID; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_ACCEPTORID, szAcceptorId, &nSize)); nSize = SIZE_ACCEPTORNAME; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_ACCEPTORNAME, szAcceptorName, &nSize)); nSize = SIZE_NATIONRESERVE_MAX; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_NATIONRESERVE, szNationReserve, &nSize)); nSize = SIZE_ORGDATA; ASSERT_NORMAL(GetBitInIso8583(piso8583stru, BIT_ORGDATA, szOrgData, &nSize)); timestru = GetTime(); ASSERT_NORMAL(AP_DEMAND_CFG(AP_PATH_CFG_INSTALLPATH, szFileName)); sprintf(szFileName + strlen(szFileName), "/home/bccu/log/ca/dsi/exceptionadvice.%04d%02d%02d", timestru.nYear, timestru.nMon, timestru.nDay); ASSERT_NULL(pfile = fopen(szFileName, "a")); if (!VERIFY(fprintf(pfile, "帐号: %s\n" "金额: %lf\n" "传输时间: %s\n" "系统跟踪号: %s\n" "清算日期: %s\n" "代理机构标识码: %s\n" "发送机构标识码: %s\n" "检索参考号: %s\n" "交易货币代码: %s\n" "接收机构标识码: %s\n" "借贷标志: %s\n" "受卡方所在地日期: %s\n" "商户类型: %s\n" "服务点输入方式码: %s\n" "服务点条件码: %s\n" "授权标识应答码: %s\n" "受卡机终端标识码: %s\n" "受卡方标识码: %s\n" "受卡方名称地址: %s\n" "交换中心保留: %s\n" "原始数据元: %s\n" "**************************************************\n", szPan,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -