|
@@ -2,16 +2,36 @@
|
|
|
#include <algorithm>
|
|
|
//CSimpleStringA<T> ambigulous
|
|
|
|
|
|
-#ifdef RVC_OS_WIN
|
|
|
+#if (defined(_WIN32) || defined(_WIN64))
|
|
|
|
|
|
#define _ATL_NO_AUTOMATIC_NAMESPACE
|
|
|
#include <atltime.h>
|
|
|
|
|
|
-#endif // RVC_OS_WIN
|
|
|
+#endif //
|
|
|
|
|
|
#include "CardAssist.h"
|
|
|
#include "SpBase.h"
|
|
|
|
|
|
+#define DbgSysInfoWithLink DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)
|
|
|
+#define DbgUserInfoWithLink DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER)
|
|
|
+#define DbgSysWarnWithLink DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)
|
|
|
+
|
|
|
+void DbgInfo(CSimpleStringA apiName, long beginTime, long endTime, ErrorCodeEnum errCode, CSimpleStringA msg)
|
|
|
+{
|
|
|
+ DbgSysInfoWithLink.setAPI(apiName).setBeginTime(beginTime).setEndTime(endTime).setResultCode(std::to_string((unsigned long)errCode).c_str())(msg.GetData());
|
|
|
+}
|
|
|
+void DbgInfo(CSimpleStringA msg)
|
|
|
+{
|
|
|
+ DbgSysInfoWithLink(msg.GetData());
|
|
|
+}
|
|
|
+void DbgWarn(CSimpleStringA apiName, long beginTime, long endTime, ErrorCodeEnum errCode, CSimpleStringA msg)
|
|
|
+{
|
|
|
+ DbgSysWarnWithLink.setAPI(apiName).setBeginTime(beginTime).setEndTime(endTime).setResultCode(std::to_string((unsigned long)errCode).c_str())(msg.GetData());
|
|
|
+}
|
|
|
+void DbgWarn(CSimpleStringA msg)
|
|
|
+{
|
|
|
+ DbgSysWarnWithLink(msg.GetData());
|
|
|
+}
|
|
|
|
|
|
char TTtmpxx[1024];
|
|
|
char TtestIC[1024];
|
|
@@ -62,9 +82,6 @@ bool IsForm(LPBYTE data,int flagLen)
|
|
|
|
|
|
int SplitICData(vector<ICData>& vResult, LPBYTE* origData, int start, int dataLen, int level , int origDataLen)
|
|
|
{
|
|
|
- //Dbg("to split IC Data size [%d],start[%d],dataLen[%d],level[%d]",vResult.size(),start,dataLen,level);
|
|
|
- //Dbg("%x%x",*((*origData)+start),*((*origData)+start+1));
|
|
|
- //ZeroMemory(Ttmpxx,sizeof(Ttmpxx));
|
|
|
LPBYTE pData = *origData;
|
|
|
DWORD len,tagLen,lenLen;
|
|
|
len=tagLen=lenLen=0;
|
|
@@ -74,10 +91,10 @@ int SplitICData(vector<ICData>& vResult, LPBYTE* origData, int start, int dataLe
|
|
|
{
|
|
|
if (start >= origDataLen - 1)
|
|
|
{
|
|
|
- Dbg("Wrong start %d,%d,%d", start, origDataLen,dataLen);
|
|
|
+ DbgWarn(CSimpleStringA::Format("Wrong start %d,%d,%d", start, origDataLen,dataLen));
|
|
|
return 0;
|
|
|
}
|
|
|
- //Dbg("%x,%d,%d", pData[start],start,dataLen);//oiltest 20160107
|
|
|
+
|
|
|
if (!IsDoubleByteFlag(pData[start]))
|
|
|
{
|
|
|
tagLen = 1;
|
|
@@ -196,7 +213,7 @@ int SplitFormString(vector<FormUnit> &vResult,const char *pData,int size,char fs
|
|
|
int dataLen = strlen(pData);
|
|
|
if (dataLen <= 0 || dataLen != size)
|
|
|
{
|
|
|
- Dbg("Split form string failed.[%d,%s]",size,pData);
|
|
|
+ DbgWarn(CSimpleStringA::Format("Split form string failed.[%d,%s]",size,pData));
|
|
|
return -1;
|
|
|
}
|
|
|
for (int i = 0,j = 0; i < size; ++i)
|
|
@@ -2535,6 +2552,7 @@ int CCardProcess::GetICDataFromCard(CardReadType eType,DeviceBaseClass *pCardX,
|
|
|
}
|
|
|
return -3;
|
|
|
}
|
|
|
+
|
|
|
int CCardProcess::ConstructARQCData(const char *pATC, char *&pDataToARQC, char *&pSomeICData)
|
|
|
{
|
|
|
//9f0206 9f0306 9f1a02 9505 5f2a02 9a03 9c01 9f3704 9f2103 9f4e14
|
|
@@ -2542,7 +2560,7 @@ int CCardProcess::ConstructARQCData(const char *pATC, char *&pDataToARQC, char *
|
|
|
//,5f2a02交易货币代码( 2), 9a03交易日期( 3), 9c01交易类型( 1),
|
|
|
pDataToARQC = new char[1024];
|
|
|
ZeroMemory(pDataToARQC,1024);
|
|
|
- Dbg("atc %s",pATC);
|
|
|
+ //DbgInfo(CSimpleStringA::Format("<ConstructARQCData>, atc %s",pATC));
|
|
|
ICData authAmount(false,0x9f,0x02),otherAmount(false,0x9f,0x03),ctyCode(false,0x9f,0x1a)
|
|
|
,currCode(false,0x5f,0x2a),transTime(false,0x9f,0x21),transDate(false,0x9a,0x00)
|
|
|
,transType(false,0x9c,0x00);
|
|
@@ -2688,7 +2706,7 @@ int CCardProcess::ConstructARQCData(const char *pATC, char *&pDataToARQC, char *
|
|
|
tmpARQCData[len++] = m_CVR[1];
|
|
|
tmpARQCData[len++] = m_CVR[2];
|
|
|
tmpARQCData[len++] = m_CVR[3];
|
|
|
- Dbg("term2arqcdata,len[%d]",len);
|
|
|
+ //DbgInfo(CSimpleStringA::Format("term2arqcdata,len[%d]",len));
|
|
|
HexBuf2StrBuf(tmpARQCData,&pDataToARQC,len);
|
|
|
HexBuf2StrBuf(tmpSomeICData, &pSomeICData, iclen);
|
|
|
//Dbg("[%s]",pDataToARQC);
|