Selaa lähdekoodia

!10906 归并最新的st2分支代码
Merge pull request !10906 from 80174520/ST2

刘文涛80174520 3 viikkoa sitten
vanhempi
sitoutus
177275da97

+ 11 - 17
Module/mod_CardIssuerStand/CardIssuerStandFSM.cpp

@@ -1719,9 +1719,8 @@ int CCardIssuerFSM::IssueCard(SpReqAnsContext<CardIssuerStandService_IssueEx_Req
 	m_bCardFromHopper = true;
 	if (errCode != Error_Succeed)
 	{
-
-		CSimpleStringA ErrMsg = CSimpleStringA::Format("m_currentHopper:%d", m_currentHopper);
-		SetErrorAndLog(errCode, MEC_DEVAPI_CARDISSUER_CI_MOVECARD_FROM_HOPPER, "DevAdapter::MoveCard", __FUNCTION__, IsInBusiness(), l_endTime - l_beginTime, "QLR040220320", ErrMsg.GetData());
+		CSimpleStringA ErrMsg = CSimpleStringA::Format("{\"HopperNum\":%d}", m_currentHopper);
+		SetErrorAndLog(errCode, MEC_DEVAPI_CARDISSUER_MoveCard, "DevAdapter::MoveCard", __FUNCTION__, IsInBusiness(), l_endTime - l_beginTime, CardIssuerStandService_LogCode_IssueEx, ErrMsg.GetData());
 		ctxEx->Answer(Error_Unexpect, GetAlarmDEC());
 		return 1;
 	}
@@ -3364,7 +3363,7 @@ ErrorCodeEnum CCardIssuerFSM::MachineMoveCardBackNotHold()
 	//2016-11-10 14:30:54 joseph
 	if (eMoveNotHold != Error_Succeed)
 	{
-		SetErrorAndLog(eMoveNotHold, MEC_DEVAPI_CARDISSUER_CI_MOVECARD_BACK_NOT_HOLD, "DevAdapter::MoveCard", __FUNCTION__, false, l_endTime - l_beginTime, "", "MachineMoveCardBackNotHold::MoveCard err");
+		SetErrorAndLog(eMoveNotHold, MEC_DEVAPI_CARDISSUER_MoveCard, "DevAdapter::MoveCard", __FUNCTION__, false, l_endTime - l_beginTime, "", "{\"MoveDir\":1}");
 		return eMoveNotHold;
 	}
 	else {
@@ -3381,10 +3380,8 @@ ErrorCodeEnum CCardIssuerFSM::MachineMoveCardFrontGate(bool bInBussiness)
 	
 
 	if (eMoveFrontGate != Error_Succeed){
-		if (m_bCardFromHopper)
-			SetErrorAndLog(eMoveFrontGate, MEC_DEVAPI_CARDISSUER_CI_MOVECARD_FRONT_GATE, "DevAdapter::MoveCard", __FUNCTION__, bInBussiness, l_endTime - l_beginTime, "QLR040220305", "后端发卡,卡片吐出失败");
-		else
-			SetErrorAndLog(eMoveFrontGate, CardIssuer_UserErrorCode_MoveCardToGate_Failed, "DevAdapter::MoveCard", __FUNCTION__, bInBussiness, l_endTime - l_beginTime, "QLR040220305", "前端进卡,卡片吐出失败");
+		CSimpleStringA csMsg = CSimpleStringA::Format("{\"MoveDir\":0,\"CardFrom\":%d}", m_bCardFromHopper);
+		SetErrorAndLog(eMoveFrontGate, MEC_DEVAPI_CARDISSUER_MoveCard, "DevAdapter::MoveCard", __FUNCTION__, bInBussiness, l_endTime - l_beginTime, "", csMsg.GetData());
 	}
 	else {
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setAPI("DevAdapter::MoveCard").setCostTime(l_endTime - l_beginTime).setLogCode("QLR040220305")("MachineMoveCardFrontGate::MoveCard");
@@ -4057,11 +4054,8 @@ int CCardIssuerFSM::EjectJS(SpReqAnsContext<CardIssuerStandService_EjectJS_Req,
 	l_endTime = GetTickCountRVC();
 	DWORD dwTmpUserErrCode = 0;
 	if (eErr != Error_Succeed) {
-		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("EjectJS::MoveCard(CI_MOVECARD_FRONT_GATE) err");
-		if (m_bCardFromHopper) 
-			dwTmpUserErrCode = SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_CI_MOVECARD_FRONT_GATE, "DevAdapter::MoveCard", __FUNCTION__, IsInBusiness(), l_endTime - l_beginTime, "QLR040220342", "EjectJS::MoveCard(CI_MOVECARD_FRONT_GATE) err");
-		else 
-			dwTmpUserErrCode = SetErrorAndLog(eErr, CardIssuer_UserErrorCode_MoveCardToGate_Failed, "DevAdapter::MoveCard", __FUNCTION__, IsInBusiness(), l_endTime - l_beginTime, "QLR040220342", "EjectJS::MoveCard(CI_MOVECARD_FRONT_GATE) err");
+		CSimpleStringA csMsg = CSimpleStringA::Format("{\"MoveDir\":0,\"CardFrom\":%d}", m_bCardFromHopper);
+		dwTmpUserErrCode = SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_MoveCard, "DevAdapter::MoveCard", __FUNCTION__, IsInBusiness(), l_endTime - l_beginTime, CardIssuerStandService_LogCode_EjectJS, csMsg.GetData());
 		if (ctx != NULL) {
 			ctx->Answer(Error_Unexpect, dwTmpUserErrCode);
 		}
@@ -4131,7 +4125,7 @@ int CCardIssuerFSM::EjectJS(SpReqAnsContext<CardIssuerStandService_EjectJS_Req,
 		else {
 			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("EjectJS::MoveCard(CI_MOVECARD_BACK_NOT_HOLD) err");
 			
-			SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_CI_MOVECARD_BACK_NOT_HOLD, "DevAdapter::MoveCard", __FUNCTION__, false, l_endTime - l_beginTime, "QLR040220342", "EjectJS::MoveCard(CI_MOVECARD_BACK_NOT_HOLD) err");
+			SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_MoveCard, "DevAdapter::MoveCard", __FUNCTION__, false, l_endTime - l_beginTime, CardIssuerStandService_LogCode_EjectJS, "{\"MoveDir\":0}");
 			
 			//超时吞卡失败
 			LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_Forget_Fetch_Card_Capture_Fail, "forget fetch card ,capture fail");
@@ -4172,7 +4166,7 @@ int CCardIssuerFSM::CaptureJS(SpReqAnsContext<CardIssuerStandService_CaptureJS_R
 		m_currCardNo = "";
 	}
 	else {
-		dwTmpUserErrCode = SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_CI_MOVECARD_BACK_NOT_HOLD, "DevAdapter::MoveCard", __FUNCTION__, IsInBusiness(), l_endTime - l_beginTime, "QLR040220343");
+		dwTmpUserErrCode = SetErrorAndLog(eErr, MEC_DEVAPI_CARDISSUER_MoveCard, "DevAdapter::MoveCard", __FUNCTION__, IsInBusiness(), l_endTime - l_beginTime, CardIssuerStandService_LogCode_CaptureJS, "{\"MoveDir\":1}");
 		ret = 1;
 	}
 	//业务返回
@@ -4315,8 +4309,8 @@ int CCardIssuerFSM::IssueFromBoxJS(SpReqAnsContext<CardIssuerStandService_IssueF
 	m_bCardFromHopper = true;//用于区分吐卡报错不同
 	if (errCode != Error_Succeed)
 	{
-		CSimpleStringA errMsg = CSimpleStringA::Format("m_currentHopper:%d", m_currentHopper);
-		DWORD dwTmpUserErrCode = SetErrorAndLog(errCode, MEC_DEVAPI_CARDISSUER_CI_MOVECARD_FROM_HOPPER, "DevAdapter::MoveCard", __FUNCTION__, IsInBusiness(), l_endTime - l_beginTime, "QLR040220345", errMsg.GetData());
+		CSimpleStringA errMsg = CSimpleStringA::Format("\"HopperNum\":%d", m_currentHopper);
+		DWORD dwTmpUserErrCode = SetErrorAndLog(errCode, MEC_DEVAPI_CARDISSUER_MoveCard, "DevAdapter::MoveCard", __FUNCTION__, IsInBusiness(), l_endTime - l_beginTime, CardIssuerStandService_LogCode_IssueFromBoxJS, errMsg.GetData());
 		ctx->Answer(Error_Unexpect, dwTmpUserErrCode);
 		return 2;//S9 
 	}

+ 16 - 21
Module/mod_CardIssuerStand/CardIssuerStand_UserErrorCode.h

@@ -17,11 +17,26 @@
 #define CardIssuer_UserErrorCode_MoveCardToGate_Failed				(CardIssuer_UserErrorCode_Start + 14)	//前端进卡,吐卡失败
 
 #define CardIssuer_UserErrorCode_Customer_Forget_Fectch_Card		(CardIssuer_UserErrorCode_Start + 20)	//客户超时未取卡
+#define CardIssuer_UserErrorCode_Insert_Card_TimeOut							0x20300215 //卡机插卡超时
+#define CardIssuer_UserErrorCode_Insert_Card_Cancel								0x20300216 //卡机插卡取消
+#define CardIssuer_UserErrorCode_Capture_NoCard_Failed							0x20300217 //吞卡时发现读卡器无卡
+#define CardIssuer_UserErrorCode_Forget_Fetch_Card_Capture_Succ					0x20300218 //超时未取卡,已吞卡,请从吞卡箱中取卡
+#define CardIssuer_UserErrorCode_Forget_Fetch_Card_Capture_Fail					0x20300219 //超时未取卡,吞卡失败,请从发卡器取卡
+#define CardIssuer_UserErrorCode_NotSupportRF									0x2030021a //卡机不支持非接
 
 #define CardIssuer_UserErrorCode_CaptureCard_FromBusiness			(CardIssuer_UserErrorCode_Start + 40) //业务主动发起调用CaptureCard
 
 #define CardIssuer_UserErrorCode_UnkownReadJSMode					(CardIssuer_UserErrorCode_Start + 47)	//未知的ReadJS读卡模式
-
+//卡机流程状态报错
+#define CardIssuer_UserErrorCode_PROCESS_IDLE				0x20300230		//当前处于卡机无卡空闲状态,无法处理此请求
+#define CardIssuer_UserErrorCode_PROCESS_ACCEPT				0x20300231		//当前处于卡机插卡状态,无法处理此请求
+#define CardIssuer_UserErrorCode_PROCESS_HOLD				0x20300232		//当前处于卡机有卡等待状态,无法处理此请求
+#define CardIssuer_UserErrorCode_PROCESS_READ				0x20300233		//当前处于正在读卡状态,无法处理此请求
+#define CardIssuer_UserErrorCode_PROCESS_EJECT				0x20300234		//当前处于正在吐卡状态,无法处理此请求
+#define CardIssuer_UserErrorCode_PROCESS_WAIT_FETCH			0x20300235		//当前处于正在取卡状态,无法处理此请求
+#define CardIssuer_UserErrorCode_PROCESS_CAPTURE			0x20300236		//当前处于正在吞卡状态,无法处理此请求
+#define CardIssuer_UserErrorCode_PROCESS_FAULT				0x20300237		//当前处于卡机故障异常状态,无法处理此请求
+#define CardIssuer_UserErrorCode_PROCESS_ISSUE				0x20300238		//当前处于卡机发卡操作状态,无法处理此请求
 #define CardIssuer_UserErrorCode_RETAIN_BIN_IS_FULL					(CardIssuer_UserErrorCode_Start + 57)//计数显示,回收箱满
 
 //跨机激活过程 oiltmp to be removed
@@ -68,8 +83,6 @@
 //预留一部分用于CardAssist.cpp中的报错告警
 //自CardIssuer_UserErrorCode_Start + 121 ~ CardIssuer_UserErrorCode_Start + 140
 #define CardIssuer_UserErrorCode_ICCommand_RecvData_Invalid			(CardIssuer_UserErrorCode_Start + 121)	//APDU接收到的数据无效
-#define CardIssuer_UserErrorCode_ActiveContactlessICCard_Failed		(CardIssuer_UserErrorCode_Start + 122)	//激活非接失败
-#define CardIssuer_UserErrorCode_IssueCard_ActiveRF_Failed			(CardIssuer_UserErrorCode_Start + 123)	//发卡时,激活非接失败
 #define CardIssuer_UserErrorCode_ICCommand_RF_RecvData_Invalid      (CardIssuer_UserErrorCode_Start + 124)	//APDU接收到的非接数据无效
 #define CardIssuer_UserErrorCode_RFTypeABCommand_Failed             (CardIssuer_UserErrorCode_Start + 125)	//BuildSupportedAppList调用RFTypeABCommand失败
 //
@@ -84,7 +97,6 @@
 #define CardIssuer_UserErrorCode_Maybe_InsertCard_InWrongStyle		(CardIssuer_UserErrorCode_Start + 160)	//可能卡片插反了
 #define CardIssuer_UserErrorCode_IssueCard_ActiveICCard_Failed		(CardIssuer_UserErrorCode_Start + 161)	//发卡时,DetectIfICCard调用ActiveICCard失败
 //oiltmp to be removed
-#define CardIssuer_UserErrorCode_Account_EAC_Mismatch				(CardIssuer_UserErrorCode_Start + 162)	//账户和户口系统的最新账户不匹配
 #define CardIssuer_UserErrorCode_CardStore_Reply_TooLong			(CardIssuer_UserErrorCode_Start + 163)	//跨机时卡库处理耗时过长
 #define CardIssuer_UserErrorCode_CardActive_CardStore_OffLine		(CardIssuer_UserErrorCode_Start + 165)	//跨机时卡库不在线
 
@@ -92,21 +104,4 @@
 //oiltmp to be removed
 #define CardIssuer_UserErrorCode_CardActive_CardStore_Issuing		(CardIssuer_UserErrorCode_Start + 167)	//跨机时卡库正在本地领卡或加卡
 
-#define CardIssuer_UserErrorCode_Insert_Card_TimeOut							0x20300303 //卡机插卡超时
-#define CardIssuer_UserErrorCode_Insert_Card_Cancel								0x20300304 //卡机插卡取消
-#define CardIssuer_UserErrorCode_Capture_NoCard_Failed							0x20300306 //吞卡时发现读卡器无卡
-#define CardIssuer_UserErrorCode_Forget_Fetch_Card_Capture_Succ					0x20300307 //超时未取卡,已吞卡,请从吞卡箱中取卡
-#define CardIssuer_UserErrorCode_Forget_Fetch_Card_Capture_Fail					0x20300308 //超时未取卡,吞卡失败,请从发卡器取卡
-#define CardIssuer_UserErrorCode_NotSupportRF									0x2030030F //卡机不支持非接
-
-//卡机流程状态报错
-#define CardIssuer_UserErrorCode_PROCESS_IDLE				0x20300402		//当前处于卡机无卡空闲状态,无法处理此请求
-#define CardIssuer_UserErrorCode_PROCESS_ACCEPT				0x20300403		//当前处于卡机插卡状态,无法处理此请求
-#define CardIssuer_UserErrorCode_PROCESS_HOLD				0x20300404		//当前处于卡机有卡等待状态,无法处理此请求
-#define CardIssuer_UserErrorCode_PROCESS_READ				0x20300405		//当前处于正在读卡状态,无法处理此请求
-#define CardIssuer_UserErrorCode_PROCESS_EJECT				0x20300406		//当前处于正在吐卡状态,无法处理此请求
-#define CardIssuer_UserErrorCode_PROCESS_WAIT_FETCH			0x20300407		//当前处于正在取卡状态,无法处理此请求
-#define CardIssuer_UserErrorCode_PROCESS_CAPTURE			0x20300408		//当前处于正在吞卡状态,无法处理此请求
-#define CardIssuer_UserErrorCode_PROCESS_FAULT				0x20300409		//当前处于卡机故障异常状态,无法处理此请求
-#define CardIssuer_UserErrorCode_PROCESS_ISSUE				0x2030040A		//当前处于卡机发卡操作状态,无法处理此请求
 #endif //_CARDISSUERSTAND_USER_ERRORCODE_H

+ 14 - 12
Module/mod_CardReadAdapter/CardReadAdapterFSM.cpp

@@ -810,12 +810,13 @@ int CCardReadAdapterFSM::CardIssuerRead(SpReqAnsContext<CardReadAdapterService_R
 			}
 			if (bHasCard)
 			{
-				if (bCardMismatch)
-				{
-					//oiltmp@20221202 todo Error_DevNotAvailable should be changed if we have negotiated with hangzhou vtm developer
-					ctx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_Account_EAC_Mismatch, csRetStr);
-				}
-				else
+				//oiltmp@20250909
+				//if (bCardMismatch)
+				//{
+				//	//oiltmp@20221202 todo Error_DevNotAvailable should be changed if we have negotiated with hangzhou vtm developer
+				//	ctx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_Account_EAC_Mismatch, csRetStr);
+				//}
+				//else
 				{
 					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("ReadCard, the final errCode:%d,status:%d,dwUsrErrCode:%d", eErr, ctx->Ans.status, dwUsrErrCode);
 					Sleep(300);//oilyang@20230202 for hardware entity to trans FSM state
@@ -963,12 +964,13 @@ int CCardReadAdapterFSM::CardIssuerRead(SpReqAnsContext<CardReadAdapterService_R
 			}
 			if (bHasCard)
 			{
-				if (bCardMismatch)
-				{
-					//oiltmp@20221202 todo Error_DevNotAvailable should be changed if we have negotiated with hangzhou vtm developer
-					ctx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_Account_EAC_Mismatch, csRetStr);
-				}
-				else
+				//oiltmp@20250909
+				//if (bCardMismatch)
+				//{
+				//	//oiltmp@20221202 todo Error_DevNotAvailable should be changed if we have negotiated with hangzhou vtm developer
+				//	ctx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_Account_EAC_Mismatch, csRetStr);
+				//}
+				//else
 				{
 					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("ReadCard, the final errCode:%d,status:%d,dwUsrErrCode:%d", eErr, ctx->Ans.status, dwUsrErrCode);
 					Sleep(300);//oilyang@20230202 for hardware entity to trans FSM state