Bladeren bron

Z991239-5239 #comment 去掉密码键盘fwb内容,调整自检返回

oilyang 1 jaar geleden
bovenliggende
commit
8704e8755d
3 gewijzigde bestanden met toevoegingen van 34 en 131 verwijderingen
  1. 34 117
      Module/mod_pinpad/PinPadFSM.cpp
  2. 0 3
      Module/mod_pinpad/mod_PinPad.h
  3. 0 11
      Module/mod_pinpad/mod_pinpad.cpp

+ 34 - 117
Module/mod_pinpad/PinPadFSM.cpp

@@ -129,13 +129,6 @@ void CPinPadFSM::s2_on_entry()
 	m_eDevState = DEVICE_STATUS_NORMAL;
 	GetEntityBase()->GetFunction()->SetUserDefineState(USER_PINPAD_IDLE);
 	m_testResult = Error_Succeed;
-#if defined(RVC_OS_WIN)
-	//oilyang@20220413 except RVC.PAD without FWB
-	CSimpleStringA tmpFWBDevSN("");
-	GetEntityBase()->GetFunction()->GetSysVar("FWBDevSN", tmpFWBDevSN);
-	if (!(m_csMachineType.Compare("RVC.PAD", true) == 0 && tmpFWBDevSN.IsNullOrEmpty()))
-		ToLogWarnInfoAboutTermCustom(); //@lzm
-#endif
 }
 
 void CPinPadFSM::s2_on_exit()
@@ -185,18 +178,6 @@ unsigned int CPinPadFSM::s2_on_event(FSMEvent* pEvt)
 	case USER_EVT_QUIT:
 		pEvt->SetHandled();
 		break;
-	case USER_EVT_TODO_INIT:
-	{
-		pEvt->SetHandled();
-		ProcFWBReConnTask* task = new ProcFWBReConnTask(this);
-		GetEntityBase()->GetFunction()->PostThreadPoolTask(task);
-	}
-	break;
-	case USER_EVT_TODO_INIT_FINISHED:
-	{
-		pEvt->SetHandled();
-		return pEvt->param1;
-	}
 
 	default:
 		break;
@@ -292,18 +273,6 @@ unsigned int CPinPadFSM::s5_on_event(FSMEvent* pEvt)
 	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("s5 evt %d",pEvt->iEvt);
 	switch (pEvt->iEvt)
 	{
-	case USER_EVT_TODO_INIT:
-	{
-		pEvt->SetHandled();
-		ProcFWBReConnTask* task = new ProcFWBReConnTask(this);
-		GetEntityBase()->GetFunction()->PostThreadPoolTask(task);
-	}
-	break;
-	case USER_EVT_TODO_INIT_FINISHED:
-	{
-		pEvt->SetHandled();
-		return pEvt->param1;
-	}
 	default:
 		break;
 	}
@@ -323,18 +292,6 @@ unsigned int CPinPadFSM::s6_on_event(FSMEvent* pEvt)
 	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("s6 evt %d", pEvt->iEvt);
 	switch (pEvt->iEvt)
 	{
-	case USER_EVT_TODO_INIT:
-	{
-		pEvt->SetHandled();
-		ProcFWBReConnTask* task = new ProcFWBReConnTask(this);
-		GetEntityBase()->GetFunction()->PostThreadPoolTask(task);
-	}
-	break;
-	case USER_EVT_TODO_INIT_FINISHED:
-	{
-		pEvt->SetHandled();
-		return pEvt->param1;
-	}
 	default:
 		break;
 	}
@@ -344,16 +301,8 @@ int CPinPadFSM::Initial()
 {
 	LOG_FUNCTION();
 #if defined(RVC_OS_WIN)
-	//oilyang@20220413 except RVC.PAD without FWB
-	CSimpleStringA tmpFWBDevSN("");
-	GetEntityBase()->GetFunction()->GetSysVar("FWBDevSN", tmpFWBDevSN);
-	if ((m_csMachineType.Compare("RVC.PAD", true) == 0 && tmpFWBDevSN.IsNullOrEmpty()))
-	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("RVC.PAD without FWB(%s).",tmpFWBDevSN.GetData());
-		return 0;
-	}
 	DWORD dwCurrThId = GetCurrentThreadId();
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Initial thread id:%d",dwCurrThId);
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Initial thread id:%d", dwCurrThId);
 #endif
 	ErrorCodeEnum eErrDev;
 	auto pEntity = GET_DEV_ENTITY_BASE_POINTER();
@@ -363,56 +312,31 @@ int CPinPadFSM::Initial()
 	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("m_deviceNo:%s", m_deviceNo.GetData());
 	m_devCheckData = "0000000000000000";
 
-	CSimpleStringA tmpVendor(""), tmpDevSN(""), tmpDLLVersion(""), csDepPath(""), csBackslash(SPLIT_SLASH_STR);
-	GetEntityBase()->GetFunction()->GetSysVar("FWBVendor", tmpVendor);
-	GetEntityBase()->GetFunction()->GetSysVar("FWBDevSN", tmpDevSN);
-	GetEntityBase()->GetFunction()->GetSysVar("FWBVersion", tmpDLLVersion);
-	if (tmpDLLVersion.GetLength() < 2)//如果忘记配置,则直接使用默认值8.1
-		tmpDLLVersion = "8.1";
-	if (tmpDevSN.GetLength() > 12 && tmpDevSN.IndexOf("FWB") > 2)
-	{
-#if defined(RVC_OS_WIN)
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("This is fwb device.");
-		m_devSN = tmpDevSN;
-		VendorLibInfo tmpVendorLibInfo(GetEntityBase()->GetEntityName());
-		tmpVendorLibInfo.strVendor = tmpVendor;
-		CAutoArray<CSimpleStringA> dllVersions = tmpDLLVersion.Split('.');
-		if (dllVersions.GetCount() >= 2) {
-			tmpVendorLibInfo.strVersion = dllVersions[0];
-			tmpVendorLibInfo.strBatch = dllVersions[1];
-		} else {
-			tmpVendorLibInfo.strVersion = tmpDLLVersion;
-		}
-		pEntity->vendorLibInfo = tmpVendorLibInfo;
-#endif
-	}
-	else
+	CSimpleStringA csDepPath(""), csBackslash(SPLIT_SLASH_STR);
+
+	m_devSN = "";
+	eErrDev = pEntity->LoadVendorLibName();
+	if (eErrDev != Error_Succeed)
 	{
-		m_devSN = "";
-		eErrDev = pEntity->LoadVendorLibName();
-		if (eErrDev != Error_Succeed)
-		{
-			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("SpGetDevAdaptorPath(%d) failed.", eErrDev);
-			LogWarn(Severity_Middle, eErrDev, PinPad_UserErrorCode_Get_DevAdapter_Path_Failed, "Initial:SpGetDevAdaptorPath");
-			return Error_DevLoadFileFailed;
-		}
+		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("SpGetDevAdaptorPath(%d) failed.", eErrDev);
+		LogWarn(Severity_Middle, eErrDev, PinPad_UserErrorCode_Get_DevAdapter_Path_Failed, "Initial:SpGetDevAdaptorPath");
+		return Error_DevLoadFileFailed;
 	}
 	FulfillAdapterInfoFrom(pEntity->vendorLibInfo);
 	HARDWARE_ENTITY_SET_VENDOR_NAME(m_entCode, m_adapterInfo.strVendor);
 
 	pEntity->InitializeVendorLogSwitch();
-	
+
 
 	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("to load vendor dll.");
 
 	eErrDev = m_hDevHelper.LoadUp(m_adapterInfo.adapterFilePath);
 	if (!IS_SUCCEED(eErrDev))
 	{
-		if (tmpDevSN.GetLength() < 10 || tmpDevSN.IndexOf("FWB") < 1)
-			GetEntityBase()->GetFunction()->ShowFatalError("密码键盘加载厂商适配器失败!请检查root.ini配置是否正确。");
 		LogWarn(Severity_Middle, Error_NotInit, PinPad_UserErrorCode_Load_Dll_File_Failed, "密码键盘加载厂商适配器失败!请检查root.ini配置是否正确。");
 		return Error_DevLoadFileFailed;
-	} else {
+	}
+	else {
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("load vendor dll suc.");
 	}
 
@@ -424,28 +348,28 @@ int CPinPadFSM::Initial()
 		m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
 		eErr = m_hDevHelper->DevOpen(m_adapterInfo.GetPortInt(), m_adapterInfo.GetBaudrateInt());
 		m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
-		
+
 		if (eErr == Error_Succeed)
 		{
 			ToLogRootINIInfo();
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::DevOpen").setCostTime(m_ullEndTime - m_ullBeginTime)();
 			initTries = 0;
-			ErrorCodeEnum errCode3,errCode4;
+			ErrorCodeEnum errCode3, errCode4;
 			m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
 			//errCode1 = m_hDevHelper->SetParam(EPP_PT_SET_ENCRYPT_METHOD,EPP_ALGO_METHOD_3DES);
 			//errCode2 = m_hDevHelper->SetParam(EPP_PT_SET_MAC_ALGORITH,EPP_MAC_ALGO_ASNIX99);
 			errCode3 = m_hDevHelper->SetParam(EPP_PT_SET_PIN_ALGORITH, EPP_PIN_ALGO_SM4);
-			errCode4 = m_hDevHelper->SetParam(EPP_PT_SET_ECB_CBC_MODE,EPP_ALGO_MODE_3DEC_CBC);
+			errCode4 = m_hDevHelper->SetParam(EPP_PT_SET_ECB_CBC_MODE, EPP_ALGO_MODE_3DEC_CBC);
 			m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
-			
-			if(errCode3 != Error_Succeed || errCode4 != Error_Succeed)
+
+			if (errCode3 != Error_Succeed || errCode4 != Error_Succeed)
 			{
-				if(errCode3 != Error_Succeed)
+				if (errCode3 != Error_Succeed)
 				{
 					SetErrPackage("Initial::SetParm(3)", m_devSN, errCode3, MEC_DEVAPI_EPP_SetParam);
 					AlarmDEC();
 				}
-				if(errCode4 != Error_Succeed)
+				if (errCode4 != Error_Succeed)
 				{
 					SetErrPackage("Initial::SetParm(4)", m_devSN, errCode4, MEC_DEVAPI_EPP_SetParam);
 					AlarmDEC();
@@ -466,18 +390,16 @@ int CPinPadFSM::Initial()
 			Sleep(1200);
 			continue;
 		}
-	}while(initTries<PINPAD_INIT_TRIES);
-	
+	} while (initTries < PINPAD_INIT_TRIES);
+
 	if (initTries != 0)
 	{
 		LogEvent(Severity_Middle, LOG_EVT_PINPAD_OPEN_FAIL, "Open pinpad failed.");
-		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("Open pinpad failed.%s",(const char*)tmpDevSN);
-		if (tmpDevSN.GetLength() < 10 || tmpDevSN.IndexOf("FWB") < 1)
-			GetEntityBase()->GetFunction()->ShowFatalError("密码键盘打开失败!请检查键盘是否连接,配置是否正确。");
+		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("Open pinpad failed.");
 		return 1;
 	}
 	m_bOpened = true;
-	
+
 	//oiltmp comment the following 20160406
 	//update with the version 1.7.1
 	m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
@@ -502,7 +424,7 @@ int CPinPadFSM::Initial()
 		spConfig->ReadConfigValue("Load", "SN_SM", m_keySNSM);
 		spConfig->ReadConfigValue("Load", "ckckck", m_lastCheckCode);
 	}
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("encrypt key :%d,load key :%d", m_encryptkey,m_bSMLoaded);
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("encrypt key :%d,load key :%d", m_encryptkey, m_bSMLoaded);
 	DevCategoryInfo devInfo;
 	ZeroMemory(devInfo.szModel, MAX_DEV_MODEL_LEN);
 	ZeroMemory(devInfo.szType, MAX_DEV_TYPE_LEN);
@@ -510,7 +432,7 @@ int CPinPadFSM::Initial()
 	m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
 	eErrDev = m_hDevHelper->GetDevCategory(devInfo);
 	m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
-	
+
 	if (eErrDev == Error_Succeed)
 	{
 		m_szModel = devInfo.szModel;
@@ -528,7 +450,7 @@ int CPinPadFSM::Initial()
 	}
 
 	CSimpleStringA xTmpStr = CSimpleStringA::Format("(hw support):%d,load key :%d,SMSN:%s", m_encryptkey, m_bSMLoaded, m_keySNSM.GetData());
-	LogWarn(Severity_Low, Error_Unexpect, PinPad_UserErrorCode_DevConnect_CostTime, CSimpleStringA::Format("%d",(SP::Module::Comm::RVCGetTickCount()-m_ullConnectCost)/1000));
+	LogWarn(Severity_Low, Error_Unexpect, PinPad_UserErrorCode_DevConnect_CostTime, CSimpleStringA::Format("%d", (SP::Module::Comm::RVCGetTickCount() - m_ullConnectCost) / 1000));
 	LogWarn(Severity_Low, Error_Unexpect, PinPad_UserErrorCode_PinPad_InfoAboutKey_Onboot, xTmpStr.GetData());
 	LogEvent(Severity_Middle, LOG_EVT_PINPAD_OPEN_SUC, "Open pinpad suc.");
 	return 0;
@@ -1441,13 +1363,8 @@ bool CPinPadFSM::GetDevInfo(DevCategoryInfo &devInfo)
 	CSimpleStringA tmpModel("");
 	if (m_szModel.GetLength() > 1)
 	{
-		//oilyang@20200807 add FWBID for auth&init
-		CSimpleStringA tmpDevSN(""),tmpAddStr("");
-		GetEntityBase()->GetFunction()->GetSysVar("FWBDevSN", tmpDevSN);
-		if (tmpDevSN.GetLength() > 12 && tmpDevSN.IndexOf("FWB") > 2)
-			tmpAddStr = tmpAddStr + "Vendor=" + m_szVendor + "#FWBID=" + tmpDevSN;
-		else
-			tmpAddStr = tmpAddStr + "Vendor=" + m_szVendor;
+		CSimpleStringA tmpAddStr("");
+		tmpAddStr = tmpAddStr + "Vendor=" + m_szVendor;
 		if (m_szModel[m_szModel.GetLength() - 1] == '#')
 			tmpModel = m_szModel + tmpAddStr;
 		else
@@ -1468,12 +1385,12 @@ void CPinPadFSM::SetInWhatPage(int iPageType)
 }
 void CPinPadFSM::SelfTest(EntityTestEnum eTestType,CSmartPointer<ITransactionContext> pTransactionContext)
 {
-	if (m_eDevState == DEVICE_STATUS_FAULT || m_eDevState == DEVICE_STATUS_NOT_READY)
-	{
-		ProcFWBReConnTask* task = new ProcFWBReConnTask(this);
-		GetEntityBase()->GetFunction()->PostThreadPoolTask(task);
-	}
-	pTransactionContext->SendAnswer(Error_Succeed);
+	if (m_eDevState == DEVICE_STATUS_NORMAL)
+		pTransactionContext->SendAnswer(Error_Succeed);
+	else if (m_eDevState == DEVICE_STATUS_NOT_READY)
+		pTransactionContext->SendAnswer(Error_NotInit);
+	else
+		pTransactionContext->SendAnswer(Error_InvalidState);
 }
 
 int CPinPadFSM::ProcFWBReConn()

+ 0 - 3
Module/mod_pinpad/mod_PinPad.h

@@ -34,9 +34,6 @@ public:
 	{ 
 		ErrorCodeEnum Error = __OnStart(Error_Succeed);
 		GetFunction()->RegistSysVarEvent("UIState", this);
-#if defined(RVC_OS_WIN)
-		GetFunction()->RegistSysVarEvent("FWBReConn", this);
-#endif
 		pTransactionContext->SendAnswer(Error);
 	}
 

+ 0 - 11
Module/mod_pinpad/mod_pinpad.cpp

@@ -65,17 +65,6 @@ void CPinPadEntity::OnSysVarEvent(const char *pszKey,
 		else
 			m_fsm.SetInWhatPage(PageType_Other);
 	}
-	if ((_strnicmp(pszKey, "FWBReConn", strlen("FWBReConn")) == 0))
-	{
-		//"Y":open suc "U":unbind
-		if (_strnicmp(pszValue, "Y", strlen("Y")) == 0 || _strnicmp(pszValue, "U", strlen("U")) == 0)
-		{
-			FSMEvent* e = new FSMEvent(USER_EVT_TODO_INIT);
-			m_fsm.PostEventFIFO(e);
-		}
-		else if (_strnicmp(pszValue, "D", strlen("D")) == 0)
-			m_fsm.ResetDevInitFlag();
-	}
 }
 SP_BEGIN_ENTITY_MAP()
 	SP_ENTITY(CPinPadEntity)