Pārlūkot izejas kodu

Z991239-6340 #comment pinpad在GetCheckCode异常时及时返回;优化日志

oilyang 3 mēneši atpakaļ
vecāks
revīzija
d04e4a72ff

+ 7 - 7
Module/mod_healthmanager/HealthManagerFSM.cpp

@@ -144,7 +144,7 @@ unsigned int CHealthManagerFSM::s4_on_event(FSMEvent* pEvt)
 			CSimpleStringA csTermStage;
 			ErrorCodeEnum eErrCode;
 			eErrCode = GetEntityBase()->GetFunction()->GetSysVar("TerminalStage",csTermStage);
-			DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("after accessauth to get termstage %s",(LPCTSTR)csTermStage);
+			DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM)("after accessauth to get termstage %s",(LPCTSTR)csTermStage);
 			//oilyang@20220614 添加密钥更新逻辑
 			if (csTermStage[0] == 'A')
 			{
@@ -330,7 +330,7 @@ int CHealthManagerFSM::AccessAuthDoWork()
 	ErrorCodeEnum eErrCode = GetEntityBase()->GetFunction()->GetSysVar("TerminalStage", csTermStage);
 	if (eErrCode == Error_Succeed)
 	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("before accessauth get TerminalStage %s", csTermStage.GetData());
+		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("before accessauth get TerminalStage %s", csTermStage.GetData());
 		CSmartPointer<IEntityFunction> pFunc = GetEntityBase()->GetFunction();
 		CSmartPointer<IEntityFunctionPrivilege> pFuncPrivilege = pFunc.ConvertCase<IEntityFunctionPrivilege>();
 		CEntityRunInfo acInfo;
@@ -348,7 +348,7 @@ int CHealthManagerFSM::AccessAuthDoWork()
 			}
 			break;
 			case EntityState_Idle:
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("AccessAuth state idle.");
+				DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("AccessAuth state idle.");
 				break;
 			default:
 				break;
@@ -971,14 +971,14 @@ void CHealthManagerFSM::WKUpdatePeriod()
 			m_pACClient = new AccessAuthService_ClientBase(this->GetEntityBase());
 			eErrCode = m_pACClient->Connect();
 			if (eErrCode != Error_Succeed) {
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("accessauth connected failed.");
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("accessauth connected failed:%d", eErrCode);
 				m_pACClient->SafeDelete();
 				m_pACClient = NULL;
 				m_bInAccessAuthDoWork = false;
 				return;
 			}
 			else {
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("accessauth connected.");
+				DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("accessauth connected.");
 			}
 		}
 
@@ -1072,14 +1072,14 @@ bool CHealthManagerFSM::CheckProcessExistByName(CSimpleStringA procName)
 			do {
 				if (_stricmp(&pe.szExeFile[0], procName.GetData()) == 0)
 				{
-					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("find %s on this machine.", procName.GetData());
+					DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("find %s on this machine.", procName.GetData());
 					return true;
 				}
 			} while (Process32Next(hSnapshot, &pe));
 		}
 		CloseHandle(hSnapshot);
 	}
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("can't find %s on this machine.", procName.GetData());
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("can't find %s on this machine.", procName.GetData());
 	return false;
 #else
 	return false;

+ 4 - 4
Module/mod_healthmanager/mod_healthmanager.cpp

@@ -471,7 +471,7 @@ int CHealthManagerEntity::CheckGuardianIsRun(bool bStart)
 		CloseHandle(hSnapshot);
 	}
 	Sleep(1000);
-	DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("cannot find guardian.");
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("cannot find guardian.");
 	if (!m_bNeedGuardian)//no need guardian
 	{
 		if (!m_bSayIdle)
@@ -517,7 +517,7 @@ int CHealthManagerEntity::CheckGuardianIsRun(bool bStart)
 		}
 	}
 	else
-		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("cannot find guardian.");
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("cannot find guardian.");
 
 	if (!m_bNeedGuardian)//no need guardian
 	{
@@ -765,7 +765,7 @@ bool CHealthManagerEntity::DoRestart()
 	spConfigRun->ReadConfigValue("Run", "VersionEx", m_versionEx);
 	//判断上个版本号值是否为空
 	if(m_versionEx.IsNullOrEmpty()){
-		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("get VersionEx is null");
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("get VersionEx is null");
 	}
 	spCerConfig->ReadConfigValueInt(GetEntityName(), "MaxTimeWaitMainPageMS", m_maxWaitMainpageTime);
 	if (m_maxWaitMainpageTime < 5000)
@@ -1464,7 +1464,7 @@ void CHealthManagerEntity::OnEntityStateHook(const char* pszEntityName, const ch
 		{
 		case EntityState_Lost:
 		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("%s trigger by %s: from %s to %s", pszEntityName, pszTriggerEntity, SpStrEntityState(eLastState), SpStrEntityState(eState));
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("%s trigger by %s: from %s to %s", pszEntityName, pszTriggerEntity, SpStrEntityState(eLastState), SpStrEntityState(eState));
 			CSimpleStringA tmpWarnMsg = CSimpleStringA::Format("%s lost. trig entity:%s,lastState:%s", pszEntityName, pszTriggerEntity, SpStrEntityState(eLastState));
 			CEntityStaticInfo esi = { 0 };
 			ErrorCodeEnum ec = GetFunction()->GetEntityStaticInfo(pszEntityName, esi);

+ 7 - 4
Module/mod_pinpad/PinPadFSM.cpp

@@ -17,7 +17,7 @@
 
 using namespace std;
 
-const int PINPAD_INIT_TRIES = 3;
+const int PINPAD_INIT_TRIES = 1;
 const int PINPAD_ANY_INPUT_TIMEOUT = 100;
 const int MAX_PINPAD_INPUT_TIMEOUT = 60000;
 const int MAX_INPUT_TIMER_TIMEOUT = 600000;
@@ -457,7 +457,7 @@ int CPinPadFSM::Initial()
 	std::map<std::string, std::string> devConnInfo;
 	devConnInfo["AllCost"] = CSimpleStringA::Format("%d", tmpAllCost);
 	devConnInfo["AdpFileLoadCost"] = CSimpleStringA::Format("%d",m_ullAdpFileLoadCost);
-	devConnInfo["DevConnectCost"] = CSimpleStringA::Format("%d", tmpAllCost - m_ullAdpFileLoadCost);
+	devConnInfo["DevConnectCost"] = CSimpleStringA::Format("%llu", tmpAllCost - m_ullAdpFileLoadCost);
 	devConnInfo["SMSupport"] = CSimpleStringA::Format("%d", m_encryptkey);
 	devConnInfo["KeyLoaded"] = CSimpleStringA::Format("%d", m_bSMLoaded);
 	devConnInfo["KeySN"] = CSimpleStringA::Format("%s", m_keySNSM.GetData()); 
@@ -953,7 +953,7 @@ int CPinPadFSM::GetInput(SpReqAnsContext<PinPadService_GetInputSM_Req, PinPadSer
 	}
 	else
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::StopInput").setCostTime(m_ullEndTime - m_ullBeginTime)
-		("StopInput cost:%d(ms), req acc.len:%d,confirm:%d,len:%d. ans:ck.len:%d", m_ullEndTime - m_ullBeginTime, m_inputSMCtx->Req.account.GetLength(), m_inputSMCtx->Req.confirm
+		("StopInput cost:%llu(ms), req acc.len:%d,confirm:%d,len:%d. ans:ck.len:%d", m_ullEndTime - m_ullBeginTime, m_inputSMCtx->Req.account.GetLength(), m_inputSMCtx->Req.confirm
 			, m_inputSMCtx->Req.length, m_inputSMCtx->Ans.checkcode.IsNullOrEmpty() ? 0 : m_inputSMCtx->Ans.checkcode.GetLength());
 
 	DbgToBeidou(m_inputSMCtx->link, "GetInput")();
@@ -1210,6 +1210,7 @@ ErrorCodeEnum CPinPadFSM::GetCheckCode(SpReqAnsContext<PinPadService_GetCheckCod
 			if (eErr != Error_Succeed)
 			{
 				SetErrorAndLog(eErr, MEC_DEVAPI_EPP_SetParam, "DevAdapter::SetParam", __FUNCTION__, false, m_ullEndTime - m_ullBeginTime, PinPadService_LogCode_GetCheckCode);
+				ctx->Answer(Error_DevCommFailed);
 				return Error_DevCommFailed;
 			}
 			m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
@@ -1222,6 +1223,7 @@ ErrorCodeEnum CPinPadFSM::GetCheckCode(SpReqAnsContext<PinPadService_GetCheckCod
 		{
 			SetErrorAndLog(eErr, MEC_DEVAPI_EPP_ActiveWorkingKey, "DevAdapter::ActiveWorkingKey", __FUNCTION__, false, m_ullEndTime - m_ullBeginTime, PinPadService_LogCode_GetCheckCode);
 			ctx->Ans.checkcode[i] = "";
+			ctx->Answer(Error_DevCommFailed);
 			return Error_DevCommFailed;
 		}
 		else
@@ -1237,6 +1239,7 @@ ErrorCodeEnum CPinPadFSM::GetCheckCode(SpReqAnsContext<PinPadService_GetCheckCod
 			if (eErr != Error_Succeed)
 			{
 				SetErrorAndLog(eErr, MEC_DEVAPI_EPP_EncryptData, "DevAdapter::EncryptData", __FUNCTION__, false, m_ullEndTime - m_ullBeginTime, PinPadService_LogCode_GetCheckCode);
+				ctx->Answer(Error_DevCommFailed);
 				return Error_DevCommFailed;
 			}
 			ctx->Ans.checkcode[i] = (const char*)dstInfo.data;
@@ -1600,7 +1603,7 @@ int CPinPadFSM::GetInputJS(SpReqAnsContext<PinPadService_GetInputJS_Req, PinPadS
 	}
 	else
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::StopInput").setCostTime(m_ullEndTime - m_ullBeginTime)
-		("StopInput cost:%d(ms), req acc.len:%d,ans.ck.len:%d", m_ullEndTime - m_ullBeginTime, m_inputJSCtx->Req.account.GetLength(), m_inputJSCtx->Ans.checkcode.IsNullOrEmpty() ? 0 : m_inputJSCtx->Ans.checkcode.GetLength()
+		("StopInput cost:%llu(ms), req acc.len:%d,ans.ck.len:%d", m_ullEndTime - m_ullBeginTime, m_inputJSCtx->Req.account.GetLength(), m_inputJSCtx->Ans.checkcode.IsNullOrEmpty() ? 0 : m_inputJSCtx->Ans.checkcode.GetLength()
 			);
 		
 	DbgToBeidou(m_inputJSCtx->link, "GetInputJS")();