Browse Source

Z991239-6454 #comment feat: 去掉异常情况下的告警,改为统一日志。此情况属于IC交互过程的关键过程数据,没有必要单独走告警

oilyang 1 month ago
parent
commit
73011cb7c2
2 changed files with 34 additions and 37 deletions
  1. 8 14
      DevAdapter/include/CardAssist.cpp
  2. 26 23
      Module/mod_CardIssuerStand/CardIssuerStandFSM.cpp

+ 8 - 14
DevAdapter/include/CardAssist.cpp

@@ -787,8 +787,8 @@ ErrorCodeEnum CCardProcess::BuildSupportedAppList(CardReadType eType,DeviceBaseC
 			if (recvBuf[lenRecv-2] == 0x6a && recvBuf[lenRecv-1] == 0x81)
 			{
 				//6A81 - 卡片被锁或命令不支持;
-				//以上情况中止交易oiltmp
-				LogWarn(Severity_Middle, Error_Unexpect, errICCommand, "<BuildSupportedAppList>, Build from PSE return 6a81,to term trans.");
+				//以上情况中止交易
+				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("Build from PSE return 6a81,to term trans.");
 				return Error_DevMedia;
 				//return Error_Interact;//20220526@zjw 这里暂时按照需要循环重试来返回。这里实际应该是卡片数据问题,但部分厂商处理有问题,导致卡片时正常的,但快速拿走时,导致这里的数据异常
 			}
@@ -798,8 +798,7 @@ ErrorCodeEnum CCardProcess::BuildSupportedAppList(CardReadType eType,DeviceBaseC
 				//——情形 1:PSE 未找到,即卡片不支持目录选择方法; 
 				//——情形 2:P2 设为读取具有相同 AID 前缀的其它应用时卡片中已没有其它应用。 
 				//6283 - 选择文件无效。
-				errMsg = CSimpleStringA::Format("<BuildSupportedAppList>, Build from PSE failed. recv data:%x,%x", recvBuf[lenRecv-2], recvBuf[lenRecv-1]);
-				LogWarn(Severity_Middle, Error_Unexpect, errICCommand, errMsg.GetData());
+				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("Build from PSE failed. recv data:%x,%x", recvBuf[lenRecv - 2], recvBuf[lenRecv - 1]);
 
 				delete[] recvBuf;
 				return BuildAppListByAIDs(eType,pCardX,vAIDFromTerm);			
@@ -1261,8 +1260,7 @@ ErrorCodeEnum CCardProcess::AppSelected(CardReadType eType,DeviceBaseClass *pCar
 				errICCommand = ContactlessCard_UserErrorCode_ICCommand_RecvData_Invalid;
 				break;
 			}
-			errMsg = CSimpleStringA::Format("<AppSelected>, app selected failed. end data not 9000:%x,%x",recvBuf[lenRecv-2],recvBuf[lenRecv-1]);
-			LogWarn(Severity_Middle, Error_Unexpect, errICCommand, errMsg.GetData());
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("app selected failed. end data not 9000:%x,%x", recvBuf[lenRecv - 2], recvBuf[lenRecv - 1]);
 			return Error_DevCommFailed;
 			//return Error_Interact;//这里暂时按照需要循环重试来返回。这里实际应该是卡片数据问题,但部分厂商处理有问题,导致卡片时正常的,但快速拿走时,导致这里的数据异常
 		}
@@ -2727,10 +2725,8 @@ int CCardProcess::GetICDataFromCard(CardReadType eType,DeviceBaseClass *pCardX,
 	{
 		int aidLen = StrBuf2HexBuf(pAIDs[index].GetData(),&aidData.aid);
 		aidData.len = aidLen;
-		char* aidTest = new char[128];
-		int aidStrLen = HexBuf2StrBuf(aidData.aid,&aidTest,5);
-		//DbgInfo(CSimpleStringA::Format("<GetICDataFromCard>, aid[%s][%s]",pAIDs[index].GetData(),aidTest));
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<GetICDataFromCard>, aid[%s][%s]", pAIDs[index].GetData(), aidTest);
+
+		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("<GetICDataFromCard>, aid[%s]", pAIDs[index].GetData());
 		vector<AIDData> vAIDs;
 		vAIDs.push_back(aidData);
 
@@ -2765,8 +2761,7 @@ int CCardProcess::GetICDataFromCard(CardReadType eType,DeviceBaseClass *pCardX,
 		if (eErr != Error_Succeed)
 		{
 			QueryLastErr(eType, errMsg);
-			errMsg = CSimpleStringA::Format("GetICDataFromCard::BuildSupportedAppList failed(%d):%s.", eErr, errMsg.GetData());
-			LogWarn(Severity_Middle, Error_Unexpect, errBuildAppList, errMsg.GetData());
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("BuildSupportedAppList failed(%d):%s.", eErr, errMsg.GetData());
 			if(eErr == Error_Interact)
 				return -2;
 			else
@@ -2779,8 +2774,7 @@ int CCardProcess::GetICDataFromCard(CardReadType eType,DeviceBaseClass *pCardX,
 		else
 		{
 			QueryLastErr(eType, errMsg);
-			errMsg = CSimpleStringA::Format("GetICDataFromCard::AppSelected failed(%d):%s.", eErr, errMsg.GetData());
-			LogWarn(Severity_Middle, Error_Unexpect, errBuildAppList, errMsg.GetData());
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("AppSelected failed(%d):%s.", eErr, errMsg.GetData());
 			if(eErr == Error_Interact)
 				return -2;
 			else

+ 26 - 23
Module/mod_CardIssuerStand/CardIssuerStandFSM.cpp

@@ -77,8 +77,8 @@ void CCardIssuerFSM::s0_on_exit()
 
 unsigned int CCardIssuerFSM::s0_on_event(FSMEvent* pEvt)
 {
-	LOG_FUNCTION();
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("s0 evt (%d,%d)", pEvt->iEvt, pEvt->param1);
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s evt (%d,%d)", GetCurrStateName(), pEvt->iEvt, pEvt->param1);
+
 	switch (pEvt->iEvt)
 	{
 	case USER_EVT_INIT:
@@ -107,21 +107,20 @@ void CCardIssuerFSM::s1_on_exit()
 {
 	LOG_FUNCTION();
 }
-unsigned int CCardIssuerFSM::s1_on_event(FSMEvent* event)
+unsigned int CCardIssuerFSM::s1_on_event(FSMEvent* pEvt)
 {
-	LOG_FUNCTION();
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("s1 evt (%d,%d)", event->iEvt, event->param1));
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s evt (%d,%d)", GetCurrStateName(), pEvt->iEvt, pEvt->param1);
 
-	if (event->iEvt == USER_EVT_INITFINISHED) {
-		event->SetHandled();
-		int err = event->param1;
+	if (pEvt->iEvt == USER_EVT_INITFINISHED) {
+		pEvt->SetHandled();
+		int err = pEvt->param1;
 		if (err == 0) {
 			return 0;
 		} else {
 			return 1;
 		}
-	}else if (event->iEvt == USER_EVT_QUIT) {
-		event->SetHandled();
+	}else if (pEvt->iEvt == USER_EVT_QUIT) {
+		pEvt->SetHandled();
 		return 0;
 	}
 	return 0;
@@ -143,7 +142,7 @@ void CCardIssuerFSM::s2_on_exit()
 
 unsigned int CCardIssuerFSM::s2_on_event(FSMEvent* pEvt)
 {
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("s2 evt (%d,%d)", pEvt->iEvt, pEvt->param1));
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s evt (%d,%d)", GetCurrStateName(), pEvt->iEvt, pEvt->param1);
 
 	int ret = 0;
 	switch (pEvt->iEvt)
@@ -341,7 +340,7 @@ void CCardIssuerFSM::s3_on_exit()
 }
 unsigned int CCardIssuerFSM::s3_on_event(FSMEvent* pEvt)
 {
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("s3 evt(%d,%d)", pEvt->iEvt, pEvt->param1);
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s evt (%d,%d)", GetCurrStateName(), pEvt->iEvt, pEvt->param1);
 	int ret = 0;
 	switch(pEvt->iEvt)
 	{
@@ -426,7 +425,7 @@ void CCardIssuerFSM::s4_on_exit()
 }
 unsigned int CCardIssuerFSM::s4_on_event(FSMEvent* pEvt)
 {
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("s4 evt (%d,%d)", pEvt->iEvt, pEvt->param1));
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s evt (%d,%d)", GetCurrStateName(), pEvt->iEvt, pEvt->param1);
 
 	switch(pEvt->iEvt){
 		case USER_EVT_JS_READ:
@@ -708,7 +707,7 @@ void CCardIssuerFSM::s5_on_exit()
 }
 unsigned int CCardIssuerFSM::s5_on_event(FSMEvent* pEvt)
 {
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("s5 evt (%d,%d)", pEvt->iEvt, pEvt->param1);
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s evt (%d,%d)", GetCurrStateName(), pEvt->iEvt, pEvt->param1);
 	int ret = 0;
 	switch(pEvt->iEvt)
 	{
@@ -747,6 +746,10 @@ unsigned int CCardIssuerFSM::s5_on_event(FSMEvent* pEvt)
 			pEvt->SetHandled();
 			ret = 0;
 		}
+	case USER_EVT_PREONLINEFINISHED:
+		pEvt->SetHandled();
+		ret = 0;
+		break;
 	default:
 		FSMEventDefaultProcess(pEvt, CardIssuer_UserErrorCode_PROCESS_READ);
 		break;
@@ -764,7 +767,7 @@ void CCardIssuerFSM::s6_on_exit()
 }
 unsigned int CCardIssuerFSM::s6_on_event(FSMEvent* pEvt)
 {
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("s6 evt (%d,%d)", pEvt->iEvt, pEvt->param1));
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s evt (%d,%d)", GetCurrStateName(), pEvt->iEvt, pEvt->param1);
 	switch (pEvt->iEvt)
 	{
 	case USER_EVT_EJECTFINISHED:
@@ -813,7 +816,7 @@ void CCardIssuerFSM::s7_on_exit()
 }
 unsigned int CCardIssuerFSM::s7_on_event(FSMEvent* pEvt)
 {
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("s7 evt (%d, %d)", pEvt->iEvt, pEvt->param1);
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s evt (%d,%d)", GetCurrStateName(), pEvt->iEvt, pEvt->param1);
 	switch (pEvt->iEvt)
 	{
 	case USER_EVT_WAITFINISHED:
@@ -1000,7 +1003,7 @@ void CCardIssuerFSM::s8_on_exit()
 }
 unsigned int CCardIssuerFSM::s8_on_event(FSMEvent* pEvt)
 {
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("s8 evt (%d,%d)", pEvt->iEvt, pEvt->param1));
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s evt (%d,%d)", GetCurrStateName(), pEvt->iEvt, pEvt->param1);
 	switch (pEvt->iEvt)
 	{
 	case USER_EVT_CAPTUREFINISHED:
@@ -1052,7 +1055,7 @@ void CCardIssuerFSM::s9_on_exit()
 }
 unsigned int CCardIssuerFSM::s9_on_event(FSMEvent* pEvt)
 {
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("s9 evt (%d,%d)", pEvt->iEvt, pEvt->param1));
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s evt (%d,%d)", GetCurrStateName(), pEvt->iEvt, pEvt->param1);
 	switch(pEvt->iEvt)
 	{
 	case USER_EVT_QUIT:
@@ -1083,7 +1086,7 @@ void CCardIssuerFSM::s10_on_exit()
 }
 unsigned int CCardIssuerFSM::s10_on_event(FSMEvent* pEvt)
 {
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("s10 evt (%d,%d)", pEvt->iEvt, pEvt->param1));
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s evt (%d,%d)", GetCurrStateName(), pEvt->iEvt, pEvt->param1);
 	int ret = 0;
 	switch(pEvt->iEvt)
 	{
@@ -1117,7 +1120,7 @@ void CCardIssuerFSM::s11_on_exit()
 }
 unsigned int CCardIssuerFSM::s11_on_event(FSMEvent* pEvt)
 {
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("evt (%d,%d)", pEvt->iEvt, pEvt->param1);
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s evt (%d,%d)", GetCurrStateName(), pEvt->iEvt, pEvt->param1);
 	int ret = 0;
 	switch (pEvt->iEvt)
 	{
@@ -1165,7 +1168,7 @@ void CCardIssuerFSM::s12_on_exit()
 }
 unsigned int CCardIssuerFSM::s12_on_event(FSMEvent* pEvt)
 {
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(CSimpleStringA::Format("evt (%d,%d)", pEvt->iEvt, pEvt->param1));
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("%s evt (%d,%d)", GetCurrStateName(), pEvt->iEvt, pEvt->param1);
 	int ret = 0;
 	switch (pEvt->iEvt)
 	{
@@ -2430,7 +2433,7 @@ int CCardIssuerFSM::ReadCard_Contact(SpReqAnsContext<CardIssuerStandService_Read
 				{
 					bReadCardInfo = true;
 					ctx->Ans.ICType = 3;
-					LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_MaybeIC_Only, "<ReadCard>, maybe ic only.");
+					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("maybe ic only.");
 				}
 				else
 				{
@@ -2704,7 +2707,7 @@ int CCardIssuerFSM::ReadCard_RF(SpReqAnsContext<CardIssuerStandService_Read_Req,
 				{
 					bReadCardInfo = true;
 					ctx->Ans.ICType = 3;
-					LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_MaybeIC_Only, "<ReadCard>, maybe ic only.");
+					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("maybe ic only.");
 				}
 				else
 				{