Browse Source

Z991239-5756 #comment feat:优化健康的交易码、错误码

oilyang 11 months ago
parent
commit
86e21a9380

+ 15 - 9
Module/mod_healthmanager/HealthManagerFSM.cpp

@@ -192,16 +192,17 @@ unsigned int CHealthManagerFSM::s4_on_event(FSMEvent* pEvt)
 		pEvt->SetHandled();
 		if (pEvt->param1 == 1)
 		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("VtmLoader load SIPphone entity failed, to Set TerminalStage M.");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode("QLR0402501V1").setLogCode("RTA510E")("VtmLoader load SIPphone entity failed, to Set TerminalStage M.");
 			SetVtmLoadResult(VtmLoad_MediaLoadFail);
 			return pEvt->param1;
 		}
 		else if (pEvt->param1 == 2)
 		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("VtmLoader load SYNCSTART(boot cfg = 2) entity failed, to Set TerminalStage C.");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode("QLR0402501V1").setLogCode("RTA510F")("VtmLoader load SYNCSTART(boot cfg = 2) entity failed, to Set TerminalStage C.");
 			SetVtmLoadResult(VtmLoad_OtherSyncEntityLoadFail);
 			return pEvt->param1;
 		}
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setLogCode("QLR0402501A1")("VtmLoader load entitys ok.");
 		if (m_iAccessAuth == VtmLoad_AccessAuth_Init)
 		{
 			WaitToCallAccessAuthTask* pTask = new WaitToCallAccessAuthTask(this);
@@ -427,14 +428,14 @@ int CHealthManagerFSM::AccessAuthDoWork()
 		}
 		if (m_pACClient != NULL)
 		{
-			//存在循环刷数据的情况,暂时不记这个,只记失败
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR0402501Z10301")("to call AccessAuth's Regist");
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("to call accessauth regist");
 			m_ullAuthStart = SP::Module::Comm::RVCGetTickCount();
 			eErrCode = (*m_pACClient)(EntityResource::getLink().upgradeLink())->Regist();
 			m_bHasAuthEver = true;
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("accessauth regist %d", eErrCode);
+			
 			if (eErrCode == Error_Succeed)
 			{
+				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR0402501A4")("call AccessAuth's Regist return succeed");
 				do {
 					if (m_iAccessAuth != VtmLoad_AccessAuth_Init)
 						break;
@@ -446,7 +447,7 @@ int CHealthManagerFSM::AccessAuthDoWork()
 			}
 			else
 			{
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402501Z10301").setResultCode("RTA5102")("call accessauth Regist failed:%s", SpStrError(eErrCode));
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402501A4").setResultCode("RTA5102")("call accessauth Regist failed:%s", SpStrError(eErrCode));
 				m_bInAccessAuthDoWork = false;
 				return 1;
 			}
@@ -1028,6 +1029,7 @@ void CHealthManagerFSM::WaitToCallAccessAuthDoWork()
 		GetEntityBase()->GetFunction()->GetSysVar("AccessHavePath", csHavePath);
 		if (csHavePath.Compare("Y") == 0 || csHavePath.Compare("E") == 0)
 		{
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setLogCode("QLR0402501A2")("AccessAuth entity ok.");
 			AccessAuthTask* pTask = new AccessAuthTask(this);
 			GetEntityBase()->GetFunction()->PostThreadPoolTask(pTask);
 			break;
@@ -1036,7 +1038,7 @@ void CHealthManagerFSM::WaitToCallAccessAuthDoWork()
 		{
 			Sleep(5000);
 			LogWarn(Severity_High, Error_Unexpect, HealthManager_UserErrorCode_WaitForAccessGrayResult, "等待准入实体准备好");
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode("QLR0402501Z10301").setResultCode("RTA5107")("等待准入实体准备好");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode("QLR0402501A2").setResultCode("RTA5107")("等待准入实体准备好");
 		}
 	}
 }
@@ -1114,7 +1116,7 @@ void CHealthManagerFSM::WKUpdatePeriod()
 		eErrCode = (*m_pACClient)(EntityResource::getLink().upgradeLink())->UpdateWK();
 		if(Error_Succeed == eErrCode)
 		{
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setLogCode("QLR0402501Z0001")("accessauth updatewk succ.");
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setLogCode("QLR0402501K1")("accessauth updatewk succ.");
 			pConfigRun->WriteConfigValue("Main", "WKSyncSuccTime", 
 				(const char*) CSimpleStringA::Format("0x%08X", (DWORD)CSmallDateTime::GetNow()));
 			pConfigRun->WriteConfigValueInt("Main", "WKSyncFailCount", 0);
@@ -1122,7 +1124,7 @@ void CHealthManagerFSM::WKUpdatePeriod()
 		}
 		else
 		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode("QLR0402501Z0001").setResultCode("RTA5110")("accessauth updatewk failed.");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode("QLR0402501K1").setResultCode("RTA5110")("accessauth updatewk failed.");
 			nWKSyncFailCount++;
 			pConfigRun->WriteConfigValueInt("Main", "WKSyncFailCount", nWKSyncFailCount);
 		}
@@ -1477,7 +1479,10 @@ void CHealthManagerFSM::CheckIfPinPadOK()
 	//to check if PinPad is ok, wait for 5 seconds,then go on
 	//RVC.CardStore have no PinPad
 	if (m_sysInfo.strMachineType.Compare("RVC.CardStore", true) == 0)
+	{
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setLogCode("QLR0402501A3")("RVC.CardStore have no PinPad");
 		return;
+	}
 	ULONGLONG ullWaitStart, ullWaitEnd;
 	ullWaitEnd = ullWaitStart = SP::Module::Comm::RVCGetTickCount();
 	PinPadService_ClientBase* pClient = new PinPadService_ClientBase(this->m_pEntity);
@@ -1512,5 +1517,6 @@ void CHealthManagerFSM::CheckIfPinPadOK()
 	else
 		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("new PinPadService_ClientBase failed.GetLastError:%d", GetLastErrorRVC());
 	m_ullWaitForPinPad = ullWaitEnd - ullWaitStart;
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setLogCode("QLR0402501A3").setCostTime(m_ullWaitForPinPad)("finish (or time out) check  PinPad");
 	return;
 }

+ 24 - 31
Module/mod_healthmanager/mod_healthmanager.cpp

@@ -1144,7 +1144,7 @@ void CHealthManagerEntity::OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nL
 		break;
 	case EVENT_ACCESSAUTH_SUCCEED:
 	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR0402501Z10302")("access auth succeed.");
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR0402501B1")("access auth succeed.");
 		m_fsm.SetVtmLoadResult(VtmLoad_AccessAuth_Suc);
 		m_bNeedAuthRetry = false;
 		m_bNeedGuardianRestart = true;
@@ -1173,47 +1173,39 @@ void CHealthManagerEntity::OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nL
 	case CONTROL_ACCESSAUTH_UNKNOWN:
 	{
 		if (dwUserCode == CONTROL_ACCESSAUTH_NORETRY_NORESTART) {
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("no retry,no restart.");
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setLogCode("QLR0402501F1").setResultCode("RTA5108")("receive accessauth failed result:%d. no retry,no restart.", dwUserCode);
 			m_bNeedAuthRetry = false;
 			m_bNeedGuardianRestart = false;
 		}
 		else if (dwUserCode == CONTROL_ACCESSAUTH_RETRY_NORESTART) {
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("retry,no restart.");
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setLogCode("QLR0402501F1").setResultCode("RTA5109")("receive accessauth failed result:%d. retry,no restart.", dwUserCode);
 			m_bNeedAuthRetry = true;
 			m_bNeedGuardianRestart = false;
 		}
 		else if (dwUserCode == CONTROL_ACCESSAUTH_RETRY_RESTART) {
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("retry,restart.");
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setLogCode("QLR0402501F1").setResultCode("RTA510A")("receive accessauth failed result:%d. retry,restart.", dwUserCode);
 			m_bNeedAuthRetry = true;
 			m_bNeedGuardianRestart = true;
 		}
 		else if (dwUserCode == CONTROL_ACCESSAUTH_UNKNOWN) {
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("unkown access failed.no retry,restart.");
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setLogCode("QLR0402501F1").setResultCode("RTA510B")("receive accessauth failed result:%d. unknown access failed.no retry,restart.", dwUserCode);
 			m_bNeedAuthRetry = false;
 			m_bNeedGuardianRestart = true;
 		}
 		m_fsm.SetVtmLoadResult(VtmLoad_AccessAuth_Fail);
-		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402501Z10302").setResultCode("RTA5103")("receive accessauth failed result:%d", dwUserCode);
 		if (m_bNeedAuthRetry)
 		{
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("retry AccessAuth");
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setLogCode("QLR0402501F2")("retry AccessAuth");
 			m_fsm.ToReAccessAuth();
 		}
 	}
 	break;
-	case ERR_ACCESSAUTH_SERVICE_FAILED: //准入服务返回失败
+	case ERR_ACCESSAUTH_SERVICE_FAILED: //准入服务告知禁止此终端准入,无需重试,无需guardian重启
 	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("unkown access failed.no retry, no restart.");
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402501F1").setResultCode("RTA510C")("service forbid this terminal, no retry, no restart:(usercode)%d", dwUserCode);
 		m_bNeedAuthRetry = false;
-		m_bNeedGuardianRestart = false; //服务端准入失败无需重启
+		m_bNeedGuardianRestart = false;
 		m_fsm.SetVtmLoadResult(VtmLoad_AccessAuth_servFail);
-		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER)("access auth failed %d. TerminalStage = S", dwUserCode);
-		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402501Z10302").setResultCode("RTA5103")("receive accessauth failed result:%d", dwUserCode);
-		if (m_bNeedAuthRetry)
-		{
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("retry AccessAuth");
-			m_fsm.ToReAccessAuth();
-		}
 	}
 	break;
 	case EVENT_MOD_RELEASESIP_TIMEOUT:
@@ -1252,7 +1244,6 @@ void CHealthManagerEntity::OnSysVarEvent(const char *pszKey, const char *pszValu
 			m_bInMainPage = true;
 			if (!m_bHaveThrowMainPage)
 			{
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR0402501Z10401")(m_sysStaticInfo.InstallVersion.ToString().GetData());
 				m_bHaveThrowMainPage = true;
 				
 				ULONGLONG dwElapse = SP::Module::Comm::RVCGetTickCount();//使用机器启动时间秒数
@@ -1263,14 +1254,13 @@ void CHealthManagerEntity::OnSysVarEvent(const char *pszKey, const char *pszValu
 				LogWarn(Severity_Low, Error_Unexpect, LOG_EVT_HEALTH_FIRST_ENTER_MAINPADE_FROM_HEALTH_START, xMsg.GetData());
 				//oilyang@20230518 最大设置时间的3倍、2倍、1倍还没进入首页
 				if (dwToMainPageCostTime > m_maxWaitMainpageTime / 1000 * 3)
-					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402501Z10401").setResultCode("RTA5106")
-					("After receive accessauth success event, havn't receive enter main page in %d seconds.", m_maxWaitMainpageTime / 1000 * 3);
+					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402501B2").setResultCode("RTA5106").setCostTime(dwToMainPageCostTime)(m_sysStaticInfo.InstallVersion.ToString().GetData());
 				else if (dwToMainPageCostTime > m_maxWaitMainpageTime / 1000 * 2)
-					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402501Z10401").setResultCode("RTA5105")
-					("After receive accessauth success event, havn't receive enter main page in %d seconds.", m_maxWaitMainpageTime / 1000 *2);
+					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402501B2").setResultCode("RTA5105").setCostTime(dwToMainPageCostTime)(m_sysStaticInfo.InstallVersion.ToString().GetData());
 				else if (dwToMainPageCostTime > m_maxWaitMainpageTime / 1000)
-					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402501Z10401").setResultCode("RTA5104")
-						("After receive accessauth success event, havn't receive enter main page in %d seconds.", m_maxWaitMainpageTime / 1000);
+					DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402501B2").setResultCode("RTA5104").setCostTime(dwToMainPageCostTime)(m_sysStaticInfo.InstallVersion.ToString().GetData());
+				else
+					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR0402501B2").setCostTime(dwToMainPageCostTime)(m_sysStaticInfo.InstallVersion.ToString().GetData());
 			}
 			if (m_bBrowserIdleFirst)
 			{
@@ -1304,8 +1294,8 @@ void CHealthManagerEntity::OnTimeout(DWORD dwTimeID)
 	{
 	case HEALTHMANAGER_WAIT_MAINPAGE_OPEN_TIMER_ID:
 		if (!m_bHaveThrowMainPage)
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402501Z10401").setResultCode("RTA5104")
-			("After receive accessauth success event, havn't receive enter main page in %d seconds.", m_maxWaitMainpageTime / 1000);
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setResultCode("RTA5101")
+			("After receive accessauth success event, havn't receive enter main page.", m_maxWaitMainpageTime / 1000);
 		break;
 	default:
 		break;
@@ -1494,7 +1484,7 @@ void CHealthManagerEntity::OnEntityStateHook(const char* pszEntityName, const ch
 				csResultCode = CSimpleStringA::Format("RTA51%c%c", iByteHigh + 0x30, iByteLow - 10 + 0x41);
 			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("resultcode:%s", csResultCode.GetData());
 			LogWarn(Severity_High, Error_Unexpect, HealthManager_UserErrorCode_EntityLost_Start + esi.wEntityDevelopID, tmpWarnMsg.GetData());
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode("QLR0402501Z001").setResultCode(csResultCode.GetData())(tmpWarnMsg.GetData());
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode("QLR0402501S1").setResultCode(csResultCode.GetData())(tmpWarnMsg.GetData());
 			//doing nothing before enter main page. HandShake will take it.
 			//AND if selfcheck is doing, no action at all
 			if (m_bEnterMainPageEver && m_modRunInfo[pszEntityName].abnormalCount < m_maxAbnormalTimes && !m_modRunInfo[pszEntityName].bAbnormalBusy)
@@ -1519,10 +1509,7 @@ void CHealthManagerEntity::OnEntityStateHook(const char* pszEntityName, const ch
 		case EntityState_Idle:
 		{
 			if (_strnicmp("Chromium", pszEntityName, strlen("Chromium")) == 0)
-			{
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR0402501Z002")("Chromium to idle.");
 				LogEvent(Severity_Middle, LOG_EVT_HEALTHMANAGER_BROWSER_IDLE, "Chromium to idle.");
-			}
 		}
 		default:
 			break;
@@ -1547,7 +1534,7 @@ void CHealthManagerEntity::ToCalcRebootHourAndMinute(int restartBegin, int resta
 }
 void CHealthManagerEntity::RealCheck(SpReqAnsContext<HealthManagerService_RealCheck_Req, HealthManagerService_RealCheck_Ans>::Pointer ctx)
 {
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Real check %s", (LPCTSTR)ctx->Req.name);
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setLogCode("QLR0402501R1")("%s", ctx->Req.name.GetData());
 	CheckEntity(ctx->Req.name, Test_ShakeHand);
 	ctx->Answer(Error_Succeed);
 }
@@ -1587,6 +1574,12 @@ void CHealthManagerEntity::OnAnswer(CSmartPointer<IAsynWaitSp> pAsynWaitSp)
 			}
 			else
 				ExceptionErrorProcess((const char*)new_entry->EntityName, new_entry->ErrorResult);
+			std::map<std::string, std::string> msgInfo;
+			msgInfo["EntityName"] = new_entry->EntityName.GetData();
+			msgInfo["SelfTestReturnCode"] = SpStrError(new_entry->ErrorResult);
+			std::pair<bool, std::string> strResult;
+			strResult = generateJsonStr(msgInfo);
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setLogCode("QLR0402501S2")(strResult.second.c_str());
 		}
 	}
 }

+ 1 - 0
Module/mod_healthmanager/mod_healthmanager.h

@@ -240,6 +240,7 @@ public:
 
 	void QueryHardwareInfo(SpReqAnsContext<HealthManagerService_QueryHardwareInfo_Req, HealthManagerService_QueryHardwareInfo_Ans>::Pointer ctx)
 	{
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setLogCode("QLR0402501Q1")();
 		QueryHardwareInfoTask* pTask = new QueryHardwareInfoTask(&m_fsm);
 		pTask->ctx = ctx;
 		GetFunction()->PostThreadPoolTask(pTask);