Explorar o código

Z991239-4229 #comment feat: UpdateWK接口的实现

陈纪林80310970 %!s(int64=2) %!d(string=hai) anos
pai
achega
4b254a59c0

+ 15 - 0
Module/mod_accessauth/AccessAuthFSM.cpp

@@ -1364,6 +1364,21 @@ ErrorCodeEnum CAccessAuthFSM::SetSysVar(const CSimpleStringA &newVal)
 	return spFunction->SetSysVar("EntryPermit", (const char*)newVal);
 }
 
+void CAccessAuthFSM::UpdateWK()
+{
+    LOG_FUNCTION();
+    auto pEntity = ((CAccessAuthEntity*)m_pEntity);
+    CSimpleStringA strPinPadID = "", strDeviceID = "";
+    bool bHasPinPad = false;
+    pEntity->GetPinPadIDAndDeviceID(strPinPadID, strDeviceID, bHasPinPad);
+    //int capability = pEntity->GetPinPadCapability();
+    //Dbg("GetPinPadCapability:%d", capability);
+    if (bHasPinPad) {
+        CSmartPointer<UpdateWKTask> updateWKTask = new UpdateWKTask(this, pEntity);
+        GetEntityBase()->GetFunction()->PostThreadPoolTask(updateWKTask.GetRawPointer());
+    }
+}
+
 DWORD CAccessAuthFSM::InitDevice(SpReqAnsContext<AccessAuthService_InitDev_Req, AccessAuthService_InitDev_Ans>::Pointer &ctx)
 {
 	DWORD rc = 0;

+ 1 - 0
Module/mod_accessauth/AccessAuthFSM.h

@@ -755,6 +755,7 @@ public:
 	unsigned int s7_on_event(FSMEvent* event);*/
 
 public:
+	void UpdateWK();
 	DWORD InitDevice(SpReqAnsContext<AccessAuthService_InitDev_Req, AccessAuthService_InitDev_Ans>::Pointer &ctx);
 	DWORD SyncTime();
 	int m_finishAccess;

+ 11 - 0
Module/mod_accessauth/mod_AccessAuth.cpp

@@ -280,6 +280,12 @@ void CAccessAuthSession::Handle_InitDev(SpReqAnsContext<AccessAuthService_InitDe
 	m_pEntity->InitDevice(ctx);
 }
 
+void CAccessAuthSession::Handle_UpdateWK(SpOnewayCallContext<AccessAuthService_UpdateWK_Info>::Pointer ctx)
+{
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setAPI("UpdateWK")("call Handle_UpdateWK");
+	m_pEntity->UpdateWK();
+}
+
 void CAccessAuthSession::Handle_SyncTime(SpOnewayCallContext<AccessAuthService_SyncTime_Info>::Pointer ctx)
 {
 	m_pEntity->SyncTime();
@@ -1785,6 +1791,11 @@ bool CAccessAuthEntity::IsMachineTypeConfigurePinPad(CSimpleStringA strMachineTy
 		return true;
 }
 
+void CAccessAuthEntity::UpdateWK()
+{
+	m_FSM.UpdateWK();
+}
+
 void CAccessAuthEntity::BeginInitMKACS()
 {
 	LOG_FUNCTION();

+ 2 - 0
Module/mod_accessauth/mod_AccessAuth.h

@@ -19,6 +19,7 @@ public:
 	virtual void Handle_Regist(SpOnewayCallContext<AccessAuthService_Regist_Info>::Pointer ctx);	
 	virtual void Handle_Unregist(SpOnewayCallContext<AccessAuthService_Unregist_Info>::Pointer ctx);
 	virtual void Handle_InitDev(SpReqAnsContext<AccessAuthService_InitDev_Req, AccessAuthService_InitDev_Ans>::Pointer ctx);
+	virtual void Handle_UpdateWK(SpOnewayCallContext<AccessAuthService_UpdateWK_Info>::Pointer ctx);
 	virtual void Handle_InitializeNew(SpReqAnsContext<AccessAuthService_InitializeNew_Req, AccessAuthService_InitializeNew_Ans>::Pointer ctx);
 	virtual void Handle_SyncTime(SpOnewayCallContext<AccessAuthService_SyncTime_Info>::Pointer ctx);	
 	
@@ -48,6 +49,7 @@ public:
 
 	// 开始准入
 	ErrorCodeEnum Regist();
+	void UpdateWK();
 
 	// 重新准入
 	ErrorCodeEnum Reregist();