|
|
@@ -8656,7 +8656,7 @@ int CCardIssuerFSM::ReadJS(SpReqAnsContext<CardIssuerStoreService_ReadJS_Req, Ca
|
|
|
|
|
|
//判断是否有卡,无卡则报错
|
|
|
LOG_FUNCTION();
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("读卡开始");
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("读卡开始");
|
|
|
long l_beginTime, l_endTime;
|
|
|
l_beginTime = GetTickCountRVC();
|
|
|
ErrorCodeEnum errCode = m_hDevHelper->GetDevStatus(m_devStatus);
|
|
|
@@ -8709,7 +8709,7 @@ int CCardIssuerFSM::ReadJS(SpReqAnsContext<CardIssuerStoreService_ReadJS_Req, Ca
|
|
|
ctx->Answer(Error_Succeed);//单磁条直接返回
|
|
|
}
|
|
|
else if (ICtype == 1 || ICtype == 3) {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("to PreOnline");//联机上电
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("to PreOnline");//联机上电
|
|
|
ctx->Ans.icState = 0;//默认值
|
|
|
ctx->Ans.icMode = -1;//默认值
|
|
|
if (m_bUseRFTillNext) {
|
|
|
@@ -8864,7 +8864,8 @@ int CCardIssuerFSM::ReadMag(SpReqAnsContext<CardIssuerStoreService_ReadJS_Req, C
|
|
|
long l_beginTime, l_endTime;
|
|
|
CSimpleString errMsg("");
|
|
|
errMsg = CSimpleString::Format("ReadCard, inParam: m_issueStatus:%d, m_currentHopper:%d", m_issueStatus, m_currentHopper);
|
|
|
- LogWarn(Severity_Low, Error_Unexpect, CardIssuerStore_UserErrorCode_ReadCard_Process, errMsg.GetData());
|
|
|
+ //LogWarn(Severity_Low, Error_Unexpect, CardIssuerStore_UserErrorCode_ReadCard_Process, errMsg.GetData());
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(errMsg.GetData());
|
|
|
|
|
|
MagTracks magTracks;
|
|
|
memset(magTracks.track[0].data, 0, sizeof(magTracks.track[0].data));
|
|
|
@@ -8951,9 +8952,10 @@ int CCardIssuerFSM::ReadMag(SpReqAnsContext<CardIssuerStoreService_ReadJS_Req, C
|
|
|
if (magTracks.track[1].data[i] == 0x3d || magTracks.track[1].data[i] == 0x3e || magTracks.track[1].data[i] == 0x44)// fixpoint (3d是=,3e是 >), 运通卡要考虑分隔符为D的情况
|
|
|
break;
|
|
|
}
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)(CSimpleString::Format("<ReadMag::MagRead>, split pos:%d", pos));
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(CSimpleString::Format("<ReadMag::MagRead>, split pos:%d", pos));
|
|
|
if (pos <= 0 || pos == magTracks.track[1].dwSize)
|
|
|
{
|
|
|
+ DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("<ReadMag::MagRead>, split track is err, pos:%d", pos);
|
|
|
//ctx->Ans.magStatus = 0;//失败
|
|
|
if (tmpMag2 != NULL)
|
|
|
{
|
|
|
@@ -9006,17 +9008,16 @@ int CCardIssuerFSM::ReadMag(SpReqAnsContext<CardIssuerStoreService_ReadJS_Req, C
|
|
|
tmpMag2 = NULL;
|
|
|
}
|
|
|
CSimpleString maskCardno = MaskCardno(m_currCardNo.GetData());
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<ReadCard::MagRead>, t2Account len:%d, %s", m_currCardNo.GetLength(), maskCardno.GetData());
|
|
|
-
|
|
|
+
|
|
|
CSimpleStringA cardInfo(true);
|
|
|
- cardInfo = CSimpleStringA::Format("cardBin:%s", maskCardno.GetData());
|
|
|
+ cardInfo = CSimpleStringA::Format("cardBin:%s , len:%d", maskCardno.GetData(), m_currCardNo.GetLength());
|
|
|
LogWarn(Severity_Low, Error_Unexpect, CardIssuerStore_UserErrorCode_CardBin, cardInfo.GetData());
|
|
|
|
|
|
- if (!ctx->Ans.track2.IsNullOrEmpty() && (pos + 8) < magTracks.track[1].dwSize)
|
|
|
- {
|
|
|
- cardInfo = CSimpleStringA::Format("cardServiceCode:%s", (ctx->Ans.track2.SubString(pos + 1, 7)).GetData());
|
|
|
- LogWarn(Severity_Low, Error_Unexpect, CardIssuerStore_UserErrorCode_Track2_ServiceCode, cardInfo.GetData());
|
|
|
- }
|
|
|
+ //if (!ctx->Ans.track2.IsNullOrEmpty() && (pos + 8) < magTracks.track[1].dwSize)
|
|
|
+ //{
|
|
|
+ // cardInfo = CSimpleStringA::Format("cardServiceCode:%s", (ctx->Ans.track2.SubString(pos + 1, 7)).GetData());
|
|
|
+ // LogWarn(Severity_Low, Error_Unexpect, CardIssuerStore_UserErrorCode_Track2_ServiceCode, cardInfo.GetData());
|
|
|
+ //}
|
|
|
|
|
|
break;
|
|
|
}
|
|
|
@@ -9037,7 +9038,7 @@ int CCardIssuerFSM::CheckCardType(CSimpleStringA cardNo, bool bReadMag, int& ICt
|
|
|
// 2b:其他情况(户口系统访问错(未走户口系统查或访问微服务失败或未返回介质类型或返回纯磁条卡),一律探测是否芯片卡
|
|
|
if (m_issueStatus && bReadMag)//发卡默认给芯片卡,且读到磁道(考虑卡片放错)
|
|
|
{
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<CheckCardType>, issueStatus is true and read mag OK");
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<CheckCardType>, issueStatus is true and read mag OK");
|
|
|
ICtype = 1;
|
|
|
}
|
|
|
else {
|
|
|
@@ -9045,9 +9046,9 @@ int CCardIssuerFSM::CheckCardType(CSimpleStringA cardNo, bool bReadMag, int& ICt
|
|
|
bool bMismatch = false;
|
|
|
//开关控制是否主机查询cardtype
|
|
|
if (m_eacQueryFlag == 1) {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<CheckCardType>, begin query host to check cardType");
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<CheckCardType>, begin query host to check cardType");
|
|
|
cardTypeFromHost = JudgeCardType(cardNo, bMismatch);//0:失败 1:复合 2:磁条 3:ic
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<CheckCardType>, cardTypeFromHost=%d", cardTypeFromHost);
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<CheckCardType>, cardTypeFromHost=%d", cardTypeFromHost);
|
|
|
}
|
|
|
if (cardTypeFromHost > 0 && cardTypeFromHost != 2)//户口系统返回非纯磁条介质类型
|
|
|
{
|
|
|
@@ -9059,7 +9060,7 @@ int CCardIssuerFSM::CheckCardType(CSimpleStringA cardNo, bool bReadMag, int& ICt
|
|
|
}
|
|
|
}
|
|
|
else {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<CheckCardType>, begin detect cardType");
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<CheckCardType>, begin detect cardType");
|
|
|
//主动探测
|
|
|
int activeCardType;
|
|
|
int icRetryTimes = 0;
|
|
|
@@ -9077,7 +9078,7 @@ int CCardIssuerFSM::CheckCardType(CSimpleStringA cardNo, bool bReadMag, int& ICt
|
|
|
if (icRetryTimes >= m_ICRetryTimes)
|
|
|
break;
|
|
|
}
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<CheckCardType::DetectIfICCard>, bIC:%d", bIC);
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<CheckCardType::DetectIfICCard>, bIC:%d", bIC);
|
|
|
if (!bIC) {
|
|
|
ErrorCodeEnum eErrCode = Error_Unexpect;
|
|
|
CSimpleStringA ApiName = "";
|
|
|
@@ -9162,7 +9163,7 @@ int CCardIssuerFSM::CheckCardType(CSimpleStringA cardNo, bool bReadMag, int& ICt
|
|
|
if (icRetryTimes >= m_ICRetryTimes)
|
|
|
break;
|
|
|
}
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<CheckCardType::DetectIfICCard_RF>, bIC:%d", bICRF);
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<CheckCardType::DetectIfICCard_RF>, bIC:%d", bICRF);
|
|
|
if (!bICRF) {
|
|
|
ErrorCodeEnum eErrCode = Error_Unexpect;
|
|
|
CSimpleStringA ApiName = "";
|
|
|
@@ -9191,7 +9192,7 @@ int CCardIssuerFSM::CheckCardType(CSimpleStringA cardNo, bool bReadMag, int& ICt
|
|
|
l_endTime = GetTickCountRVC();
|
|
|
|
|
|
if (eErr != Error_Succeed) {
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("CheckCardType::DeactContactlessICCard err");
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("CheckCardType::DeactContactlessICCard err");
|
|
|
SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_DeactContactlessICCard, "DevAdapter::DeactContactlessICCard", __FUNCTION__, false, l_endTime - l_beginTime, "", "");
|
|
|
}
|
|
|
else {
|
|
|
@@ -9215,7 +9216,8 @@ int CCardIssuerFSM::CheckCardType(CSimpleStringA cardNo, bool bReadMag, int& ICt
|
|
|
}
|
|
|
|
|
|
CSimpleStringA cardType = CSimpleStringA::Format("cardType:%d", ICtype);
|
|
|
- LogWarn(Severity_Low, Error_Unexpect, CardIssuerStore_UserErrorCode_CardType, cardType.GetData());
|
|
|
+ //LogWarn(Severity_Low, Error_Unexpect, CardIssuerStore_UserErrorCode_CardType, cardType.GetData());
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(cardType.GetData());
|
|
|
return 0;
|
|
|
}
|
|
|
|