Преглед изворни кода

Z991239-6443 #comment 心跳字符串改造

80374374 пре 1 месец
родитељ
комит
bd98ed8283
2 измењених фајлова са 16 додато и 101 уклоњено
  1. 12 29
      Module/mod_heartbeat/HeartBeatFSM.cpp
  2. 4 72
      Module/mod_heartbeat/HeartBeatFSM.h

+ 12 - 29
Module/mod_heartbeat/HeartBeatFSM.cpp

@@ -4,6 +4,7 @@
 #include <regex>
 #include "json/json.h"
 #include <string.h>
+#include <winpr/crt.h>
 
 using namespace CardReadAdapter;
 #include "EventCode.h"
@@ -683,12 +684,7 @@ void CHeartBeatFSM::LocalPreOnline(int slot, CSimpleStringA fromTermNo,CSimpleSt
 	req.businessData = data;
 	char buf[16];
 	ZeroMemory(buf, sizeof(buf));
-	//TODO: CrossPlaform  [Gifur@2025729]
-#ifdef RVC_OS_WIN
-	itoa(slot, buf, 10);
-#else
 	_itoa(slot, buf, 10);
-#endif	
 	CSimpleStringA kaku("kaku#");
 	req.module = 1;
 	req.reserved2.Init(2);
@@ -1190,6 +1186,7 @@ void HeartBeatConnection::SendCardActive(const int type,const int slot,unsigned
 	CSimpleStringA inParm = CSimpleStringA::Format("SendCardActive,type:%d, slot:%d, errCode:%d, fromTerm:%s, termNo:%s, findCard:%d, cardPos:%d, dataSize:%d,errCSCode:%d",
 													type, slot, errCode, m_TerminalNo.GetData(), termNo, findCard, cardPos, dataSize, errCSCode);
 	LogWarn(Severity_Low, Error_Unexpect, HeartBeat_UserErrorCode_SendCardActive_InParam, inParm.GetData());
+	//TODO: 下面这两部分,绝大部分逻辑类似,为什么不把相同的部分抽出来???  [Gifur@2025821]
 	//发起跨机调用包
 	if (type == 0||type==10)
 	{
@@ -1198,19 +1195,12 @@ void HeartBeatConnection::SendCardActive(const int type,const int slot,unsigned
 		m_pEntity->GetFunction()->GetSystemStaticInfo(sysSInfo);
 		req.type = type;
 		req.slot = slot;
+		
+		strncpy_s(req.FromTerminalNo, sizeof(req.FromTerminalNo), m_TerminalNo.GetData(), m_TerminalNo.GetLength());
+		strncpy_s(req.Account, sizeof(req.Account), account, accSize);
+		strncpy_s(req.TerminalNo, sizeof(req.TerminalNo), termNo, strlen(termNo));
+		strncpy_s(req.Param2, sizeof(req.Param2), data, dataSize);
 
-		//TODO: CrossPlaform  [Gifur@2025730]
-#ifdef RVC_OS_WIN
-		strncpy_s(req.FromTerminalNo, m_TerminalNo.GetData(), m_TerminalNo.GetLength());
-		strncpy_s(req.Account, account, accSize);
-		strncpy_s(req.TerminalNo, termNo, strlen(termNo));
-		strncpy_s(req.Param2, data, dataSize);
-#else
-		strcpy_s(req.FromTerminalNo, sizeof(req.FromTerminalNo), m_TerminalNo.GetData());
-		strcpy_s(req.Account, accSize, account);
-		strcpy_s(req.TerminalNo, sizeof(req.TerminalNo), termNo);
-		strcpy_s(req.Param2, dataSize, data);
-#endif //RVC_OS_WIN		
 		CSmartPointer<IPackage> pkt = CreateNewPackage("CARDACT");
 		pkt->AddStruct("INSREQX", false, false, (LPBYTE)&req, sizeof(CardActiveReq));
 
@@ -1228,18 +1218,11 @@ void HeartBeatConnection::SendCardActive(const int type,const int slot,unsigned
 		req.cardPos = cardPos;
 		req.reserved1 = errCSCode;
 
-		//TODO: CrossPlaform  [Gifur@2025730]
-#ifdef RVC_OS_WIN
-		strncpy_s(req.FromTerminalNo, m_TerminalNo.GetData(), m_TerminalNo.GetLength());
-		strncpy_s(req.Account, account, accSize);
-		strncpy_s(req.TerminalNo, termNo, strlen(termNo));
-		strncpy_s(req.Param2, data, dataSize);
-#else
-		strcpy_s(req.FromTerminalNo, sizeof(req.FromTerminalNo), m_TerminalNo.GetData());
-		strcpy_s(req.Account, accSize, account);
-		strcpy_s(req.TerminalNo, sizeof(req.TerminalNo), termNo);
-		strcpy_s(req.Param2, dataSize, data);
-#endif //RVC_OS_WIN		
+		strncpy_s(req.FromTerminalNo, sizeof(req.FromTerminalNo), m_TerminalNo.GetData(), m_TerminalNo.GetLength());
+		strncpy_s(req.Account, sizeof(req.Account), account, accSize);
+		strncpy_s(req.TerminalNo, sizeof(req.TerminalNo), termNo, strlen(termNo));
+		strncpy_s(req.Param2, sizeof(req.Param2), data, dataSize);
+
 		CSmartPointer<IPackage> pkt = CreateNewPackage("CARDACT");
 		pkt->AddStruct("INSREQX", false, false, (LPBYTE)&req, sizeof(CardActiveReq));
 

+ 4 - 72
Module/mod_heartbeat/HeartBeatFSM.h

@@ -36,12 +36,7 @@ typedef DWORD (__stdcall *LpRestorePerfRegistryFromFile)(LPCWSTR szFileName, LPC
 struct HandReq
 {
 	char TerminalNo[16];
-	//TODO: CrossPlaform  [Gifur@2025730]
-#ifdef RVC_OS_WIN
-	unsigned long ip;
-#else
-	uint32_t  ip;
-#endif	
+	uint32_t ip;
 	char WarningLevel;
 	char RunState;
 	char CustomerHandle;
@@ -66,15 +61,12 @@ struct HandErrListReq
 //[StructName("HANDANS")]
 struct HandAns
 {
-	//TODO: CrossPlaform  [Gifur@2025730]
-#ifdef RVC_OS_WIN	
-	unsigned long EventCode;
-#else
 	uint32_t EventCode;
-#endif	
 	char param1[16];
 	//int count;
 };
+
+/** WIN下unsigned long与uint32_t是等同的,为什么要这样写代码?不求甚解  [Gifur@2025821]*/
 #ifdef RVC_OS_WIN
 struct CardActiveReq
 {
@@ -130,26 +122,6 @@ enum EvtType
 	USER_EVT_CARD_ACTIVE,
 	USER_EVT_CARD_ACTIVE_FINISHED,
 };
-struct TerminalInfo
-{
-	char TerminalNo[16];
-	//TODO: CrossPlaform  [Gifur@2025730]
-#ifdef RVC_OS_WIN
-	unsigned long ip;
-#else
-	uint32_t ip;
-#endif
-	char WarningLevel;
-	char RunState;
-	char CustomerHandle;
-	char CallState;
-	char LocalMaintain;
-	char RemoteMaintain;
-	char TermStage;
-	char PreTermStage;
-	char NetState;
-	char PreNetState;
-};
 
 // Terminal Performance Information Struct[Josephus in 9:09:47 2016/4/23]
 #ifdef RVC_OS_WIN
@@ -198,47 +170,6 @@ namespace HttpStruct
 		}
 	};
 }
-struct CShakeHandVO
-{
-	string terminalNo;
-	long ip;
-	string warningLevel;
-	string runState;
-	string customerHandle;
-	string callState;
-	string localMaintain;
-	string remoteMaintain;
-	string termStage;
-	string preTermStage;
-	string netState;
-	string preNetState;
-};
-struct CShakeHandSystemInfo
-{
-	long serverIP;
-	long totalMem;
-	long freeMem;
-	long procNum;
-	long threadNum;
-	long handleNum;
-	long freeDisk;
-	string osStartTime;
-	long cpuLoad;
-};
-
-struct CShakeHandErrorVO
-{
-	long warnLevel;
-	string reserved1;
-	string errList;
-};
-struct CHandShakeHttp
-{	//存储到运行时
-	CShakeHandVO shakehandvo;
-	CShakeHandSystemInfo shakeHandSystemInfo;
-	CShakeHandErrorVO shakeHandErrorVO;
-};
-
 
 enum InstructionType
 {
@@ -260,6 +191,7 @@ enum InstructionType
 	INC_DEVICE_UNLOCK,
 	INC_DEVICE_KICK_OFF,
 };
+
 class CHeartBeatEntity;
 class CHeartBeatFSM;
 class InstructionEvent : public FSMEvent