Browse Source

Z991239-6279 #comment feat: 图片修改时间告警上传

陈纪林80310970 3 months ago
parent
commit
1bfc2dc96d

+ 33 - 22
Module/mod_IDCertificate/IDCertFSM.cpp

@@ -498,6 +498,10 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
 	LOG_FUNCTION();
 	DeleteZP(Bmp_ZP | Bmp_SCAN, 1); //清理图片文件
 
+	headPhotoTime.Clear();
+	frontPhotoTime.Clear();
+	headPhotoTime.Clear();
+
 	bool bExitWhenReading = false;
 	int curDeleteType = Bmp_ZP;
 	DWORD elapsed = 0;
@@ -593,18 +597,12 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
 							ctx->Ans.hasscan = 1;
 						}
 					}
-
-#ifdef RVC_OS_WIN
-					CSimpleStringA csIDLogInfo = CSimpleStringA::Format("IDNo:%s****%s"
-						, (const char*)CSimpleStringA(GetGBKString((UINT16*)idInfoEx2.idno.data)).SubString(0, 4)
-						, (const char*)CSimpleStringA(GetGBKString((UINT16*)idInfoEx2.idno.data)).SubString(CSimpleStringA(GetGBKString((UINT16*)idInfoEx2.idno.data)).GetLength() - 1, 1));
-#else
-					CSimpleStringA tIdcode = (char*)idno;
-					CSimpleStringA csIDLogInfo = CSimpleStringA::Format("IDNo:%s****%s"
-						, (const char*)tIdcode.SubString(0, 4), (const char*)tIdcode.SubString(tIdcode.GetLength() - 1, 1));
-#endif
-					LogWarn(Severity_Low, Error_Succeed, IDCertificate_UserErrorCode_ReadAndScan_GetIDInfo, csIDLogInfo.GetData());
 					DeleteZP(curDeleteType, 2);
+					//记录身份证相关图片的最近修改时间,用于上送信息调研,后续下掉 - 2025.6.13 CJL
+					CSimpleStringA fileTimeWarn = CSimpleStringA::Format("头像图片时间:[%s], 正面图片时间:[%s],背面图片时间:[%s]",
+						headPhotoTime.GetData(), frontPhotoTime.GetData(), backPhotoTime.GetData());
+					LogWarn(Severity_Low, Error_Succeed, IDCertificate_UserErrorCode_GetImgFileTime, fileTimeWarn);
+
 					break;
 				}
 			}
@@ -812,17 +810,6 @@ int CIDCertFSM::ReadAndScanUTF8JS(SpReqAnsContext<IDCert_ReadAndScanUTF8JS_Req,
 							ctx->Ans.hasscan = 1;
 						}
 					}
-
-#ifdef RVC_OS_WIN
-					CSimpleStringA csIDLogInfo = CSimpleStringA::Format("IDNo:%s****%s"
-						, (const char*)CSimpleStringA(GetGBKString((UINT16*)idInfoEx2.idno.data)).SubString(0, 4)
-						, (const char*)CSimpleStringA(GetGBKString((UINT16*)idInfoEx2.idno.data)).SubString(CSimpleStringA(GetGBKString((UINT16*)idInfoEx2.idno.data)).GetLength() - 1, 1));
-#else
-					CSimpleStringA tIdcode = (char*)idno;
-					CSimpleStringA csIDLogInfo = CSimpleStringA::Format("IDNo:%s****%s"
-						, (const char*)tIdcode.SubString(0, 4), (const char*)tIdcode.SubString(tIdcode.GetLength() - 1, 1));
-#endif
-					LogWarn(Severity_Low, Error_Succeed, IDCertificate_UserErrorCode_ReadAndScan_GetIDInfo, csIDLogInfo.GetData());
 					DeleteZP(curDeleteType, 2);
 					break;
 				}
@@ -955,6 +942,19 @@ ErrorCodeEnum CIDCertFSM::GetPngBlobEx(CBlob &data, CSimpleStringA fileNamePrefi
 			LogWarn(Severity_Middle, Error_Unexpect, IDCertificate_UserErrorCode_FindFile_in_DepBak, warnMsg.GetData());
 		}
 	}
+	//记录身份证相关图片的最近修改时间,用于上送信息调研,后续下掉 - 2025.6.13 CJL
+	if (fileNamePrefix ==  "zp")
+	{
+		headPhotoTime = GetFileLastModifyTime(strPath + ".bmp").GetData();
+	}
+	else if (fileNamePrefix == "idfront")
+	{
+		frontPhotoTime = GetFileLastModifyTime(strPath + ".bmp").GetData();
+	}
+	else if (fileNamePrefix == "idback")
+	{
+		backPhotoTime = GetFileLastModifyTime(strPath + ".bmp").GetData();
+	}
 
 	IplImage *src = cvLoadImage(strPath + ".bmp");
 	if (!src)
@@ -1669,6 +1669,17 @@ void CIDCertFSM::CopyTextIDCerDataToCtx(IDCerInfoEx2 idInfoEx2, T& ctx)
 		utf8Data = nullptr;
 	}
 
+#ifdef RVC_OS_WIN
+	CSimpleStringA csIDLogInfo = CSimpleStringA::Format("IDNo:%s****%s"
+		, (const char*)CSimpleStringA(GetGBKString((UINT16*)idInfoEx2.idno.data)).SubString(0, 4)
+		, (const char*)CSimpleStringA(GetGBKString((UINT16*)idInfoEx2.idno.data)).SubString(CSimpleStringA(GetGBKString((UINT16*)idInfoEx2.idno.data)).GetLength() - 1, 1));
+#else
+	CSimpleStringA tIdcode = (char*)idno;
+	CSimpleStringA csIDLogInfo = CSimpleStringA::Format("IDNo:%s****%s"
+		, (const char*)tIdcode.SubString(0, 4), (const char*)tIdcode.SubString(tIdcode.GetLength() - 1, 1));
+#endif
+	LogWarn(Severity_Low, Error_Succeed, IDCertificate_UserErrorCode_ReadAndScan_GetIDInfo, csIDLogInfo.GetData());
+
 	return;
 }
 

+ 2 - 0
Module/mod_IDCertificate/IDCertFSM.h

@@ -311,6 +311,8 @@ private:
 	ULLINT IDCerAuthenticateTime;
 	ULLINT IDCerGetDataEx2Time;
 	ULLINT ScanIDAndSaveImageTime;
+	//记录身份证相关图片的最近修改时间,用于上送信息调研,后续下掉 - 2025.6.13 CJL
+	CSimpleStringA headPhotoTime, frontPhotoTime, backPhotoTime;
 };
 
 struct ReadAndScanUTF8Task : public ITaskSp  //ex8

+ 2 - 0
Module/mod_IDCertificate/IDCertificate_UserErrorCode.h

@@ -27,6 +27,8 @@
 #define IDCertificate_UserErrorCode_Timeout_NoCard			0x20100221 //超时未插卡
 #define IDCertificate_UserErrorCode_Timeout_OtherCard		0x20100222 //插入其他卡片(非身份证)
 
+#define IDCertificate_UserErrorCode_GetImgFileTime			0x20100230 //图片文件的最近修改时间
+
 
 //#define IDCertificate_UserErrorCode_Real_Root_Config		(IDCertificate_UserErrorCode_Start + 31) //加载实际的root配置