Browse Source

Z991239-6499 #comment feat: RFControl、GetDataEx2调用失败次数上送

陈纪林80310970 3 weeks ago
parent
commit
0d6bbc8c7a

+ 22 - 0
Module/mod_IDCertificate/IDCertFSM.cpp

@@ -502,6 +502,10 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
 	backPhotoTimeStr.Clear(); backPhotoTime = 0;
 	currentSysTime = time(nullptr);
 
+	//记录API成功前的失败次数,后续下掉 - 2025.9.9 CJL
+	int rfControlOpenFailedCount = 0;
+	int getDataEx2FailedCount = 0;
+
 	bool bExitWhenReading = false;
 	int curDeleteType = Bmp_ZP;
 	DWORD elapsed = 0;
@@ -539,9 +543,16 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
 				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER)
 					.setAPI("DevAdapter::IDCerRFControl").setLogCode(IDCertService_LogCode_OpenIDCerRFControl)
 					.setCostTime(OpenRFControlTime)();
+				//记录API成功前的失败次数,后续下掉 - 2025.9.9 CJL
+				if (rfControlOpenFailedCount > 0)
+				{
+					LogWarn(Severity_Low, Error_Unexpect, IDCertificate_UserErrorCode_RFControlOpenFailedCount, 
+						CSimpleStringA::Format("%d", rfControlOpenFailedCount).GetData());
+				}
 			}
 			else
 			{
+				rfControlOpenFailedCount++;//记录API成功前的失败次数,后续下掉 - 2025.9.9 CJL
 				dwEnd = SP::Module::Comm::RVCGetTickCount();
 				elapsed = dwEnd - dwStart;
 				Sleep(IDCER_AUTH_INTERVAL);
@@ -587,6 +598,13 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
 						.setAPI("DevAdapter::IDCerGetDataEx2").setLogCode(IDCertService_LogCode_IDCerGetDataEx2).setCostTime(IDCerGetDataEx2Time)();
 					LogEvent(Severity_Middle, LOG_EVT_IDCERTIFICATE_OP, "IDCertifacate op.");
 
+					//记录API成功前的失败次数,后续下掉 - 2025.9.9 CJL
+					if (getDataEx2FailedCount > 0)
+					{
+						LogWarn(Severity_Low, Error_Unexpect, IDCertificate_UserErrorCode_GetDataEx2FiledCount, 
+							CSimpleStringA::Format("%d", getDataEx2FailedCount).GetData());
+					}
+
 					//转换数据并赋值至传出字段
 					CopyIDCerDataToCtx(idInfoEx2, ctx);
 					if (m_bGetHeadPhotoFailed)
@@ -608,6 +626,10 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
 					WarnImgCreateTime(); //记录身份证相关图片的最近修改时间,用于上送信息调研,后续下掉 - 2025.6.13 CJL
 					break;
 				}
+				else
+				{
+					getDataEx2FailedCount++;//记录API成功前的失败次数,后续下掉 - 2025.9.9 CJL
+				}
 			}
 		}
 		dwEnd = SP::Module::Comm::RVCGetTickCount();

+ 2 - 0
Module/mod_IDCertificate/IDCertificate_UserErrorCode.h

@@ -33,6 +33,8 @@
 #define IDCertificate_UserErrorCode_ReadAndScan_BackPhotoTimeError	0x20100226 //背面扫描件时间异常
 
 #define IDCertificate_UserErrorCode_GetImgFileTime			0x20100230 //图片文件的最近修改时间
+#define IDCertificate_UserErrorCode_RFControlOpenFailedCount	0x20100231 //接收器打开失败次数
+#define IDCertificate_UserErrorCode_GetDataEx2FiledCount		0x20100232 //获取芯片数据失败次数
 
 
 //#define IDCertificate_UserErrorCode_Real_Root_Config		(IDCertificate_UserErrorCode_Start + 31) //加载实际的root配置