|
|
@@ -1509,27 +1509,21 @@ ErrorCodeEnum CCardIssuerFSM::OpenDevice(BYTE btOpenType, const char* pDevSN)
|
|
|
spConfig->WriteConfigValueInt("1", "CardPercent", m_CardPercentEx[0]);
|
|
|
spEntityFunction->OpenConfig(Config_CenterSetting, spConfigCS);
|
|
|
|
|
|
- int tmpCardnoMismatch = 0, tmpICRetryTimes = 1, tmpStopUseRF = 0, tmpCheckInterval = 200;
|
|
|
+ int tmpCardnoMismatch = 0, tmpCheckInterval = 200;
|
|
|
|
|
|
spConfigCS->ReadConfigValueInt(GetEntityBase()->GetEntityName(), "EacQueryFlag", m_eacQueryFlag);
|
|
|
spConfigCS->ReadConfigValueInt(GetEntityBase()->GetEntityName(), "UseCardnoMismatch", tmpCardnoMismatch);
|
|
|
- spConfigCS->ReadConfigValueInt(GetEntityBase()->GetEntityName(), "ICRetryTimes", tmpICRetryTimes);
|
|
|
- spConfigCS->ReadConfigValueInt(GetEntityBase()->GetEntityName(), "StopUseRF", tmpStopUseRF);
|
|
|
spConfigCS->ReadConfigValueInt(GetEntityBase()->GetEntityName(), "CheckCardInInterval", tmpCheckInterval);
|
|
|
spConfigCS->ReadConfigValue(GetEntityBase()->GetEntityName(), "RFVendorList", m_rfVendorList);
|
|
|
spConfigCS->ReadConfigValue(GetEntityBase()->GetEntityName(), "SwallowCardUrl", m_csSwallowCardUrl);
|
|
|
spConfigCS->ReadConfigValue(GetEntityBase()->GetEntityName(), "SyncMaterialUrl", m_csSyncMaterialUrl);
|
|
|
spConfigCS->ReadConfigValue("Common", "EacQueryHost", m_EacQueryHost);
|
|
|
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("EacQueryFlag:%d,EacQueryHost:%s,UseCardnoMismatch:%d,ICRetryTimes:%d,StopUseRF:%d"
|
|
|
- , m_eacQueryFlag, m_EacQueryHost.GetData(), tmpCardnoMismatch, tmpICRetryTimes, tmpStopUseRF);
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("EacQueryFlag:%d,EacQueryHost:%s,UseCardnoMismatch:%d"
|
|
|
+ , m_eacQueryFlag, m_EacQueryHost.GetData(), tmpCardnoMismatch);
|
|
|
|
|
|
if (tmpCardnoMismatch == 1)
|
|
|
m_bUseCardnoMismatch = true;
|
|
|
- if (tmpICRetryTimes > 0 && tmpICRetryTimes < 4)
|
|
|
- m_ICRetryTimes = tmpICRetryTimes;
|
|
|
- if (tmpStopUseRF == 1)
|
|
|
- m_bStopUseRF = true;
|
|
|
if (tmpCheckInterval >= 100 && tmpCheckInterval <= 1000)
|
|
|
m_iCheckCardInInterval = tmpCheckInterval;
|
|
|
|
|
|
@@ -2394,20 +2388,11 @@ int CCardIssuerFSM::ReadCard_Contact(SpReqAnsContext<CardIssuerStandService_Read
|
|
|
}
|
|
|
else//未访问户口系统或户口系统访问失败或户口未告知介质类型(包括插反卡)
|
|
|
{
|
|
|
- int icRetryTimes = 0;
|
|
|
- while (1)
|
|
|
- {//for poor mag only card,we always retry...
|
|
|
- l_beginTime = GetTickCountRVC();
|
|
|
- bIC = m_pCardProcess->DetectIfICCard(CARD_MACHINE_ISSUER, m_hDevHelper, activeCardType);
|
|
|
- l_endTime = GetTickCountRVC();
|
|
|
- if (!bIC)
|
|
|
- icRetryTimes++;
|
|
|
- else
|
|
|
- break;
|
|
|
- Sleep(500);
|
|
|
- if (icRetryTimes >= m_ICRetryTimes)
|
|
|
- break;
|
|
|
- }
|
|
|
+
|
|
|
+ l_beginTime = GetTickCountRVC();
|
|
|
+ bIC = m_pCardProcess->DetectIfICCard(CARD_MACHINE_ISSUER, m_hDevHelper, activeCardType);
|
|
|
+ l_endTime = GetTickCountRVC();
|
|
|
+
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<ReadCard::DetectIfICCard>, bIC:%d", bIC);
|
|
|
if (!bIC) {
|
|
|
ErrorCodeEnum eErrCode = Error_Unexpect;
|
|
|
@@ -2456,7 +2441,7 @@ int CCardIssuerFSM::ReadCard_Contact(SpReqAnsContext<CardIssuerStandService_Read
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->DeactivateICCard();
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
-
|
|
|
+
|
|
|
if (eErr != Error_Succeed) {
|
|
|
SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_DeactivateICCard, "DevAdapter::DeactivateICCard", __FUNCTION__, false, l_endTime - l_beginTime, "", "ReadCard_Contact::DeactivateICCard err");
|
|
|
}
|
|
|
@@ -2666,20 +2651,11 @@ int CCardIssuerFSM::ReadCard_RF(SpReqAnsContext<CardIssuerStandService_Read_Req,
|
|
|
}
|
|
|
else//未访问户口系统或户口系统访问失败(包括插反卡)
|
|
|
{
|
|
|
- int icRetryTimes = 0;
|
|
|
- while (1)
|
|
|
- {//for poor mag only card,we always retry...
|
|
|
- l_beginTime = GetTickCountRVC();
|
|
|
- bIC = m_pCardProcess->DetectIfICCard(CARD_MACHINE_ISSUER_RF, m_hDevHelper, activeCardType);
|
|
|
- l_endTime = GetTickCountRVC();
|
|
|
- if (!bIC)
|
|
|
- icRetryTimes++;
|
|
|
- else
|
|
|
- break;
|
|
|
- Sleep(500);
|
|
|
- if (icRetryTimes >= m_ICRetryTimes)
|
|
|
- break;
|
|
|
- }
|
|
|
+
|
|
|
+ l_beginTime = GetTickCountRVC();
|
|
|
+ bIC = m_pCardProcess->DetectIfICCard(CARD_MACHINE_ISSUER_RF, m_hDevHelper, activeCardType);
|
|
|
+ l_endTime = GetTickCountRVC();
|
|
|
+
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<ReadCard::DetectIfICCard>, bIC:%d", bIC);
|
|
|
if (!bIC) {
|
|
|
ErrorCodeEnum eErrCode = Error_Unexpect;
|
|
|
@@ -2719,7 +2695,7 @@ int CCardIssuerFSM::ReadCard_RF(SpReqAnsContext<CardIssuerStandService_Read_Req,
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
eErr = m_hDevHelper->DeactContactlessICCard();
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
-
|
|
|
+
|
|
|
if (eErr != Error_Succeed) {
|
|
|
SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_DeactivateICCard, "DevAdapter::DeactContactlessICCard", __FUNCTION__, false, l_endTime - l_beginTime, "", "ReadCard_RF::DeactContactlessICCard err");
|
|
|
}
|
|
|
@@ -2775,20 +2751,9 @@ int CCardIssuerFSM::PreOnline_Contact(SpReqAnsContext<CardIssuerStandService_Pre
|
|
|
if (m_pCardProcess->FindTagValue(TAG_VECTOR_BUS, aidFromBus, false, 0) == -1)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<PreOnline>, the front BusinessData han't provide aid data.");
|
|
|
- int icRetryTimes = 0;
|
|
|
- while (1)
|
|
|
- {
|
|
|
- l_beginTime = GetTickCountRVC();
|
|
|
- retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_ISSUER, m_hDevHelper, m_aidList, activeCardType, m_issueStatus);
|
|
|
- l_endTime = GetTickCountRVC();
|
|
|
- if (retDetectAndRead == -1)//only retry for active ic card failed!
|
|
|
- icRetryTimes++;
|
|
|
- else
|
|
|
- break;
|
|
|
- Sleep(500);
|
|
|
- if (icRetryTimes >= m_ICRetryTimes)
|
|
|
- break;
|
|
|
- }
|
|
|
+ l_beginTime = GetTickCountRVC();
|
|
|
+ retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_ISSUER, m_hDevHelper, m_aidList, activeCardType, m_issueStatus);
|
|
|
+ l_endTime = GetTickCountRVC();
|
|
|
}
|
|
|
else {
|
|
|
char* pAIDTmp = new char[64];
|
|
|
@@ -2798,20 +2763,10 @@ int CCardIssuerFSM::PreOnline_Contact(SpReqAnsContext<CardIssuerStandService_Pre
|
|
|
CAutoArray<CSimpleString> preAIDs;
|
|
|
preAIDs.Init(1);
|
|
|
preAIDs[0] = (CSimpleStringA)pAIDTmp;
|
|
|
- int icRetryTimes = 0;
|
|
|
- while (1)
|
|
|
- {
|
|
|
- l_beginTime = GetTickCountRVC();
|
|
|
- retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_ISSUER, m_hDevHelper, preAIDs, activeCardType, m_issueStatus);
|
|
|
- l_endTime = GetTickCountRVC();
|
|
|
- if (retDetectAndRead == -1)//only retry for active ic card failed!
|
|
|
- icRetryTimes++;
|
|
|
- else
|
|
|
- break;
|
|
|
- Sleep(500);
|
|
|
- if (icRetryTimes >= m_ICRetryTimes)
|
|
|
- break;
|
|
|
- }
|
|
|
+ l_beginTime = GetTickCountRVC();
|
|
|
+ retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_ISSUER, m_hDevHelper, preAIDs, activeCardType, m_issueStatus);
|
|
|
+ l_endTime = GetTickCountRVC();
|
|
|
+
|
|
|
if (pAIDTmp != NULL)
|
|
|
delete[]pAIDTmp;
|
|
|
}
|
|
|
@@ -3153,20 +3108,9 @@ int CCardIssuerFSM::PreOnline_RF(SpReqAnsContext<CardIssuerStandService_PreOnlin
|
|
|
if (m_pCardProcess->FindTagValue(TAG_VECTOR_BUS, aidFromBus, false, 0) == -1)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<PreOnline_RF>, the front BusinessData han't provide aid data.");
|
|
|
- int icRetryTimes = 0;
|
|
|
- while (1)
|
|
|
- {
|
|
|
- l_beginTime = GetTickCountRVC();
|
|
|
- retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_ISSUER_RF, m_hDevHelper, m_aidList, activeCardType, m_issueStatus);
|
|
|
- l_endTime = GetTickCountRVC();
|
|
|
- if (retDetectAndRead == -1)//only retry for active ic card failed!
|
|
|
- icRetryTimes++;
|
|
|
- else
|
|
|
- break;
|
|
|
- Sleep(500);
|
|
|
- if (icRetryTimes >= m_ICRetryTimes)
|
|
|
- break;
|
|
|
- }
|
|
|
+ l_beginTime = GetTickCountRVC();
|
|
|
+ retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_ISSUER_RF, m_hDevHelper, m_aidList, activeCardType, m_issueStatus);
|
|
|
+ l_endTime = GetTickCountRVC();
|
|
|
}
|
|
|
else {
|
|
|
char* pAIDTmp = new char[64];
|
|
|
@@ -3176,20 +3120,9 @@ int CCardIssuerFSM::PreOnline_RF(SpReqAnsContext<CardIssuerStandService_PreOnlin
|
|
|
CAutoArray<CSimpleString> preAIDs;
|
|
|
preAIDs.Init(1);
|
|
|
preAIDs[0] = (CSimpleStringA)pAIDTmp;
|
|
|
- int icRetryTimes = 0;
|
|
|
- while (1)
|
|
|
- {
|
|
|
- l_beginTime = GetTickCountRVC();
|
|
|
- retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_ISSUER_RF, m_hDevHelper, preAIDs, activeCardType, m_issueStatus);
|
|
|
- l_endTime = GetTickCountRVC();
|
|
|
- if (retDetectAndRead == -1)//only retry for active ic card failed!
|
|
|
- icRetryTimes++;
|
|
|
- else
|
|
|
- break;
|
|
|
- Sleep(500);
|
|
|
- if (icRetryTimes >= m_ICRetryTimes)
|
|
|
- break;
|
|
|
- }
|
|
|
+ l_beginTime = GetTickCountRVC();
|
|
|
+ retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_ISSUER_RF, m_hDevHelper, preAIDs, activeCardType, m_issueStatus);
|
|
|
+ l_endTime = GetTickCountRVC();
|
|
|
if (pAIDTmp != NULL)
|
|
|
delete[]pAIDTmp;
|
|
|
}
|
|
|
@@ -4965,9 +4898,6 @@ bool CCardIssuerFSM::ToRegistCaptureCardInfo()
|
|
|
}
|
|
|
void CCardIssuerFSM::CheckSupportRf()
|
|
|
{
|
|
|
- if (m_bStopUseRF)
|
|
|
- m_bSupportRF = false;
|
|
|
-
|
|
|
//加入szmodel非接字段属性判断
|
|
|
if (m_csRF.Compare("Y") == 0) {
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("szModel,RF=%s", m_csRF.GetData());
|
|
|
@@ -5537,20 +5467,9 @@ int CCardIssuerFSM::PreOnlineJS_ReadViaContact(SpReqAnsContext<CardIssuerStandSe
|
|
|
if (m_pCardProcess->FindTagValue(TAG_VECTOR_BUS, aidFromBus, false, 0) == -1)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<PreOnlineJS_Contact>, the front BusinessData have not provide aid data.");
|
|
|
- int icRetryTimes = 0;
|
|
|
- while (1)
|
|
|
- {
|
|
|
- m_ullBeginTime = GetTickCountRVC();
|
|
|
- retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_ISSUER, m_hDevHelper, m_aidList, activeCardType, m_issueStatus);
|
|
|
- m_ullEndTime = GetTickCountRVC();
|
|
|
- if (retDetectAndRead == -1)//only retry for active ic card failed!
|
|
|
- icRetryTimes++;
|
|
|
- else
|
|
|
- break;
|
|
|
- Sleep(500);
|
|
|
- if (icRetryTimes >= m_ICRetryTimes)
|
|
|
- break;
|
|
|
- }
|
|
|
+ m_ullBeginTime = GetTickCountRVC();
|
|
|
+ retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_ISSUER, m_hDevHelper, m_aidList, activeCardType, m_issueStatus);
|
|
|
+ m_ullEndTime = GetTickCountRVC();
|
|
|
}
|
|
|
else {
|
|
|
char* pAIDTmp = new char[64];
|
|
|
@@ -5560,20 +5479,10 @@ int CCardIssuerFSM::PreOnlineJS_ReadViaContact(SpReqAnsContext<CardIssuerStandSe
|
|
|
CAutoArray<CSimpleString> preAIDs;
|
|
|
preAIDs.Init(1);
|
|
|
preAIDs[0] = (CSimpleStringA)pAIDTmp;
|
|
|
- int icRetryTimes = 0;
|
|
|
- while (1)
|
|
|
- {
|
|
|
- m_ullBeginTime = GetTickCountRVC();
|
|
|
- retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_ISSUER, m_hDevHelper, preAIDs, activeCardType, m_issueStatus);
|
|
|
- m_ullEndTime = GetTickCountRVC();
|
|
|
- if (retDetectAndRead == -1)//only retry for active ic card failed!
|
|
|
- icRetryTimes++;
|
|
|
- else
|
|
|
- break;
|
|
|
- Sleep(500);
|
|
|
- if (icRetryTimes >= m_ICRetryTimes)
|
|
|
- break;
|
|
|
- }
|
|
|
+
|
|
|
+ m_ullBeginTime = GetTickCountRVC();
|
|
|
+ retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_ISSUER, m_hDevHelper, preAIDs, activeCardType, m_issueStatus);
|
|
|
+ m_ullEndTime = GetTickCountRVC();
|
|
|
if (pAIDTmp != NULL)
|
|
|
delete[]pAIDTmp;
|
|
|
}
|
|
|
@@ -5743,20 +5652,9 @@ int CCardIssuerFSM::PreOnlineJS_ReadViaRF(SpReqAnsContext<CardIssuerStandService
|
|
|
if (m_pCardProcess->FindTagValue(TAG_VECTOR_BUS, aidFromBus, false, 0) == -1)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<PreOnlineJS_RF>, the front BusinessData have not provide aid data.");
|
|
|
- int icRetryTimes = 0;
|
|
|
- while (1)
|
|
|
- {
|
|
|
- m_ullBeginTime = GetTickCountRVC();
|
|
|
- retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_ISSUER_RF, m_hDevHelper, m_aidList, activeCardType, m_issueStatus);
|
|
|
- m_ullEndTime = GetTickCountRVC();
|
|
|
- if (retDetectAndRead == -1)//only retry for active ic card failed!
|
|
|
- icRetryTimes++;
|
|
|
- else
|
|
|
- break;
|
|
|
- Sleep(500);
|
|
|
- if (icRetryTimes >= m_ICRetryTimes)
|
|
|
- break;
|
|
|
- }
|
|
|
+ m_ullBeginTime = GetTickCountRVC();
|
|
|
+ retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_ISSUER_RF, m_hDevHelper, m_aidList, activeCardType, m_issueStatus);
|
|
|
+ m_ullEndTime = GetTickCountRVC();
|
|
|
}
|
|
|
else {
|
|
|
char* pAIDTmp = new char[64];
|
|
|
@@ -5766,20 +5664,9 @@ int CCardIssuerFSM::PreOnlineJS_ReadViaRF(SpReqAnsContext<CardIssuerStandService
|
|
|
CAutoArray<CSimpleString> preAIDs;
|
|
|
preAIDs.Init(1);
|
|
|
preAIDs[0] = (CSimpleStringA)pAIDTmp;
|
|
|
- int icRetryTimes = 0;
|
|
|
- while (1)
|
|
|
- {
|
|
|
- m_ullBeginTime = GetTickCountRVC();
|
|
|
- retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_ISSUER_RF, m_hDevHelper, preAIDs, activeCardType, m_issueStatus);
|
|
|
- m_ullEndTime = GetTickCountRVC();
|
|
|
- if (retDetectAndRead == -1)//only retry for active ic card failed!
|
|
|
- icRetryTimes++;
|
|
|
- else
|
|
|
- break;
|
|
|
- Sleep(500);
|
|
|
- if (icRetryTimes >= m_ICRetryTimes)
|
|
|
- break;
|
|
|
- }
|
|
|
+ m_ullBeginTime = GetTickCountRVC();
|
|
|
+ retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_ISSUER_RF, m_hDevHelper, preAIDs, activeCardType, m_issueStatus);
|
|
|
+ m_ullEndTime = GetTickCountRVC();
|
|
|
if (pAIDTmp != NULL)
|
|
|
delete[]pAIDTmp;
|
|
|
}
|