Browse Source

Z991239-6274 #comment feat: 精简埋点日志

Signed-Off-By: commit-hook
刘文涛80174520 3 months ago
parent
commit
2755c73828

+ 24 - 26
DevAdapter/include/CardAssist.cpp

@@ -390,14 +390,14 @@ bool CCardProcess::DetectIfICCard(CardReadType eType, DeviceBaseClass *pCardX, i
 			QueryLastErr(eType, errMsg);
 			setCardAssistLastErr(eErr,errMsg,"DevAdapter::ContactIC");
 			errMsg = CSimpleStringA::Format("DetectIfICCard::ContactIC failed(%s):%s", SpStrError(eErr), errMsg.GetData());
-			if (eType == CARD_MACHINE_ISSUER) {
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ContactIC").setCostTime(l_endTime - l_beginTime).setResultCode("RTA23C7")("DetectIfICCard::ContactIC err=%s", SpStrError(eErr));
+			//if (eType == CARD_MACHINE_ISSUER) {
+			//	DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ContactIC").setCostTime(l_endTime - l_beginTime).setResultCode("RTA23C7")("DetectIfICCard::ContactIC err=%s", SpStrError(eErr));
 			//	LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_ContactIC_Failed, errMsg.GetData());
-			}
-			else {
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ContactIC").setCostTime(l_endTime - l_beginTime).setResultCode("RTA2WC7")("DetectIfICCard::ContactIC err=%s", SpStrError(eErr));
+			//}
+			//else {
+			//	DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ContactIC").setCostTime(l_endTime - l_beginTime).setResultCode("RTA2WC7")("DetectIfICCard::ContactIC err=%s", SpStrError(eErr));
 			//	LogWarn(Severity_Middle, Error_Unexpect, CardIssuerStore_UserErrorCode_ContactIC_Failed, errMsg.GetData());
-			}
+			//}
 		}
 		else {
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ContactIC").setCostTime(l_endTime - l_beginTime)("DetectIfICCard::ContactIC");
@@ -412,26 +412,24 @@ bool CCardProcess::DetectIfICCard(CardReadType eType, DeviceBaseClass *pCardX, i
 			QueryLastErr(eType, errMsg);
 			setCardAssistLastErr(eErr,errMsg,"DevAdapter::ActiveICCard");
 			errMsg = CSimpleStringA::Format("DetectIfICCard::ActiveICCard failed(%s):%s", SpStrError(eErr), errMsg.GetData());
-			if (eType == CARD_MACHINE_ISSUER) {
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ActiveICCard").setCostTime(l_endTime - l_beginTime).setResultCode("RTA23CT")("DetectIfICCard::ActiveICCard err=%s", SpStrError(eErr));
-
-				//if (bIssue) {
-				//	LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_IssueCard_ActiveICCard_Failed, errMsg.GetData());
-				//}
-				//else {
-				//	LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_ActiveICCard_Failed, errMsg.GetData());
-				//}
-			}
-			else {
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ActiveICCard").setCostTime(l_endTime - l_beginTime).setResultCode("RTA2WCT")("DetectIfICCard::ActiveICCard err=%s", SpStrError(eErr));
-
-				//if (bIssue) {
-				//	LogWarn(Severity_Middle, Error_Unexpect, CardIssuerStore_UserErrorCode_IssueCard_ActiveICCard_Failed, errMsg.GetData());
-				//}
-				//else {
-				//	LogWarn(Severity_Middle, Error_Unexpect, CardIssuerStore_UserErrorCode_ActiveICCard_Failed, errMsg.GetData());
-				//}
-			}
+			//if (eType == CARD_MACHINE_ISSUER) {
+			//	DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ActiveICCard").setCostTime(l_endTime - l_beginTime).setResultCode("RTA23CT")("DetectIfICCard::ActiveICCard err=%s", SpStrError(eErr));
+			//	if (bIssue) {
+			//		LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_IssueCard_ActiveICCard_Failed, errMsg.GetData());
+			//	}
+			//	else {
+			//		LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_ActiveICCard_Failed, errMsg.GetData());
+			//	}
+			//}
+			//else {
+			//	DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ActiveICCard").setCostTime(l_endTime - l_beginTime).setResultCode("RTA2WCT")("DetectIfICCard::ActiveICCard err=%s", SpStrError(eErr));
+			//	if (bIssue) {
+			//		LogWarn(Severity_Middle, Error_Unexpect, CardIssuerStore_UserErrorCode_IssueCard_ActiveICCard_Failed, errMsg.GetData());
+			//	}
+			//	else {
+			//		LogWarn(Severity_Middle, Error_Unexpect, CardIssuerStore_UserErrorCode_ActiveICCard_Failed, errMsg.GetData());
+			//	}
+			//}
 			pCardI->DeactivateICCard();
 			pCardI->ReleaseIC();
 			return false;

+ 79 - 45
Module/mod_CardIssuerStand/CardIssuerStandFSM.cpp

@@ -1486,7 +1486,7 @@ bool CCardIssuerFSM::GetDevStatus(bool bPrint)
 			//m_hDevHelper->GetLastErr(devErrInfo);
 			//DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("GetDevStatus errMsg:%s", devErrInfo.szErrMsg);
 			getDevInfoCount++;
-			Sleep(3000);
+			Sleep(300);
 		}
 	} while (getDevInfoCount < GET_DEV_STATUS_COUNT);
 	return false;
@@ -2769,7 +2769,9 @@ int CCardIssuerFSM::ReadCard_Contact(SpReqAnsContext<CardIssuerStandService_Read
 			int icRetryTimes = 0;
 			while (1)
 			{//for poor mag only card,we always retry...
-			bIC = m_pCardProcess->DetectIfICCard(CARD_MACHINE_ISSUER, m_hDevHelper, activeCardType);
+				l_beginTime = GetTickCountRVC();
+				bIC = m_pCardProcess->DetectIfICCard(CARD_MACHINE_ISSUER, m_hDevHelper, activeCardType);
+				l_endTime = GetTickCountRVC();
 				if (!bIC)
 					icRetryTimes++;
 				else
@@ -2779,6 +2781,15 @@ int CCardIssuerFSM::ReadCard_Contact(SpReqAnsContext<CardIssuerStandService_Read
 					break;
 			}
 			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<ReadCard::DetectIfICCard>, bIC:%d", bIC);
+			if (!bIC) {
+				ErrorCodeEnum eErrCode = Error_Unexpect;
+				CSimpleStringA ApiName = "";
+				CSimpleStringA alarmMsg = "";
+				CSimpleStringA csErrMsgWithReturnCode = "";
+				GetCardProcessLastErr(eErrCode, ApiName, alarmMsg, csErrMsgWithReturnCode);
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setResultCode("RTA23CT")(csErrMsgWithReturnCode.GetData());
+				LogWarn(Severity_Middle, Error_Unexpect, 0x2030000a, alarmMsg.GetData());
+			}
 			if (Error_Succeed == eMagReadErr && magTracks.track[1].eStatus == CI_DATA_OK)
 			{
 				if (bIC)
@@ -3033,7 +3044,9 @@ int CCardIssuerFSM::ReadCard_RF(SpReqAnsContext<CardIssuerStandService_Read_Req,
 			int icRetryTimes = 0;
 			while (1)
 			{//for poor mag only card,we always retry...
-			bIC = m_pCardProcess->DetectIfICCard(CARD_MACHINE_ISSUER_RF, m_hDevHelper, activeCardType);
+				l_beginTime = GetTickCountRVC();
+				bIC = m_pCardProcess->DetectIfICCard(CARD_MACHINE_ISSUER_RF, m_hDevHelper, activeCardType);
+				l_endTime = GetTickCountRVC();
 				if (!bIC)
 					icRetryTimes++;
 				else
@@ -3043,6 +3056,15 @@ int CCardIssuerFSM::ReadCard_RF(SpReqAnsContext<CardIssuerStandService_Read_Req,
 					break;
 			}
 			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<ReadCard::DetectIfICCard>, bIC:%d", bIC);
+			if (!bIC) {
+				ErrorCodeEnum eErrCode = Error_Unexpect;
+				CSimpleStringA ApiName = "";
+				CSimpleStringA alarmMsg = "";
+				CSimpleStringA csErrMsgWithReturnCode = "";
+				GetCardProcessLastErr(eErrCode, ApiName, alarmMsg, csErrMsgWithReturnCode);
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setResultCode("RTA23C6")(csErrMsgWithReturnCode.GetData());
+				LogWarn(Severity_Middle, Error_Unexpect, 0x20300017, alarmMsg.GetData());
+			}
 			if (!(bIC && activeCardType == 'A'))
 				bIC = false;
 			if (Error_Succeed == eMagReadErr && magTracks.track[1].eStatus == CI_DATA_OK)
@@ -3178,23 +3200,11 @@ int CCardIssuerFSM::PreOnline_Contact(SpReqAnsContext<CardIssuerStandService_Pre
 			xCardName = m_PsbNameEx[m_currentHopper - 1];
 		if (retDetectAndRead == -1)
 		{
-			ErrorCodeEnum lastErrCode = Error_Succeed;
-			CSimpleStringA lastErrMsg = "";
-			CSimpleStringA lastApiName = "";
-			m_pCardProcess->getCardAssistLastErr(lastErrCode, lastErrMsg, lastApiName);
-
-			
-			const CSimpleStringA alarmMsg = CSimpleStringA::Format("{\"Function\":\"%s\", \"DevApi\":\"%s\", \"ReturnCode\":\"%s\", \"Msg\":\"%s\", \"Context\":\"%s\"}"
-				, __FUNCTION__, lastApiName.GetData(), SpStrError(lastErrCode), lastErrMsg.GetData(), "");
-
-			std::map<std::string, std::string> msgInfo;
-			msgInfo["ReturnCode"] = SpStrError(lastErrCode);
-			msgInfo["ErrMsg"] = lastErrMsg.GetData();
-			msgInfo["Context"] = "";
-			std::pair<bool, std::string> strResult;
-			strResult = generateJsonStr(msgInfo);
-			CSimpleStringA csErrMsgWithReturnCode = strResult.second.c_str();
-
+			ErrorCodeEnum eErrCode = Error_Unexpect;
+			CSimpleStringA ApiName = "";
+			CSimpleStringA alarmMsg = "";
+			CSimpleStringA csErrMsgWithReturnCode = "";
+			GetCardProcessLastErr(eErrCode, ApiName, alarmMsg, csErrMsgWithReturnCode);
 
 			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_USER)("检测卡片类型时上电失败");
 			if (!IfUseRf())
@@ -3203,13 +3213,13 @@ int CCardIssuerFSM::PreOnline_Contact(SpReqAnsContext<CardIssuerStandService_Pre
 				{
 					if (m_issueStatus)
 					{
-						DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_USER).setAPI(lastApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220320").setResultCode("RTA230V")(csErrMsgWithReturnCode.GetData());
+						DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_USER).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220320").setResultCode("RTA230V")(csErrMsgWithReturnCode.GetData());
 						LogError(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_IssueCard_ActiveICCard_Failed, alarmMsg.GetData());
 						ctx->Answer(Error_Unexpect, CardIssuer_UserErrorCode_IssueCard_ActiveICCard_Failed);
 					}
 					else
 					{
-						DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_USER).setAPI(lastApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220303").setResultCode("RTA230M")(csErrMsgWithReturnCode.GetData());
+						DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_USER).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220303").setResultCode("RTA230M")(csErrMsgWithReturnCode.GetData());
 						LogError(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_ActiveICCard_Failed, alarmMsg.GetData());
 						ctx->Answer(Error_Unexpect, CardIssuer_UserErrorCode_ActiveICCard_Failed);
 					}
@@ -3218,13 +3228,13 @@ int CCardIssuerFSM::PreOnline_Contact(SpReqAnsContext<CardIssuerStandService_Pre
 				{
 					if (m_issueStatus)
 					{
-						DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setAPI(lastApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220320").setResultCode("RTA230V")(csErrMsgWithReturnCode.GetData());
+						DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220320").setResultCode("RTA230V")(csErrMsgWithReturnCode.GetData());
 						LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_IssueCard_ActiveICCard_Failed, alarmMsg.GetData());
 						ctx->Answer(Error_Unexpect, CardIssuer_UserErrorCode_IssueCard_ActiveICCard_Failed);
 					}
 					else
 					{
-						DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setAPI(lastApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220303").setResultCode("RTA230M")(csErrMsgWithReturnCode.GetData());
+						DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220303").setResultCode("RTA230M")(csErrMsgWithReturnCode.GetData());
 						LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_ActiveICCard_Failed, alarmMsg.GetData());
 						ctx->Answer(Error_Unexpect, CardIssuer_UserErrorCode_ActiveICCard_Failed);
 					}
@@ -3234,9 +3244,9 @@ int CCardIssuerFSM::PreOnline_Contact(SpReqAnsContext<CardIssuerStandService_Pre
 			else //非终态,还有非接兜底
 			{
 				if (m_issueStatus)
-					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setAPI(lastApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220320").setResultCode("RTA230V")(csErrMsgWithReturnCode.GetData());
+					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220320").setResultCode("RTA230V")(csErrMsgWithReturnCode.GetData());
 				else
-					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setAPI(lastApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220303").setResultCode("RTA230M")(csErrMsgWithReturnCode.GetData());
+					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220303").setResultCode("RTA230M")(csErrMsgWithReturnCode.GetData());
 			}
 		}
 		else if (retDetectAndRead == -2){
@@ -3567,21 +3577,11 @@ int CCardIssuerFSM::PreOnline_RF(SpReqAnsContext<CardIssuerStandService_PreOnlin
 		if (m_issueStatus && m_currentHopper - 1 >= 0)
 			xCardName = m_PsbNameEx[m_currentHopper - 1];
 		if (retDetectAndRead == -1) {
-			ErrorCodeEnum lastErrCode = Error_Succeed;
-			CSimpleStringA lastErrMsg = "";
-			CSimpleStringA lastApiName = "";
-			m_pCardProcess->getCardAssistLastErr(lastErrCode, lastErrMsg, lastApiName);
-
-			const CSimpleStringA alarmMsg = CSimpleStringA::Format("{\"Function\":\"%s\", \"DevApi\":\"%s\", \"ReturnCode\":\"%s\", \"Msg\":\"%s\", \"Context\":\"%s\"}"
-				, __FUNCTION__, lastApiName.GetData(), SpStrError(lastErrCode), lastErrMsg.GetData(), "");
-
-			std::map<std::string, std::string> msgInfo;
-			msgInfo["ReturnCode"] = SpStrError(lastErrCode);
-			msgInfo["ErrMsg"] = lastErrMsg.GetData();
-			msgInfo["Context"] = "";
-			std::pair<bool, std::string> strResult;
-			strResult = generateJsonStr(msgInfo);
-			CSimpleStringA csErrMsgWithReturnCode = strResult.second.c_str();
+			ErrorCodeEnum eErrCode = Error_Unexpect;
+			CSimpleStringA ApiName = "";
+			CSimpleStringA alarmMsg = "";
+			CSimpleStringA csErrMsgWithReturnCode = "";
+			GetCardProcessLastErr(eErrCode, ApiName, alarmMsg, csErrMsgWithReturnCode);
 
 			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_USER)("检测卡片类型时上电失败(非接)");
 
@@ -3589,12 +3589,12 @@ int CCardIssuerFSM::PreOnline_RF(SpReqAnsContext<CardIssuerStandService_PreOnlin
 			{
 				if (IsInBusiness())
 				{
-					DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_USER).setAPI(lastApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220320").setResultCode("RTA2327")(csErrMsgWithReturnCode.GetData());
+					DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_USER).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220320").setResultCode("RTA2327")(csErrMsgWithReturnCode.GetData());
 					LogError(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_IssueCard_ActiveRF_Failed, alarmMsg.GetData());
 				}
 				else
 				{
-					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setAPI(lastApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220320").setResultCode("RTA2327")(csErrMsgWithReturnCode.GetData());
+					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220320").setResultCode("RTA2327")(csErrMsgWithReturnCode.GetData());
 					LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_IssueCard_ActiveRF_Failed, alarmMsg.GetData());
 				}
 				ctx->Answer(Error_Unexpect, CardIssuer_UserErrorCode_IssueCard_ActiveRF_Failed);
@@ -3603,12 +3603,12 @@ int CCardIssuerFSM::PreOnline_RF(SpReqAnsContext<CardIssuerStandService_PreOnlin
 			{
 				if (IsInBusiness())
 				{
-					DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_USER).setAPI(lastApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220303").setResultCode("RTA2326")(csErrMsgWithReturnCode.GetData());
+					DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_USER).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220303").setResultCode("RTA2326")(csErrMsgWithReturnCode.GetData());
 					LogError(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_ActiveContactlessICCard_Failed, alarmMsg.GetData());
 				}
 				else
 				{
-					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setAPI(lastApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220303").setResultCode("RTA2326")(csErrMsgWithReturnCode.GetData());
+					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220303").setResultCode("RTA2326")(csErrMsgWithReturnCode.GetData());
 					LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_ActiveContactlessICCard_Failed, alarmMsg.GetData());
 				}
 				ctx->Answer(Error_Unexpect, CardIssuer_UserErrorCode_ActiveContactlessICCard_Failed);
@@ -4449,7 +4449,9 @@ bool CCardIssuerFSM::JustReadCardNo()
 	m_currCardNo = "";
 	bool bHasAccount = false;
 	int activeCardType;
+	l_beginTime = GetTickCountRVC();
 	bool bIC = m_pCardProcess->DetectIfICCard(CARD_MACHINE_ISSUER, m_hDevHelper, activeCardType);
+	l_endTime = GetTickCountRVC();
 	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("DetectIfICCard, bIC:%d, activeCardType:%d", bIC, activeCardType));
 
 	if (bIC)
@@ -4510,6 +4512,15 @@ bool CCardIssuerFSM::JustReadCardNo()
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ReleaseIC").setCostTime(l_endTime - l_beginTime)("JustReadCardNo::ReleaseIC");
 		}
 	}
+	else {
+		ErrorCodeEnum eErrCode = Error_Unexpect;
+		CSimpleStringA ApiName = "";
+		CSimpleStringA alarmMsg = "";
+		CSimpleStringA csErrMsgWithReturnCode = "";
+		GetCardProcessLastErr(eErrCode, ApiName, alarmMsg, csErrMsgWithReturnCode);
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setResultCode("RTA23CT")(csErrMsgWithReturnCode.GetData());
+		LogWarn(Severity_Middle, Error_Unexpect, 0x2030000a, alarmMsg.GetData());
+	}
 	if (!bHasAccount)
 	{
 		MagTracks magTracks;
@@ -6138,7 +6149,9 @@ int CCardIssuerFSM::CheckCardType(CSimpleStringA cardNo, bool bReadMag, int& ICt
 			bool bIC(false);
 			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
@@ -6148,6 +6161,15 @@ int CCardIssuerFSM::CheckCardType(CSimpleStringA cardNo, bool bReadMag, int& ICt
 					break;
 			}
 			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<CheckCardType::DetectIfICCard>, bIC:%d", bIC);
+			if (!bIC) {
+				ErrorCodeEnum eErrCode = Error_Unexpect;
+				CSimpleStringA ApiName = "";
+				CSimpleStringA alarmMsg = "";
+				CSimpleStringA csErrMsgWithReturnCode = "";
+				GetCardProcessLastErr(eErrCode, ApiName, alarmMsg, csErrMsgWithReturnCode);
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setResultCode("RTA23CT")(csErrMsgWithReturnCode.GetData());
+				LogWarn(Severity_Middle, Error_Unexpect, 0x2030000a, alarmMsg.GetData());
+			}
 
 			//ic探测成功,0.无磁条IC 1.复合 2.磁条 3.纯IC 
 			if (bIC) {
@@ -6217,7 +6239,9 @@ int CCardIssuerFSM::CheckCardType(CSimpleStringA cardNo, bool bReadMag, int& ICt
 					bool bICRF(false);
 					while (1)
 					{//for poor mag only card,we always retry...
+						l_beginTime = GetTickCountRVC();
 						bICRF = m_pCardProcess->DetectIfICCard(CARD_MACHINE_ISSUER_RF, m_hDevHelper, activeCardType);
+						l_endTime = GetTickCountRVC();
 						if (!bICRF)
 							icRetryTimes++;
 						else
@@ -6227,6 +6251,16 @@ int CCardIssuerFSM::CheckCardType(CSimpleStringA cardNo, bool bReadMag, int& ICt
 							break;
 					}
 					DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<CheckCardType::DetectIfICCard_RF>, bIC:%d", bICRF);
+					if (!bICRF) {
+						ErrorCodeEnum eErrCode = Error_Unexpect;
+						CSimpleStringA ApiName = "";
+						CSimpleStringA alarmMsg = "";
+						CSimpleStringA csErrMsgWithReturnCode = "";
+						GetCardProcessLastErr(eErrCode, ApiName, alarmMsg, csErrMsgWithReturnCode);
+						DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setResultCode("RTA23C6")(csErrMsgWithReturnCode.GetData());
+						LogWarn(Severity_Middle, Error_Unexpect, 0x20300017, alarmMsg.GetData());
+					}
+
 					if (!(bICRF && activeCardType == 'A')) {
 						bICRF = false;
 					}

+ 0 - 1
Module/mod_CardIssuerStand/CardIssuerStandFSM.h

@@ -1129,7 +1129,6 @@ private:
 	bool IfUseRf();
 	CSimpleStringA m_EacQueryHost, m_csSwallowCardUrl, m_csSyncMaterialUrl;
 	MagTracks m_magTracks;
-
 public:
 	int EjectJS(SpReqAnsContext<CardIssuerStandService_EjectJS_Req, CardIssuerStandService_EjectJS_Ans>::Pointer ctx);
 

+ 23 - 17
Module/mod_ContactlessCard/ContactlessFSM.cpp

@@ -681,7 +681,7 @@ ErrorCodeEnum CContactlessCardFSM::OnExit()
 		l_beginTime = SP::Module::Comm::RVCGetTickCount();
 		eExit = m_hDevHelper->GetDevStatus(devStatus);
 		l_endTime = SP::Module::Comm::RVCGetTickCount();
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("OnExit::GetDevStatus eMedia:%d, eErr:%d", devStatus.eMediaPos, eExit);
+		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("OnExit::GetDevStatus eMedia:%d, eErr:%d", devStatus.eMediaPos, eExit);
 		if (eExit == Error_Succeed)
 		{
 			if (devStatus.eMediaPos == CI_MEDIA_PRESENT){
@@ -807,22 +807,28 @@ bool CContactlessCardFSM::GetDevStatus(bool bPrint)
 		l_beginTime = SP::Module::Comm::RVCGetTickCount();
 		eErr = m_hDevHelper->GetDevStatus(devStatus);
 		l_endTime = SP::Module::Comm::RVCGetTickCount();
-		if (bPrint)
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("GetDevStatus eMedia:%d, eErr:%d", devStatus.eMediaPos, eErr);
+		//if (bPrint)
+		//	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("GetDevStatus eMedia:%d, eErr:%d", devStatus.eMediaPos, eErr);
 		if (Error_Succeed == eErr) {
+			if (bPrint) {
+				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::GetDevStatus").setCostTime(l_endTime - l_beginTime)("GetDevStatus eMedia:%d", devStatus.eMediaPos);
+			}
 			return true;
 		}
 		else
 		{
-			DevErrorInfo devErrInfo;
-			m_hDevHelper->GetLastErr(devErrInfo);
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("GetDevStatus, errMsg:%s",devErrInfo.szErrMsg);
+			//DevErrorInfo devErrInfo;
+			//m_hDevHelper->GetLastErr(devErrInfo);
+			//DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("GetDevStatus, errMsg:%s",devErrInfo.szErrMsg);
+			if (bPrint) {
+				SetErrorAndLog(eErr, MEC_DEVAPI_RF_GetDevStatus, "DevAdapter::GetDevStatus", __FUNCTION__, false, l_endTime - l_beginTime, "", "");
+			}
 			getDevInfoCount++;
 			Sleep(3000);
 		}
 	} while (getDevInfoCount < GET_DEV_STATUS_COUNT);
 
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("getdevstatus to reset");
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("get devstatus to reset");
 	eErr = m_hDevHelper->Reset();
 	Sleep(MAX_RESET_TIMEROUT);
 	if (eErr == Error_Succeed)
@@ -976,7 +982,7 @@ int CContactlessCardFSM::AcceptCard(SpReqAnsContext<ContactlessCardService_Inser
 			int retDetectAndRead = -1;
 			if (!ctx->Req.aid.IsNullOrEmpty())
 			{
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("front business provide aid:[%s]",(const char*)ctx->Req.aid);
+				DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("front business provide aid:[%s]",(const char*)ctx->Req.aid);
 				CAutoArray<CSimpleStringA> aidReq;
 				aidReq.Init(1);
 				aidReq[0] = ctx->Req.aid;
@@ -1701,17 +1707,17 @@ int CContactlessCardFSM::EjectJS(SpReqAnsContext<ContactlessCardService_EjectJS_
 			}
 		}
 		else {
-			getDevInfoCount++;
-			if (getDevInfoCount % 10 == 0) {
-				DevErrorInfo devErrInfo;
-				m_hDevHelper->GetLastErr(devErrInfo);
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("GetDevStatus, errMsg:%s", devErrInfo.szErrMsg);
-			}
+			//getDevInfoCount++;
+			//if (getDevInfoCount % 10 == 0) {
+			//	DevErrorInfo devErrInfo;
+			//	m_hDevHelper->GetLastErr(devErrInfo);
+			//	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("GetDevStatus, errMsg:%s", devErrInfo.szErrMsg);
+			//}
 		}
 		Sleep(WAIT_INTERVAL);
 	}
 	LogEvent(Severity_Middle, LOG_EVT_CONTACTLESS_CARD_GREEN_OFF, "ContactCard(fetch) warning off");
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("eject return.ret=%d",ret);
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("eject return.ret=%d",ret);
 	if (ctx != NULL) {
 		if (ret == 0) {
 			ctx->Answer(Error_Succeed);
@@ -1867,7 +1873,7 @@ int CContactlessCardFSM::PreOnlineJS(SpReqAnsContext<ContactlessCardService_Read
 	LOG_FUNCTION();
 	long l_beginTime, l_endTime;
 	m_pCardProcess->DataInit();
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<PreOnlineJS>, aid[%s], bus data[%s]", ctx->Req.aid.GetData(),ctx->Req.businessData.GetData());
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<PreOnlineJS>, aid[%s], bus data[%s]", ctx->Req.aid.GetData(),ctx->Req.businessData.GetData());
 	m_pCardProcess->SplitBusinessData(ctx->Req.businessData, ctx->Req.businessData.GetLength());
 	m_pCardProcess->SplitBusinessData("DF690101", strlen("DF690101"));
 	int activeCardType;
@@ -1876,7 +1882,7 @@ int CContactlessCardFSM::PreOnlineJS(SpReqAnsContext<ContactlessCardService_Read
 	ICData aidFromBus(false, 0x4f, 0x00);
 	if (m_pCardProcess->FindTagValue(TAG_VECTOR_BUS, aidFromBus, false, 0) == -1)
 	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("the front BusinessData han't provide aid data.");
+		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("the front BusinessData han't provide aid data.");
 		retDetectAndRead = m_pCardProcess->DetectAndReadICData(CARD_MACHINE_RFIC, m_hDevHelper, m_aidList, activeCardType);
 
 	}

+ 1 - 1
Module/mod_ContactlessCard/mod_ContactlessCard.cpp

@@ -87,7 +87,7 @@ void ContactlessCardServerSession::Handle_ReadJS(SpReqAnsContext<ContactlessCard
 {
 	LOG_FUNCTION();
 	DbgToBeidou(ctx->link, __FUNCTION__)();
-	DbgWithLink(LOG_LEVEL_INFO, ctx->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER).setAPI(__FUNCTION__)("Invoke ReadJS");
+	DbgWithLink(LOG_LEVEL_INFO, ctx->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER).setAPI(__FUNCTION__)("Invoke ReadJS req.aid=%s, req.business=%s", ctx->Req.aid.GetData(), ctx->Req.businessData.GetData());
 	m_pEntity->ReadJS(ctx);
 }
 void ContactlessCardServerSession::Handle_PostOnlineJS(SpReqAnsContext<ContactlessCardService_PostOnlineJS_Req, ContactlessCardService_PostOnlineJS_Ans>::Pointer ctx)

+ 56 - 2
Module/mod_cardissuerstore/CardIssuerFSM.cpp

@@ -2943,7 +2943,9 @@ int CCardIssuerFSM::ReadCard_Contact(SpReqAnsContext<CardIssuerStoreService_Read
 			int icRetryTimes = 0;
 			while (1)
 			{//for poor mag only card,we always retry...
-			bIC = m_pCardProcess->DetectIfICCard(CARD_MACHINE_ISSUER_STORE, m_hDevHelper, activeCardType);
+				l_beginTime = GetTickCountRVC();
+				bIC = m_pCardProcess->DetectIfICCard(CARD_MACHINE_ISSUER_STORE, m_hDevHelper, activeCardType);
+				l_endTime = GetTickCountRVC();
 				if (!bIC)
 					icRetryTimes++;
 				else
@@ -2953,6 +2955,15 @@ int CCardIssuerFSM::ReadCard_Contact(SpReqAnsContext<CardIssuerStoreService_Read
 					break;
 			}
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<ReadCard::DetectIfICCard>, bIC:%d", bIC);
+			if (!bIC) {
+				ErrorCodeEnum eErrCode = Error_Unexpect;
+				CSimpleStringA ApiName = "";
+				CSimpleStringA alarmMsg = "";
+				CSimpleStringA csErrMsgWithReturnCode = "";
+				GetCardProcessLastErr(eErrCode, ApiName, alarmMsg, csErrMsgWithReturnCode);
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setResultCode("RTA2WCT")(csErrMsgWithReturnCode.GetData());
+				LogWarn(Severity_Middle, Error_Unexpect, 0x2200000a, alarmMsg.GetData());
+			}
 			if (Error_Succeed == eMagReadErr && magTracks.track[1].eStatus == CI_DATA_OK)
 			{
 				if (bIC)
@@ -3208,7 +3219,9 @@ int CCardIssuerFSM::ReadCard_RF(SpReqAnsContext<CardIssuerStoreService_Read_Req,
 			int icRetryTimes = 0;
 			while (1)
 			{//for poor mag only card,we always retry...
-			bIC = m_pCardProcess->DetectIfICCard(CARD_MACHINE_ISSUER_STORE_RF, m_hDevHelper, activeCardType);
+				l_beginTime = GetTickCountRVC();
+				bIC = m_pCardProcess->DetectIfICCard(CARD_MACHINE_ISSUER_STORE_RF, m_hDevHelper, activeCardType);
+				l_endTime = GetTickCountRVC();
 				if (!bIC)
 					icRetryTimes++;
 				else
@@ -3218,6 +3231,15 @@ int CCardIssuerFSM::ReadCard_RF(SpReqAnsContext<CardIssuerStoreService_Read_Req,
 					break;
 			}
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<ReadCard::DetectIfICCard>, bIC:%d", bIC);
+			if (!bIC) {
+				ErrorCodeEnum eErrCode = Error_Unexpect;
+				CSimpleStringA ApiName = "";
+				CSimpleStringA alarmMsg = "";
+				CSimpleStringA csErrMsgWithReturnCode = "";
+				GetCardProcessLastErr(eErrCode, ApiName, alarmMsg, csErrMsgWithReturnCode);
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setResultCode("RTA2WC6")(csErrMsgWithReturnCode.GetData());
+				LogWarn(Severity_Middle, Error_Unexpect, 0x22000017, alarmMsg.GetData());
+			}
 			if (!(bIC && activeCardType == 'A'))
 				bIC = false;
 			if (Error_Succeed == eMagReadErr && magTracks.track[1].eStatus == CI_DATA_OK)
@@ -4896,7 +4918,9 @@ bool CCardIssuerFSM::JustReadCardNo()
 	m_currCardNo = "";
 	bool bHasAccount = false;
 	int activeCardType;
+	l_beginTime = GetTickCountRVC();
 	bool bIC = m_pCardProcess->DetectIfICCard(CARD_MACHINE_ISSUER_STORE, m_hDevHelper, activeCardType);
+	l_endTime = GetTickCountRVC();
 	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("DetectIfICCard, bIC:%d, activeCardType:%d", bIC, activeCardType);
 
 	if (bIC)
@@ -4958,6 +4982,15 @@ bool CCardIssuerFSM::JustReadCardNo()
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::ReleaseIC").setCostTime(l_endTime - l_beginTime)("JustReadCardNo::ReleaseIC");
 		}
 	}
+	else {
+		ErrorCodeEnum eErrCode = Error_Unexpect;
+		CSimpleStringA ApiName = "";
+		CSimpleStringA alarmMsg = "";
+		CSimpleStringA csErrMsgWithReturnCode = "";
+		GetCardProcessLastErr(eErrCode, ApiName, alarmMsg, csErrMsgWithReturnCode);
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setResultCode("RTA2WCT")(csErrMsgWithReturnCode.GetData());
+		LogWarn(Severity_Middle, Error_Unexpect, 0x2200000a, alarmMsg.GetData());
+	}
 	if (!bHasAccount)
 	{
 		MagTracks magTracks;
@@ -9062,7 +9095,9 @@ int CCardIssuerFSM::CheckCardType(CSimpleStringA cardNo, bool bReadMag, int& ICt
 			bool bIC(false);
 			while (1)
 			{//for poor mag only card,we always retry...
+				l_beginTime = GetTickCountRVC();
 				bIC = m_pCardProcess->DetectIfICCard(CARD_MACHINE_ISSUER_STORE, m_hDevHelper, activeCardType);
+				l_endTime = GetTickCountRVC();
 				if (!bIC)
 					icRetryTimes++;
 				else
@@ -9072,6 +9107,15 @@ int CCardIssuerFSM::CheckCardType(CSimpleStringA cardNo, bool bReadMag, int& ICt
 					break;
 			}
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<CheckCardType::DetectIfICCard>, bIC:%d", bIC);
+			if (!bIC) {
+				ErrorCodeEnum eErrCode = Error_Unexpect;
+				CSimpleStringA ApiName = "";
+				CSimpleStringA alarmMsg = "";
+				CSimpleStringA csErrMsgWithReturnCode = "";
+				GetCardProcessLastErr(eErrCode, ApiName, alarmMsg, csErrMsgWithReturnCode);
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setResultCode("RTA2WCT")(csErrMsgWithReturnCode.GetData());
+				LogWarn(Severity_Middle, Error_Unexpect, 0x2200000a, alarmMsg.GetData());
+			}
 
 			//ic探测成功,0.无磁条IC 1.复合 2.磁条 3.纯IC 
 			if (bIC) {
@@ -9148,6 +9192,16 @@ int CCardIssuerFSM::CheckCardType(CSimpleStringA cardNo, bool bReadMag, int& ICt
 							break;
 					}
 					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("<CheckCardType::DetectIfICCard_RF>, bIC:%d", bICRF);
+					if (!bICRF) {
+						ErrorCodeEnum eErrCode = Error_Unexpect;
+						CSimpleStringA ApiName = "";
+						CSimpleStringA alarmMsg = "";
+						CSimpleStringA csErrMsgWithReturnCode = "";
+						GetCardProcessLastErr(eErrCode, ApiName, alarmMsg, csErrMsgWithReturnCode);
+						DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(ApiName.GetData()).setCostTime(l_endTime - l_beginTime).setResultCode("RTA2WC6")(csErrMsgWithReturnCode.GetData());
+						LogWarn(Severity_Middle, Error_Unexpect, 0x22000017, alarmMsg.GetData());
+					}
+
 					if (!(bICRF && activeCardType == 'A')) {
 						bICRF = false;
 					}