Pārlūkot izejas kodu

Z991239-5317 #comment feat: 修改卡机读卡接口

Signed-Off-By: commit-hook
刘文涛80174520 1 gadu atpakaļ
vecāks
revīzija
943bfc5a65
1 mainītis faili ar 50 papildinājumiem un 32 dzēšanām
  1. 50 32
      DevAdapter/simulator/cardissuer.1.1/cardissuer_impl.cpp

+ 50 - 32
DevAdapter/simulator/cardissuer.1.1/cardissuer_impl.cpp

@@ -614,11 +614,12 @@ bool CardIssuerImpl::MagReadHttp(MagTracks& magTracks)
 						magTracks.track[i].dwSize = dwSizeRet;
 
 						string  dataRet = rootRet["data"]["track"][i]["data"].asString();
-						PBYTE pData = new BYTE[MAX_SHOW];
-						ZeroMemory(pData, MAX_SHOW);
-						int dataLen = StrBuf2HexBuf(dataRet.c_str(), &pData);
-						memcpy(magTracks.track[i].data, pData, dataLen);//赋值
-						delete[] pData;
+						//PBYTE pData = new BYTE[MAX_SHOW];
+						//ZeroMemory(pData, MAX_SHOW);
+						//int dataLen = StrBuf2HexBuf(dataRet.c_str(), &pData);
+						//memcpy(magTracks.track[i].data, pData, dataLen);//赋值
+						//delete[] pData;
+						memcpy(magTracks.track[i].data, dataRet.c_str(), dwSizeRet);//赋值
 						LOG4VTM(INFO, "MagReadHttp magTracks.track.eSource=" << magTracks.track[i].eSource);
 						LOG4VTM(INFO, "MagReadHttp magTracks.track.eStatus=" << magTracks.track[i].eStatus);
 						LOG4VTM(INFO, "MagReadHttp magTracks.track.dwSize=" << magTracks.track[i].dwSize);
@@ -1168,20 +1169,23 @@ bool CardIssuerImpl::TransferEnInitHttp(int& iStatus, BYTE*& Cr1, int& lenR1, BY
 						string  Cr3Ret = rootRet["data"]["Cr3"].asString();
 						string  dKeyRet = rootRet["data"]["dKey"].asString();
 
-						PBYTE pData = new BYTE[2048];
-						ZeroMemory(pData, 2048);
-						int dataLen = StrBuf2HexBuf(Cr1Ret.c_str(), &pData);
-						memcpy(Cr1, pData, dataLen);//赋值
+						//PBYTE pData = new BYTE[2048];
+						//ZeroMemory(pData, 2048);
+						//int dataLen = StrBuf2HexBuf(Cr1Ret.c_str(), &pData);
+						//memcpy(Cr1, pData, dataLen);//赋值
 
-						ZeroMemory(pData, MAX_TRACK_SIZE);
-						dataLen = StrBuf2HexBuf(Cr3Ret.c_str(), &pData);
-						memcpy(Cr3, pData, dataLen);//赋值
+						//ZeroMemory(pData, MAX_TRACK_SIZE);
+						//dataLen = StrBuf2HexBuf(Cr3Ret.c_str(), &pData);
+						//memcpy(Cr3, pData, dataLen);//赋值
 
-						ZeroMemory(pData, MAX_TRACK_SIZE);
-						dataLen = StrBuf2HexBuf(dKeyRet.c_str(), &pData);
-						memcpy(dKey, pData, dataLen);//赋值
+						//ZeroMemory(pData, MAX_TRACK_SIZE);
+						//dataLen = StrBuf2HexBuf(dKeyRet.c_str(), &pData);
+						//memcpy(dKey, pData, dataLen);//赋值
+						//delete[] pData;
+						memcpy(Cr1, Cr1Ret.c_str(), lenR1Ret);//赋值
+						memcpy(Cr3, Cr3Ret.c_str(), lenR3Ret);//赋值
+						memcpy(dKey, dKeyRet.c_str(), lenKeyRet);//赋值
 
-						delete[] pData;
 						LOG4VTM(INFO, "TransferEnInitHttp lenR1" << lenR1);
 						LOG4VTM(INFO, "TransferEnInitHttp lenR3" << lenR3);
 						LOG4VTM(INFO, "TransferEnInitHttp lenKey" << lenKey);
@@ -1291,25 +1295,39 @@ bool CardIssuerImpl::ReadAccountHttp(CardNo& cardNo)
 					string  accountRet = rootRet["data"]["account"].asString();
 					string  track2Ret = rootRet["data"]["track2"].asString();
 					string  track3Ret = rootRet["data"]["track3"].asString();
+					//LOG4VTM(INFO, "ReadAccountHttp cardNo.dwSize=" << cardNo.dwSize);
+					//LOG4VTM(INFO, "ReadAccountHttp cardNo.dwTrack2Size=" << cardNo.dwTrack2Size);
+					//LOG4VTM(INFO, "ReadAccountHttp cardNo.dwTrack3Size=" << cardNo.dwTrack3Size);
+					//LOG4VTM(INFO, "ReadAccountHttp cardNo.account=" << accountRet.c_str());
+					//LOG4VTM(INFO, "ReadAccountHttp cardNo.track2=" << track2Ret.c_str());
+					//LOG4VTM(INFO, "ReadAccountHttp cardNo.track3=" << track3Ret.c_str());
+
+					//PBYTE pData = new BYTE[MAX_MAG_TRACK_SIZE];
+					//ZeroMemory(pData, MAX_MAG_TRACK_SIZE);
+					//int dataLen = StrBuf2HexBuf(accountRet.c_str(), &pData);
+					//LOG4VTM(INFO, "ReadAccountHttp cardNo.account=" << pData);
+					//memcpy(cardNo.account, pData, dataLen);//赋值
+					//delete[] pData;
+
+					//pData = new BYTE[MAX_MAG_TRACK_SIZE];
+					//ZeroMemory(pData, MAX_MAG_TRACK_SIZE);
+					//dataLen = StrBuf2HexBuf(track2Ret.c_str(), &pData);
+					//LOG4VTM(INFO, "ReadAccountHttp cardNo.track2=" << pData);
+					//memcpy(cardNo.track2, pData, dataLen);//赋值
+					//delete[] pData;
+
+					//pData = new BYTE[MAX_MAG_TRACK_SIZE];
+					//ZeroMemory(pData, MAX_MAG_TRACK_SIZE);
+					//dataLen = StrBuf2HexBuf(track3Ret.c_str(), &pData);
+					//LOG4VTM(INFO, "ReadAccountHttp cardNo.track3=" << pData);
+					//memcpy(cardNo.track3, pData, dataLen);//赋值
+					//delete[] pData;
+					memcpy(cardNo.account, accountRet.c_str(), cardNo.dwSize);//赋值
+					memcpy(cardNo.track2, track2Ret.c_str(), cardNo.dwTrack2Size);//赋值
+					memcpy(cardNo.track3, track3Ret.c_str(), cardNo.dwTrack3Size);//赋值
 
-					PBYTE pData = new BYTE[MAX_TRACK_SIZE];
-					ZeroMemory(pData, MAX_TRACK_SIZE);
-					int dataLen = StrBuf2HexBuf(accountRet.c_str(), &pData);
-					memcpy(cardNo.account, pData, dataLen);//赋值
-
-					ZeroMemory(pData, MAX_TRACK_SIZE);
-					dataLen = StrBuf2HexBuf(track2Ret.c_str(), &pData);
-					memcpy(cardNo.track2, pData, dataLen);//赋值
-
-					ZeroMemory(pData, MAX_TRACK_SIZE);
-					dataLen = StrBuf2HexBuf(track3Ret.c_str(), &pData);
-					memcpy(cardNo.track3, pData, dataLen);//赋值
-
-					delete[] pData;
 					LOG4VTM(INFO, "ReadAccountHttp cardNo.dwSize=" << cardNo.dwSize);
-					LOG4VTM(INFO, "Before dwTrack2Size");
 					LOG4VTM(INFO, "ReadAccountHttp cardNo.dwTrack2Size=" << cardNo.dwTrack2Size);
-					LOG4VTM(INFO, "After dwTrack2Size");
 					LOG4VTM(INFO, "ReadAccountHttp cardNo.dwTrack3Size=" << cardNo.dwTrack3Size);
 					LOG4VTM(INFO, "ReadAccountHttp cardNo.account=" << strlen(cardNo.account));
 					LOG4VTM(INFO, "ReadAccountHttp cardNo.track2=" << strlen(cardNo.track2));