Bläddra i källkod

#IQRV #comment 合并8.8.0ST

80374374 2 månader sedan
förälder
incheckning
1fb1c63b28
28 ändrade filer med 733 tillägg och 1052 borttagningar
  1. 2 0
      Module/CMakeLists.txt
  2. 67 0
      Module/include/CommEntityUtil.hpp
  3. 10 5
      Module/mod_CardIssuerStand/CardIssuerStandFSM.cpp
  4. 3 3
      Module/mod_CardReadAdapter/CardReadAdapterFSM.cpp
  5. 1 0
      Module/mod_CardReadAdapter/CardReadAdapter_UserErrorCode.h
  6. 8 7
      Module/mod_ContactlessCard/ContactlessFSM.cpp
  7. 3 3
      Module/mod_CustMngrAuth/CustMngrAuthFSM.cpp
  8. 3 2
      Module/mod_FingerPrint/FingerPrintFSM.cpp
  9. 16 7
      Module/mod_IDCertificate/IDCertFSM.cpp
  10. 151 1
      Module/mod_ResourceWatcher/ResourceWatcherFSM.cpp
  11. 27 4
      Module/mod_ResourceWatcher/ResourceWatcherFSM.h
  12. 9 1
      Module/mod_ResourceWatcher/mod_ResourceWatcher.h
  13. 8 8
      Module/mod_RomoteController/RemoteControllerCnn.cpp
  14. 0 245
      Module/mod_UpgradeMgr/UpgradeManager_client_g.h
  15. 0 120
      Module/mod_UpgradeMgr/UpgradeManager_def_g.h
  16. 0 15
      Module/mod_UpgradeMgr/UpgradeManager_msg_g.h
  17. 0 135
      Module/mod_UpgradeMgr/UpgradeManager_server_g.h
  18. 160 124
      Module/mod_UpgradeMgr/UpgradeTaskFSM.cpp
  19. 171 171
      Module/mod_UpgradeMgr/UpgradeTaskFSM.h
  20. 50 110
      Module/mod_UpgradeMgr/mod_UpgradeMgr.cpp
  21. 3 58
      Module/mod_UpgradeMgr/mod_UpgradeMgr.h
  22. 5 5
      Module/mod_accessauth/AccessAuthFSM.cpp
  23. 9 9
      Module/mod_accessauth/mod_AccessAuth.cpp
  24. 2 1
      Module/mod_alarm/AlarmFSM.cpp
  25. 13 7
      Module/mod_cardissuerstore/CardIssuerStoreFSM.cpp
  26. 1 1
      Module/mod_heartbeat/HeartBeatFSM.cpp
  27. 2 3
      Module/mod_pinpad/PinPadFSM.cpp
  28. 9 7
      Module/mod_upload/UploadFSM.cpp

+ 2 - 0
Module/CMakeLists.txt

@@ -243,6 +243,8 @@ add_subdirectory(mod_vtmloader)
 #below should be compiled succesufully.
 add_subdirectory(mod_SalesRecorder)
 add_subdirectory(mod_sipphone)
+#add uos cardissuerstore
+add_subdirectory(mod_cardissuerstore)
 endif(MSVC)
 
 

+ 67 - 0
Module/include/CommEntityUtil.hpp

@@ -543,6 +543,73 @@ static void ConvertGBK2Utf8(std::string& str)
 
 #endif //_MSC_VER
 
+enum DataTypeToMask
+{
+	DataMask_UNKNOWN,
+	DataMask_IDCard,	/*居民身份证*/
+	DataMask_HKMOTWPermit,	/*港澳台居住证*/
+	DataMask_HKMOPermit,	/*港澳往来内地通行证*/
+	DataMask_TWPass,	/*台胞证*/
+	DataMask_ForeignerPR,	/*外国人永久居留证*/
+	DataMask_Passport,	/*外国人护照*/
+	DataMask_CardAccount,	/*卡号*/
+};
+//to mask data
+//if data is null or empty or length of data is short than 3, break ;
+//return the first one and the last two characters by default
+static CSimpleStringA DataMask(DataTypeToMask eDataType, CSimpleStringA data)
+{
+	if (data.IsNullOrEmpty())
+	{
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("data is null or empty");
+		return "";
+	}
+	else if (data.GetLength() < 3)
+	{
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("data length is %d, too short");
+		return "";
+	}
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("data type is %d, length is %d", eDataType, data.GetLength());
+	switch (eDataType)
+	{
+	case DataMask_IDCard:
+	case DataMask_HKMOTWPermit:
+	case DataMask_ForeignerPR:
+		if (data.GetLength() < 7)
+		{
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("data length is %d", data.GetLength());
+			break;
+		}
+		return CSimpleStringA::Format("%s****%s", data.SubString(0, 6).GetData(), data.SubString(data.GetLength() - 1, 1).GetData());
+		break;
+	case DataMask_HKMOPermit:
+		if (data.GetLength() < 5)
+		{
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("data length is %d", data.GetLength());
+			break;
+		}
+		return CSimpleStringA::Format("%s****%s", data.SubString(0, 1).GetData(), data.SubString(data.GetLength() - 4, 4).GetData());
+		break;
+	case DataMask_CardAccount:
+		if (data.GetLength() < 5)
+		{
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("data length is %d", data.GetLength());
+			break;
+		}
+		if (data.GetLength() < 16)
+			return CSimpleStringA::Format("%s**%s", data.SubString(0, 2).GetData(), data.SubString(data.GetLength() - 2, 2).GetData());
+		else
+			return CSimpleStringA::Format("%s****%s", data.SubString(0, 4).GetData(), data.SubString(data.GetLength() - 4, 4).GetData());
+		break;
+	case DataMask_TWPass:
+	case DataMask_Passport:
+	case DataMask_UNKNOWN:
+	default:
+		break;
+	}
+	return CSimpleStringA::Format("%s****%s", data.SubString(0, 1).GetData(), data.SubString(data.GetLength() - 2, 2).GetData());
+}
+
 } //namespace Util
 
 namespace Net{

+ 10 - 5
Module/mod_CardIssuerStand/CardIssuerStandFSM.cpp

@@ -2215,7 +2215,7 @@ int CCardIssuerFSM::CaptureCard(SpReqAnsContext<CardIssuerStandService_Capture_R
 	eErr = MachineMoveCardBackNotHold();
 	if (eErr == Error_Succeed)
 	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040220305")();
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040220304")();
 		bool bCaptured = ToRegistCaptureCardInfo();
 		m_currCardNo = m_addCardNo = "";
 	}
@@ -2809,7 +2809,12 @@ int CCardIssuerFSM::ReadCard_Contact(SpReqAnsContext<CardIssuerStandService_Read
 				else
 				{
 					//既没有读到磁条,又不是IC,很大概率是插反了
-					LogWarn(Severity_Low, Error_Unexpect, CardIssuer_UserErrorCode_Maybe_InsertCard_InWrongStyle, "<ReadCard>, 既没读到磁条,又没检测到IC,可能插反了");
+					if (m_issueStatus) {
+						LogWarn(Severity_Low, Error_Unexpect, CardIssuer_UserErrorCode_Maybe_InsertCard_InWrongStyle, "<ReadCard>, 既没读到磁条,又没检测到IC,可能插反了,m_issueStatus=1");
+					}
+					else {
+						LogWarn(Severity_Low, Error_Unexpect, CardIssuer_UserErrorCode_Maybe_InsertCard_InWrongStyle, "<ReadCard>, 既没读到磁条,又没检测到IC,可能插反了,m_issueStatus=0");
+					}
 					if (m_issueStatus)
 					{
 						m_mixedEx[m_currentHopper - 1]++;
@@ -2859,7 +2864,7 @@ int CCardIssuerFSM::ReadCard_Contact(SpReqAnsContext<CardIssuerStandService_Read
 			return 1;
 	}
 	bICOK = true;
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040220303")("ReadCard suc. cardType:%d", ctx->Ans.ICType);
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040220303")("ReadCard suc. cardType:%d. m_issueStatus:%d", ctx->Ans.ICType, m_issueStatus);
 	return 0;
 }
 int CCardIssuerFSM::ReadCard_RF(SpReqAnsContext<CardIssuerStandService_Read_Req, CardIssuerStandService_Read_Ans>::Pointer ctx)
@@ -3117,7 +3122,7 @@ int CCardIssuerFSM::ReadCard_RF(SpReqAnsContext<CardIssuerStandService_Read_Req,
 		else
 			return 1;
 	}
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040220303")("ReadCard suc. cardType:%d", ctx->Ans.ICType);
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040220303")("ReadCard suc. cardType:%d. m_issueStatus:%d", ctx->Ans.ICType, m_issueStatus);
 	return 0;
 }
 int CCardIssuerFSM::PreOnline(SpReqAnsContext<CardIssuerStandService_PreOnline_Req, CardIssuerStandService_PreOnline_Ans>::Pointer ctx)
@@ -7441,7 +7446,7 @@ int CCardIssuerFSM::QuickSelfCheckImpl()
 			ret = 0;
 		}
 		pClient->GetFunction()->CloseSession();
-		pClient->SafeDelete();
+		//pClient->SafeDelete();
 		return ret;
 	}
 	else {

+ 3 - 3
Module/mod_CardReadAdapter/CardReadAdapterFSM.cpp

@@ -2415,9 +2415,9 @@ int CCardReadAdapterFSM::NotifyPreonline(SpReqAnsContext<CardReadAdapterService_
 			}
 			else if (ctx->Req.reserved1[0] == CardIssuer_UserErrorCode_DevOpen_Failed || ctx->Req.reserved1[0] == CardIssuerStore_UserErrorCode_DevOpen_Failed)
 			{
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220327").setResultCode("RTA2311")("卡库卡机未成功打开");
-				LogWarn(Severity_Middle, Error_Unexpect, CardIssuer_UserErrorCode_DevOpen_Failed, "卡库卡机未成功打开");
-				m_crossCtx->Answer(Error_DevNotAvailable, CardIssuer_UserErrorCode_DevOpen_Failed);
+				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR040220327").setResultCode("RTA2R04")("卡库卡机未成功打开");
+				LogWarn(Severity_Middle, Error_Unexpect, CardReadAdapter_UserErrorCode_CardIssuerStore_DevOpen_Failed, "卡库卡机未成功打开");
+				m_crossCtx->Answer(Error_DevNotAvailable, CardReadAdapter_UserErrorCode_CardIssuerStore_DevOpen_Failed);
 			}
 			else
 			{

+ 1 - 0
Module/mod_CardReadAdapter/CardReadAdapter_UserErrorCode.h

@@ -16,5 +16,6 @@
 #define CardReadAdapter_UserErrorCode_CardIssuer_Is_Working					(CardReadAdapter_UserErrorCode_Start + 9)	//卡机实体正忙
 #define CardReadAdapter_UserErrorCode_HBService_No_Return					(CardReadAdapter_UserErrorCode_Start + 10)	//心跳服务超时未返回
 #define CardReadAdapter_UserErrorCode_CardActive_Unexpect					(CardReadAdapter_UserErrorCode_Start + 11)	//跨机收到未处理的返回(某些返回可能在后期细化中提供处理)
+#define CardReadAdapter_UserErrorCode_CardIssuerStore_DevOpen_Failed		(CardReadAdapter_UserErrorCode_Start + 12)  //跨机时卡库卡机未成功打开
 
 #endif //_CARDREADADAPTER_USER_ERRORCODE_H

+ 8 - 7
Module/mod_ContactlessCard/ContactlessFSM.cpp

@@ -7,7 +7,7 @@
 #include <map>
 
 #include "publicFunExport.h"
-
+#include "CommEntityUtil.hpp"
 #ifdef RVC_OS_WIN
 #else
 #include <dlfcn.h>
@@ -718,7 +718,8 @@ ErrorCodeEnum CContactlessCardFSM::Load()
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Load, GetBasePath failed (%d).",eErrPath);
 		return Error_Param;
 	}
-	LogWarn(Severity_Low, Error_Unexpect, ContactlessCard_UserErrorCode_RootInfo, m_adapterInfo.adapterFilePath.GetData());
+	//LogWarn(Severity_Low, Error_Unexpect, ContactlessCard_UserErrorCode_RootInfo, m_adapterInfo.adapterFilePath.GetData());
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(m_adapterInfo.adapterFilePath.GetData());
 	if (Error_Succeed != LoadUpAdapterLibrary()) {
 		errMsg = "非接读卡器加载厂商适配器失败!请检查root.ini配置是否正确。";
 		LogWarn(Severity_Middle, Error_Unexpect, ContactlessCard_UserErrorCode_DllLoadFailed, errMsg.GetData());
@@ -785,7 +786,8 @@ ErrorCodeEnum CContactlessCardFSM::Load()
 	else
 	{
 		m_devInit = true;
-		LogWarn(Severity_Low, Error_Unexpect, ContactlessCard_UserErrorCode_DevOpen_Success, "非接读卡器打开成功");
+		//LogWarn(Severity_Low, Error_Unexpect, ContactlessCard_UserErrorCode_DevOpen_Success, "非接读卡器打开成功");
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("非接读卡器打开成功");
 		return Error_Succeed;
 	}
 }
@@ -1051,9 +1053,8 @@ int CContactlessCardFSM::AcceptCard(SpReqAnsContext<ContactlessCardService_Inser
 
 				t2ICTrack2 = pICTrack2;
 				t2ICAccount = (char*)ddd;//oiltest
-				LogWarn(Severity_Low, Error_Succeed, ContactlessCard_UserErrorCode_ReadAccount, CSimpleStringA::Format("split pos:%d, card acount:%s,%s"
-					, pos, t2ICAccount.substr(0, 6).c_str(), t2ICAccount.substr(t2ICAccount.length() - 4, 4).c_str()));
 				ctx->Ans.ICData = ctx->Ans.t2Account = t2ICAccount.c_str();
+				LogWarn(Severity_Low, Error_Succeed, ContactlessCard_UserErrorCode_ReadAccount, SP::Module::Util::DataMask(SP::Module::Util::DataMask_CardAccount, t2ICAccount.c_str()));
 				ctx->Ans.ICType = 4;
 				ctx->Ans.status = 0;
 				delete[]ddd;
@@ -2038,8 +2039,8 @@ int CContactlessCardFSM::PreOnlineJS(SpReqAnsContext<ContactlessCardService_Read
 		}
 		delete[]ddd;
 
-		LogWarn(Severity_Low, Error_Succeed, ContactlessCard_UserErrorCode_ReadAccount, CSimpleStringA::Format("split pos:%d, card acount:%s,%s"
-			, pos, t2ICAccount.substr(0, 6).c_str(), t2ICAccount.substr(t2ICAccount.length() - 4, 4).c_str()));//读到的卡号
+		//oiltmp@20250728 what's the purpose of record this?
+		LogWarn(Severity_Low, Error_Succeed, ContactlessCard_UserErrorCode_ReadAccount, SP::Module::Util::DataMask(SP::Module::Util::DataMask_CardAccount, t2ICAccount.c_str()));//读到的卡号
 	}
 	delete[]pICTrack2;
 

+ 3 - 3
Module/mod_CustMngrAuth/CustMngrAuthFSM.cpp

@@ -266,7 +266,7 @@ unsigned int CCustMngrAuthFSM::s3_on_event(FSMEvent* pEvt)
 		{
 			pEvt->SetHandled();
 			AuthorizeFinishedEvent* authorEvt = dynamic_cast<AuthorizeFinishedEvent*>(pEvt);
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("authorize finished with param1 as %d", authorEvt->param1);
+			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("authorize finished with param1 as %d", authorEvt->param1);
 			if (authorEvt->param1 == 0)
 			{
 				 if (m_authCtx.eAuthByWhich == AuthByFngPrnt)
@@ -298,7 +298,7 @@ unsigned int CCustMngrAuthFSM::s3_on_event(FSMEvent* pEvt)
 		{
 			pEvt->SetHandled();
 			QueryAuthorInfoFinishedEvent* qafEvt = dynamic_cast<QueryAuthorInfoFinishedEvent*>(pEvt);
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("authorize finished with param1 as %d", qafEvt->param1);
+			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("authorize finished with param1 as %d", qafEvt->param1);
 			if (qafEvt->param1 == 0)
 			{
 				 if (m_authCtx.eAuthByWhich == AuthByFngPrnt){
@@ -686,7 +686,7 @@ ErrorCodeEnum CCustMngrAuthFSM::GetImgBlob(CBlob& data, CSimpleStringA imgPath)
 ErrorCodeEnum CCustMngrAuthFSM::MatchFingerPrintEx(SpReqAnsContext<CustMngrAuthService_QueryAuthorInfo_Req, CustMngrAuthService_QueryAuthorInfo_Ans>::Pointer ctx, bool& bStopAuthorize, DWORD& dwUserErrCode)
 {
 	LOG_FUNCTION();
-	LogWarn(Severity_Low, Error_Unexpect, LOG_ERR_CUSTMNGRAUTH_INVOKE_MATCHEx, "web invoke MatchFingerPrintEx");
+	//LogWarn(Severity_Low, Error_Unexpect, LOG_ERR_CUSTMNGRAUTH_INVOKE_MATCHEx, "web invoke MatchFingerPrintEx");
 
 	ErrorCodeEnum errCode;
 	m_pFingerPrint = new FingerPrintService_ClientBase(m_pEntity);

+ 3 - 2
Module/mod_FingerPrint/FingerPrintFSM.cpp

@@ -374,7 +374,8 @@ int CFingerPrintFSM::Initial()
 		return 0;
 	}
 	FulfillAdapterInfoFrom(pEntity->vendorLibInfo);
-	LogWarn(Severity_Low, Error_Unexpect, FingerPrint_UserErrorCode_ROOT_INFO, m_adapterInfo.adapterFilePath.GetData());
+	//LogWarn(Severity_Low, Error_Unexpect, FingerPrint_UserErrorCode_ROOT_INFO, m_adapterInfo.adapterFilePath.GetData());
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)(m_adapterInfo.adapterFilePath.GetData());
 	pEntity->InitializeVendorLogSwitch();
 	ErrorCodeEnum err = LoadUpAdapterLibrary();
 	if (!IS_SUCCEED(err))
@@ -435,7 +436,7 @@ int CFingerPrintFSM::Initial()
 	}
 	m_adapterInfo.FulfillCategoryInfo(m_devCatInfo);
 	SetDevInitFlag();
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER)("指纹仪设备打开成功");
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("指纹仪设备打开成功");
 	return 0;
 }
 

+ 16 - 7
Module/mod_IDCertificate/IDCertFSM.cpp

@@ -1675,16 +1675,25 @@ void CIDCertFSM::CopyIDCerDataToCtx(IDCerInfoEx2 idInfoEx2, T& ctx)
 
 	//转换头像图片
 	GetPngBlobEx(ctx->Ans.headphoto, "zp");
-
+	CSimpleStringA csIDInfo, csIDLogInfo, csIDType;
 #ifdef RVC_OS_WIN
-	CSimpleStringA csIDLogInfo = CSimpleStringA::Format("IDNo:%s****%s"
-		, (const char*)CSimpleStringA(GetGBKString((UINT16*)idInfoEx2.idno.data)).SubString(0, 4)
-		, (const char*)CSimpleStringA(GetGBKString((UINT16*)idInfoEx2.idno.data)).SubString(CSimpleStringA(GetGBKString((UINT16*)idInfoEx2.idno.data)).GetLength() - 1, 1));
+	csIDInfo = CSimpleStringA::Format("%s", GetGBKString((UINT16*)idInfoEx2.idno.data));
+	csIDType = CSimpleStringA::Format("%s", GetGBKString((UINT16*)idInfoEx2.idType.data));
 #else
-	CSimpleStringA tIdcode = (char*)utf8Data->idno;
-	CSimpleStringA csIDLogInfo = CSimpleStringA::Format("IDNo:%s****%s"
-		, (const char*)tIdcode.SubString(0, 4), (const char*)tIdcode.SubString(tIdcode.GetLength() - 1, 1));
+	csIDInfo = CSimpleStringA::Format("%s", utf8Data->idno);
+	csIDType = CSimpleStringA::Format("%s", utf8Data->idType);
 #endif
+	if (csIDType.IsNullOrEmpty())
+		csIDLogInfo = SP::Module::Util::DataMask(SP::Module::Util::DataMask_IDCard, csIDInfo);
+	else if (csIDType.Compare("I") == 0 || csIDType.Compare("Y") == 0)
+		csIDLogInfo = SP::Module::Util::DataMask(SP::Module::Util::DataMask_ForeignerPR, csIDInfo);
+	else if (csIDType.Compare("J") == 0)
+		csIDLogInfo = SP::Module::Util::DataMask(SP::Module::Util::DataMask_HKMOTWPermit, csIDInfo);
+	else
+	{
+		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER)("IdType:[%s]", csIDType.GetData());
+		csIDLogInfo = SP::Module::Util::DataMask(SP::Module::Util::DataMask_UNKNOWN, csIDInfo);
+	}
 	LogWarn(Severity_Low, Error_Succeed, IDCertificate_UserErrorCode_ReadAndScan_GetIDInfo, csIDLogInfo.GetData());
 
 	if (utf8Data != nullptr)

+ 151 - 1
Module/mod_ResourceWatcher/ResourceWatcherFSM.cpp

@@ -324,6 +324,21 @@ void ResourceWatcherFSM::TriggerProccessUpload()
     }
 }
 
+void ResourceWatcherFSM::TriggerFileListUpload()
+{
+    CSmartPointer<IConfigInfo> spCtSettingConfig;
+    GetEntityBase()->GetFunction()->OpenConfig(Config_CenterSetting, spCtSettingConfig);
+    //集中配置读取需要上送的路径
+    CSimpleStringA fileListPath("");
+    spCtSettingConfig->ReadConfigValue(m_pEntity->GetEntityName(), "DirPathToUploadFileList", fileListPath);
+    if (!fileListPath.IsNullOrEmpty())
+    {
+        m_fileListPath = fileListPath.Split('|');
+        UploadDirPathFileListTask* uploadFileListTask = new UploadDirPathFileListTask(this);
+        GetEntityBase()->GetFunction()->PostThreadPoolTask(uploadFileListTask);
+    }
+}
+
 ErrorCodeEnum ResourceWatcherFSM::OnInit()
 {
     neverMainPage = true;		//是否未进入过首页
@@ -4894,7 +4909,7 @@ void ResourceWatcherFSM::ConfirmWindowEffectHasBeenOpen()
 }
 #endif // RVC_OS_LINUX
 
-void ResourceWatcherFSM::GetSystemProccess()
+void ResourceWatcherFSM::UploadSystemProccess()
 {
     if(processName.empty())
     {
@@ -4937,4 +4952,139 @@ void ResourceWatcherFSM::GetSystemProccess()
         }
         
     }
+}
+
+void ResourceWatcherFSM::UploadDirPathFileList(CSimpleStringA dirFilePath)
+{
+    CSimpleStringA realPath(true);
+    int res = ExpandDir(dirFilePath, realPath);
+    switch (res)
+    {
+    case -1: //映射无效,使用原数据
+    {
+        realPath = dirFilePath;
+        break;
+    }
+    case -2: //GetPath映射错误,ExpandDir有报错,这里就不报了
+    {
+        return;
+    }
+    default:
+        break;
+    }
+
+    DWORD attrs = GetFileAttributesA(realPath);
+    if (attrs == INVALID_FILE_ATTRIBUTES)
+    {
+        const DWORD lastError = GetLastError();
+        DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA5A15")("Acess to path error:[%s], GLE = %u.", realPath.GetData(), lastError);
+        return;
+    }
+    else  if (!(attrs & FILE_ATTRIBUTE_DIRECTORY))
+    { //非文件夹类型
+        DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA5A15")("Path [%s]  is not Directory!", realPath.GetData());
+        return;
+    }
+
+    int len = 0;
+    vector<CSimpleStringA> fileList = GetFileListFromDirectory(realPath);
+    if (!fileList.empty())
+    {
+
+        string tPath = realPath.GetData();
+        string jsonPath;
+        for (char c : tPath) { //替换反斜杠
+            if (c == '\\') {
+                jsonPath += '\\';
+                jsonPath += '\\';
+            }
+            else {
+                jsonPath += c;
+            }
+        }
+        CSimpleStringA curListStr = "";
+        CSimpleStringA endStr = ",";
+        CSimpleStringA totalListStr = CSimpleStringA::Format("{\"path\":\"%s\", \"fileList\":[", jsonPath.c_str());
+
+        if (totalListStr.GetLength() > 1000)
+        {
+            DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Dir Path length over 1000!");
+            DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("%s", totalListStr.SubString(0, 1000));
+            return;
+        }
+
+        for (int i = 0; i < fileList.size(); i++)
+        {
+            curListStr = CSimpleStringA("\"") + fileList[i] + "\"";
+            len = totalListStr.GetLength() + curListStr.GetLength();
+            if (len > 1000 || i == (fileList.size() - 1))
+            {
+                endStr = "]}";
+                if (i == (fileList.size() - 1)) //最后一个
+                {
+                    totalListStr = totalListStr + curListStr + endStr;
+                    DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("GetFileListFromDirectory")(totalListStr.GetData());
+                    break;
+                }
+                else //长度超限
+                {
+                    totalListStr[totalListStr.GetLength() - 1] = ']';
+                    totalListStr = totalListStr + "}";
+                    DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("GetFileListFromDirectory")(totalListStr.GetData());
+                    totalListStr = CSimpleStringA::Format("{\"path\":\"%s\", \"fileList\":[", jsonPath.c_str()) + curListStr + ","; //超过长度则从当前进程开始重新搭建日志
+                }
+            }
+            else
+            {
+                endStr = ",";
+                totalListStr = totalListStr + curListStr + endStr;
+            }
+        }
+    }
+}
+
+vector<CSimpleStringA> ResourceWatcherFSM::GetFileListFromDirectory(CSimpleStringA path)
+{
+    vector<CSimpleStringA> files;
+#ifdef _WIN32
+    WIN32_FIND_DATAA data;
+    HANDLE hFind;
+
+    CSimpleStringA searchPath = path + "\\*";
+    hFind = FindFirstFileA(searchPath.GetData(), &data);
+    if (hFind != INVALID_HANDLE_VALUE) {
+        do {
+            if (strcmp(data.cFileName, ".") == 0 || strcmp(data.cFileName, "..") == 0)
+                continue;
+            
+            files.push_back(data.cFileName);
+
+            if ((data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0) { //文件夹类型,只传文件夹名
+                CSimpleStringA fullPath = path + "\\" + data.cFileName;
+                UploadDirPathFileList(fullPath); //上送子文件夹下的文件列表
+            }
+        } while (FindNextFileA(hFind, &data) != 0);
+        FindClose(hFind);
+    }
+#else
+    DIR* dir = opendir(path.GetData());
+    if (!dir) return files;
+
+    struct dirent* entry;
+    while ((entry = readdir(dir)) != nullptr) {
+        if (CSimpleStringA(entry->d_name) == "." || CSimpleStringA(entry->d_name) == "..")
+            continue;
+        
+        files.push_back(entry->d_name);
+
+        CSimpleStringA fullPath = path + "/" + entry->d_name;
+        DWORD attrs = GetFileAttributesA(fullPath);
+        if (attrs & FILE_ATTRIBUTE_DIRECTORY) { //文件夹类型,只传文件夹名
+            UploadDirPathFileList(fullPath); //上送子文件夹下的文件列表
+        }
+    }
+    closedir(dir);
+#endif
+
+    return files;
 }

+ 27 - 4
Module/mod_ResourceWatcher/ResourceWatcherFSM.h

@@ -24,7 +24,6 @@
 #include <sys/types.h>
 #include <dirent.h>
 #include <sys/stat.h>
-#include "CommEntityUtil.hpp"
 #else
 #include <ws2tcpip.h>
 #include <tchar.h>
@@ -234,6 +233,7 @@ public:
 	//进入首页时触发的功能在此
 	void TriggerAtStatusChanged(bool bMStatus);
 	void TriggerProccessUpload();
+	void TriggerFileListUpload();
 
 	void AfterInit();
 
@@ -268,6 +268,7 @@ private:
 
 	int m_diskLastWarnHour;
 	BOOL m_skipDesktopDetect;
+	CAutoArray<CSimpleStringA> m_fileListPath;
 
 #ifdef RVC_OS_WIN
 	vector<CSimpleStringA>m_nonSignedFiles;
@@ -315,11 +316,16 @@ public:
 		ResourceWatcherService_GetBizLinks_Ans>::Pointer ctx);
 
 	bool GetNeverMainPageFlag() { return neverMainPage; } //是否未进过首页
-	void GetSystemProccess();
 	void GetSystemCPUStatus();
 	void GetSystemMemoryStatus();
 	void GetSystemDiskStatus();
 	void GetDiskStatusFrom(LPCTSTR path);
+
+	vector<CSimpleStringA> GetFileListFromDirectory(CSimpleStringA path);
+	void UploadDirPathFileList(CSimpleStringA dirFilePath);
+	CAutoArray<CSimpleStringA> GetUploadPathList() { return m_fileListPath; }
+	void UploadSystemProccess();
+
 	void HardwareInfoTimer(void* pData);
 	void DiskCheckTimer(void* pData);
 
@@ -515,6 +521,9 @@ struct DiskAndFilesTask : public ITaskSp
 			m_pFSM->GetEntityBase()->GetFunction()->SetTimer(TIMER_DISK_CHECK, pListener, checkTime);
 			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("Set DISK CHECK Timer!");
 		}
+
+		//清理结束后触发
+		m_pFSM->TriggerFileListUpload();
 	}
 };
 
@@ -535,7 +544,6 @@ struct UploadSysProcInfoTask : public ITaskSp
 	UploadSysProcInfoTask(ResourceWatcherFSM* pFSM) : m_pFSM(pFSM) {}
 	void Process()
 	{
-		CSimpleStringA t_terminalState;
 		DWORD elapsed = 0;
 		DWORD dwStart = SP::Module::Comm::RVCGetTickCount();
 		DWORD dwEnd = SP::Module::Comm::RVCGetTickCount();
@@ -547,6 +555,21 @@ struct UploadSysProcInfoTask : public ITaskSp
 			elapsed = dwEnd - dwStart;
 		}
 		m_pFSM->GetSystemCPUStatus();
-		m_pFSM->GetSystemProccess();
+		m_pFSM->UploadSystemProccess();
+	}
+};
+
+//获取指定路径并将文件列表上送
+struct UploadDirPathFileListTask : public ITaskSp
+{
+	ResourceWatcherFSM* m_pFSM;
+	UploadDirPathFileListTask(ResourceWatcherFSM* pFSM) : m_pFSM(pFSM) {}
+	void Process()
+	{
+		CAutoArray<CSimpleStringA> list = m_pFSM->GetUploadPathList();
+		for (int i = 0; i < list.GetCount(); i++)
+		{
+			m_pFSM->UploadDirPathFileList(list[i]);
+		}
 	}
 };

+ 9 - 1
Module/mod_ResourceWatcher/mod_ResourceWatcher.h

@@ -105,11 +105,15 @@ public:
 		{
 			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("Terminal has been lastStage(%s) before ResourceWatcher start.", terminalStage);
 			m_fsm.TriggerProccessUpload();
+			if (!(0 == CSimpleStringA("A").Compare(terminalStage, true))) //非首页,已达终态
+			{
+				m_fsm.TriggerFileListUpload();
+			}
 		}
 		else
 		{
 			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("Terminal is starting, regist the teminalStage Event.");
-			spEntityFunction->RegistSysVarEvent("terminalStage", this);
+			spEntityFunction->RegistSysVarEvent("TerminalStage", this);
 		}
 		
 
@@ -250,6 +254,10 @@ public:
 			{
 				DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("Status changed, teminalStage = %s.", pszValue);
 				m_fsm.TriggerProccessUpload();
+				if (!(0 == CSimpleStringA("A").Compare(pszValue, true))) //非通过准入的情况下,直接开始文件列表获取
+				{
+					m_fsm.TriggerFileListUpload();
+				}
 			}
 		}
 	}

+ 8 - 8
Module/mod_RomoteController/RemoteControllerCnn.cpp

@@ -1569,11 +1569,11 @@ ErrorCodeEnum CRemoteControllerCnn::HandleUpgradePackReq(const CSmartPointer<IPa
 	auto rc = pClient->Connect();
 	if (rc == Error_Succeed)
 	{
-		UpgradeMgrService_RegistLocalPack_Req req = {};
-		req.strPackFile = strPack;
+		//UpgradeMgrService_RegistLocalPack_Req req = {};
+		//req.strPackFile = strPack;
 
-		UpgradeMgrService_RegistLocalPack_Ans ans = {};
-		rc = (*pClient)(EntityResource::getLink().upgradeLink())->RegistLocalPack(req, ans, 10000);
+		//UpgradeMgrService_RegistLocalPack_Ans ans = {};
+		//rc = (*pClient)(EntityResource::getLink().upgradeLink())->RegistLocalPack(req, ans, 10000);
 
 		pClient->GetFunction()->CloseSession();
     } else {
@@ -3374,11 +3374,11 @@ ErrorCodeEnum CRemoteControllerCnn::HandleCancelUpgradeReq(const CSmartPointer<I
 	auto rc = pClient->Connect();
 	if (rc == Error_Succeed)
 	{
-		UpgradeMgrService_CancelUpdate_Req req = {};
-		req.strPackFile = strPack;
+		//UpgradeMgrService_CancelUpdate_Req req = {};
+		//req.strPackFile = strPack;
 
-		UpgradeMgrService_CancelUpdate_Ans ans = {};
-		rc = (*pClient)(EntityResource::getLink().upgradeLink())->CancelUpdate(req, ans, 10000);
+		//UpgradeMgrService_CancelUpdate_Ans ans = {};
+		//rc = (*pClient)(EntityResource::getLink().upgradeLink())->CancelUpdate(req, ans, 10000);
 
 		pClient->GetFunction()->CloseSession();
     } else {

+ 0 - 245
Module/mod_UpgradeMgr/UpgradeManager_client_g.h

@@ -107,104 +107,6 @@ public:
 		return Error;
 	}
 
-	ErrorCodeEnum RegistLocalPack(UpgradeMgrService_RegistLocalPack_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(UpgradeMgrService_Method_RegistLocalPack, UpgradeMgrService_MethodSignature_RegistLocalPack, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum RegistLocalPack(UpgradeMgrService_RegistLocalPack_Req &Req, UpgradeMgrService_RegistLocalPack_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = RegistLocalPack(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum RegistLocalPack(UpgradeMgrService_RegistLocalPack_Req &Req, UpgradeMgrService_RegistLocalPack_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = RegistLocalPack(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum RegistLocalPack(UpgradeMgrService_RegistLocalPack_Req &Req, UpgradeMgrService_RegistLocalPack_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = RegistLocalPack(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
-	ErrorCodeEnum CancelUpdate(UpgradeMgrService_CancelUpdate_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(UpgradeMgrService_Method_CancelUpdate, UpgradeMgrService_MethodSignature_CancelUpdate, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum CancelUpdate(UpgradeMgrService_CancelUpdate_Req &Req, UpgradeMgrService_CancelUpdate_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = CancelUpdate(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum CancelUpdate(UpgradeMgrService_CancelUpdate_Req &Req, UpgradeMgrService_CancelUpdate_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = CancelUpdate(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum CancelUpdate(UpgradeMgrService_CancelUpdate_Req &Req, UpgradeMgrService_CancelUpdate_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = CancelUpdate(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
 	ErrorCodeEnum RollbackUpdate(UpgradeMgrService_RollbackUpdate_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
 	{
 		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
@@ -254,153 +156,6 @@ public:
 		return Error;
 	}
 
-	ErrorCodeEnum SwitchUpgrade(UpgradeMgrService_SwitchUpgrade_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(UpgradeMgrService_Method_SwitchUpgrade, UpgradeMgrService_MethodSignature_SwitchUpgrade, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum SwitchUpgrade(UpgradeMgrService_SwitchUpgrade_Req &Req, UpgradeMgrService_SwitchUpgrade_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = SwitchUpgrade(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum SwitchUpgrade(UpgradeMgrService_SwitchUpgrade_Req &Req, UpgradeMgrService_SwitchUpgrade_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = SwitchUpgrade(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum SwitchUpgrade(UpgradeMgrService_SwitchUpgrade_Req &Req, UpgradeMgrService_SwitchUpgrade_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = SwitchUpgrade(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
-	ErrorCodeEnum RegistManualPack(UpgradeMgrService_RegistManualPack_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(UpgradeMgrService_Method_RegistManualPack, UpgradeMgrService_MethodSignature_RegistManualPack, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum RegistManualPack(UpgradeMgrService_RegistManualPack_Req &Req, UpgradeMgrService_RegistManualPack_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = RegistManualPack(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum RegistManualPack(UpgradeMgrService_RegistManualPack_Req &Req, UpgradeMgrService_RegistManualPack_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = RegistManualPack(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum RegistManualPack(UpgradeMgrService_RegistManualPack_Req &Req, UpgradeMgrService_RegistManualPack_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = RegistManualPack(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
-	ErrorCodeEnum GetManualPacks(UpgradeMgrService_GetManualPacks_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
-	{
-		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
-		CAutoBuffer Buf = SpObject2Buffer(Req);
-		if (m_context.checkEmpty())
-		{
-			m_context.AutoGenerate();
-			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
-			m_context = m_context.upgradeLink();
-		}
-		auto ret = pFunc->AsyncRequest(UpgradeMgrService_Method_GetManualPacks, UpgradeMgrService_MethodSignature_GetManualPacks, Buf, spAsyncWait, m_context, dwTimeout);
-		m_context.clear();
-		return ret;
-	}
-	ErrorCodeEnum GetManualPacks(UpgradeMgrService_GetManualPacks_Req &Req, UpgradeMgrService_GetManualPacks_Ans &Ans, DWORD dwTimeout)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetManualPacks(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum GetManualPacks(UpgradeMgrService_GetManualPacks_Req &Req, UpgradeMgrService_GetManualPacks_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetManualPacks(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-	ErrorCodeEnum GetManualPacks(UpgradeMgrService_GetManualPacks_Req &Req, UpgradeMgrService_GetManualPacks_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
-	{
-		CSmartPointer<IAsynWaitSp> spAsyncWait;
-		ErrorCodeEnum Error = GetManualPacks(Req, spAsyncWait, dwTimeout);
-		if (Error == Error_Succeed) {
-			bool bEnd = false;
-			CSimpleString str;
-			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
-			LOG_ASSERT(Error || bEnd);
-		}
-		return Error;
-	}
-
 
 	bool SafeDelete()
 	{

+ 0 - 120
Module/mod_UpgradeMgr/UpgradeManager_def_g.h

@@ -13,28 +13,13 @@ namespace UpgradeManager {
 //
 
 #define UpgradeMgrService_Method_GetUpgradeState 0
-#define UpgradeMgrService_Method_RegistLocalPack 1
-#define UpgradeMgrService_Method_CancelUpdate 2
 #define UpgradeMgrService_Method_RollbackUpdate 3
-#define UpgradeMgrService_Method_SwitchUpgrade 4
-#define UpgradeMgrService_Method_RegistManualPack 5
-#define UpgradeMgrService_Method_GetManualPacks 6
 
 #define UpgradeMgrService_MethodSignature_GetUpgradeState 787774394
-#define UpgradeMgrService_MethodSignature_RegistLocalPack 1118477438
-#define UpgradeMgrService_MethodSignature_CancelUpdate -1276919305
 #define UpgradeMgrService_MethodSignature_RollbackUpdate -1898507850
-#define UpgradeMgrService_MethodSignature_SwitchUpgrade -2116882538
-#define UpgradeMgrService_MethodSignature_RegistManualPack -1924952337
-#define UpgradeMgrService_MethodSignature_GetManualPacks -905215373
 
 #define UpgradeMgrService_LogCode_GetUpgradeState "QLR040250600"
-#define UpgradeMgrService_LogCode_RegistLocalPack "QLR040250601"
-#define UpgradeMgrService_LogCode_CancelUpdate "QLR040250602"
 #define UpgradeMgrService_LogCode_RollbackUpdate "QLR040250603"
-#define UpgradeMgrService_LogCode_SwitchUpgrade "QLR040250604"
-#define UpgradeMgrService_LogCode_RegistManualPack "QLR040250605"
-#define UpgradeMgrService_LogCode_GetManualPacks "QLR040250606"
 
 struct UpgradeMgrService_GetUpgradeState_Req
 {
@@ -62,46 +47,6 @@ struct UpgradeMgrService_GetUpgradeState_Ans
 
 };
 
-struct UpgradeMgrService_RegistLocalPack_Req
-{
-	CSimpleStringA strPackFile;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & strPackFile;
-	}
-
-};
-
-struct UpgradeMgrService_RegistLocalPack_Ans
-{
-
-	void Serialize(SpBuffer &Buf)
-	{
-	}
-
-};
-
-struct UpgradeMgrService_CancelUpdate_Req
-{
-	CSimpleStringA strPackFile;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & strPackFile;
-	}
-
-};
-
-struct UpgradeMgrService_CancelUpdate_Ans
-{
-
-	void Serialize(SpBuffer &Buf)
-	{
-	}
-
-};
-
 struct UpgradeMgrService_RollbackUpdate_Req
 {
 	CSimpleStringA strVersion;
@@ -122,71 +67,6 @@ struct UpgradeMgrService_RollbackUpdate_Ans
 
 };
 
-struct UpgradeMgrService_SwitchUpgrade_Req
-{
-	CSimpleStringA strPackFile;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & strPackFile;
-	}
-
-};
-
-struct UpgradeMgrService_SwitchUpgrade_Ans
-{
-
-	void Serialize(SpBuffer &Buf)
-	{
-	}
-
-};
-
-struct UpgradeMgrService_RegistManualPack_Req
-{
-	CSimpleStringA strPackFile;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & strPackFile;
-	}
-
-};
-
-struct UpgradeMgrService_RegistManualPack_Ans
-{
-	double Errcode;
-	CSimpleStringA ErrMsg;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & Errcode & ErrMsg;
-	}
-
-};
-
-struct UpgradeMgrService_GetManualPacks_Req
-{
-
-	void Serialize(SpBuffer &Buf)
-	{
-	}
-
-};
-
-struct UpgradeMgrService_GetManualPacks_Ans
-{
-	CSimpleStringA strPackFileList;
-	double Errcode;
-	CSimpleStringA ErrMsg;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & strPackFileList & Errcode & ErrMsg;
-	}
-
-};
-
 
 ///////////////////////////
 

+ 0 - 15
Module/mod_UpgradeMgr/UpgradeManager_msg_g.h

@@ -10,11 +10,9 @@
 
 namespace UpgradeManager {
 #define eMsg_UpgradeStateEvent 0
-#define eMsg_ManualTaskEvent 1
 #define eMsg_UpgradeDownloadProgress 2
 
 #define eMsgSig_UpgradeStateEvent -1650087685
-#define eMsgSig_ManualTaskEvent 1253338878
 #define eMsgSig_UpgradeDownloadProgress -498820347
 
 struct UpgradeStateEvent
@@ -35,19 +33,6 @@ struct UpgradeStateEvent
 
 ///////////////////////////
 
-struct ManualTaskEvent
-{
-	int nTaskNum;
-
-	void Serialize(SpBuffer &Buf)
-	{
-		auto & buf = Buf & nTaskNum;
-	}
-
-};
-
-///////////////////////////
-
 struct UpgradeDownloadProgress
 {
 	CSimpleStringA currentFile;

+ 0 - 135
Module/mod_UpgradeMgr/UpgradeManager_server_g.h

@@ -37,20 +37,6 @@ public:
 				Error = Error_MethodSignatureFailed;
 			}
 			break;
-		case UpgradeMgrService_Method_RegistLocalPack:
-			if (dwSignature == UpgradeMgrService_MethodSignature_RegistLocalPack) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case UpgradeMgrService_Method_CancelUpdate:
-			if (dwSignature == UpgradeMgrService_MethodSignature_CancelUpdate) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
 		case UpgradeMgrService_Method_RollbackUpdate:
 			if (dwSignature == UpgradeMgrService_MethodSignature_RollbackUpdate) {
 				bOverlap = true;
@@ -58,27 +44,6 @@ public:
 				Error = Error_MethodSignatureFailed;
 			}
 			break;
-		case UpgradeMgrService_Method_SwitchUpgrade:
-			if (dwSignature == UpgradeMgrService_MethodSignature_SwitchUpgrade) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case UpgradeMgrService_Method_RegistManualPack:
-			if (dwSignature == UpgradeMgrService_MethodSignature_RegistManualPack) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case UpgradeMgrService_Method_GetManualPacks:
-			if (dwSignature == UpgradeMgrService_MethodSignature_GetManualPacks) {
-				bOverlap = true;
-			} else {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
 		default:
 			Error = Error_MethodNotFound;
 			break;
@@ -95,36 +60,11 @@ public:
 				Error = Error_MethodSignatureFailed;
 			}
 			break;
-		case UpgradeMgrService_Method_RegistLocalPack:
-			if (dwSignature != UpgradeMgrService_MethodSignature_RegistLocalPack) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case UpgradeMgrService_Method_CancelUpdate:
-			if (dwSignature != UpgradeMgrService_MethodSignature_CancelUpdate) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
 		case UpgradeMgrService_Method_RollbackUpdate:
 			if (dwSignature != UpgradeMgrService_MethodSignature_RollbackUpdate) {
 				Error = Error_MethodSignatureFailed;
 			}
 			break;
-		case UpgradeMgrService_Method_SwitchUpgrade:
-			if (dwSignature != UpgradeMgrService_MethodSignature_SwitchUpgrade) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case UpgradeMgrService_Method_RegistManualPack:
-			if (dwSignature != UpgradeMgrService_MethodSignature_RegistManualPack) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
-		case UpgradeMgrService_Method_GetManualPacks:
-			if (dwSignature != UpgradeMgrService_MethodSignature_GetManualPacks) {
-				Error = Error_MethodSignatureFailed;
-			}
-			break;
 		default:
 			Error = Error_MethodNotFound;
 			break;
@@ -137,36 +77,11 @@ public:
 	/// override by user
 	}
 
-	virtual void Handle_RegistLocalPack(SpReqAnsContext<UpgradeMgrService_RegistLocalPack_Req, UpgradeMgrService_RegistLocalPack_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
-	virtual void Handle_CancelUpdate(SpReqAnsContext<UpgradeMgrService_CancelUpdate_Req, UpgradeMgrService_CancelUpdate_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
 	virtual void Handle_RollbackUpdate(SpReqAnsContext<UpgradeMgrService_RollbackUpdate_Req, UpgradeMgrService_RollbackUpdate_Ans>::Pointer ctx)
 	{
 	/// override by user
 	}
 
-	virtual void Handle_SwitchUpgrade(SpReqAnsContext<UpgradeMgrService_SwitchUpgrade_Req, UpgradeMgrService_SwitchUpgrade_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
-	virtual void Handle_RegistManualPack(SpReqAnsContext<UpgradeMgrService_RegistManualPack_Req, UpgradeMgrService_RegistManualPack_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
-	virtual void Handle_GetManualPacks(SpReqAnsContext<UpgradeMgrService_GetManualPacks_Req, UpgradeMgrService_GetManualPacks_Ans>::Pointer ctx)
-	{
-	/// override by user
-	}
-
 	virtual void OnRequest(CSmartPointer<ITransactionContext> pTransactionContext)
 	{
 		CAutoBuffer Buf;
@@ -193,26 +108,6 @@ public:
 						Handle_GetUpgradeState(ctx);
 					}
 					break;
-				case UpgradeMgrService_Method_RegistLocalPack:
-					{
-						SpReqAnsContext<UpgradeMgrService_RegistLocalPack_Req,UpgradeMgrService_RegistLocalPack_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<UpgradeMgrService_RegistLocalPack_Req,UpgradeMgrService_RegistLocalPack_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_RegistLocalPack(ctx);
-					}
-					break;
-				case UpgradeMgrService_Method_CancelUpdate:
-					{
-						SpReqAnsContext<UpgradeMgrService_CancelUpdate_Req,UpgradeMgrService_CancelUpdate_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<UpgradeMgrService_CancelUpdate_Req,UpgradeMgrService_CancelUpdate_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_CancelUpdate(ctx);
-					}
-					break;
 				case UpgradeMgrService_Method_RollbackUpdate:
 					{
 						SpReqAnsContext<UpgradeMgrService_RollbackUpdate_Req,UpgradeMgrService_RollbackUpdate_Ans>::Pointer ctx;
@@ -223,36 +118,6 @@ public:
 						Handle_RollbackUpdate(ctx);
 					}
 					break;
-				case UpgradeMgrService_Method_SwitchUpgrade:
-					{
-						SpReqAnsContext<UpgradeMgrService_SwitchUpgrade_Req,UpgradeMgrService_SwitchUpgrade_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<UpgradeMgrService_SwitchUpgrade_Req,UpgradeMgrService_SwitchUpgrade_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_SwitchUpgrade(ctx);
-					}
-					break;
-				case UpgradeMgrService_Method_RegistManualPack:
-					{
-						SpReqAnsContext<UpgradeMgrService_RegistManualPack_Req,UpgradeMgrService_RegistManualPack_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<UpgradeMgrService_RegistManualPack_Req,UpgradeMgrService_RegistManualPack_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_RegistManualPack(ctx);
-					}
-					break;
-				case UpgradeMgrService_Method_GetManualPacks:
-					{
-						SpReqAnsContext<UpgradeMgrService_GetManualPacks_Req,UpgradeMgrService_GetManualPacks_Ans>::Pointer ctx;
-						ctx.Attach(new SpReqAnsContext<UpgradeMgrService_GetManualPacks_Req,UpgradeMgrService_GetManualPacks_Ans>(pTransactionContext));
-						SpBuffer2Object(Buf, ctx->Req);
-						pTransactionContext->GetLinkContext(ctx->link);
-						EntityResource::setLink(ctx->link);
-						Handle_GetManualPacks(ctx);
-					}
-					break;
 				default:
 					assert(0);
 					break;

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 160 - 124
Module/mod_UpgradeMgr/UpgradeTaskFSM.cpp


+ 171 - 171
Module/mod_UpgradeMgr/UpgradeTaskFSM.h

@@ -10,16 +10,16 @@
 #include "IHttpFunc.h"
 #define DOWNLOAD_CONTENT_EACH_LEN 512*1024
 #define DOWNLOAD_TIMEOUT 2*60
-#define QUERY_NO_TASK_WARN_LIMIT 10
+#define QUERY_NO_TASK_WARN_LIMIT 15
 #define	QUERY_IS_WORK_WARN_LIMIT 10
 using namespace std;
 
-#define WARN_TASK_COPY_FILE_ZERO 0x50620022 //升级copy文件夹文件个数为0
-#define ERR_TASK_QUERY_PRE_NEW_TASK_FAIL 0x50620023 //查询新任务报错
-#define ERR_TASK_QUERY_CONTINUE_NEW_TASK_FAIL 0x50620024 //查询继续新任务报错
-#define ERR_TASK_QUERY_CONTINUE_NEW_TASK_ERR 0x50620025 //查询继续新任务异常
+#define WARN_TASK_COPY_FILE_ZERO 0x50620022 //����copy�ļ����ļ�����Ϊ0
+#define ERR_TASK_QUERY_PRE_NEW_TASK_FAIL 0x50620023 //��ѯ�����񱨴�
+#define ERR_TASK_QUERY_CONTINUE_NEW_TASK_FAIL 0x50620024 //��ѯ���������񱨴�
+#define ERR_TASK_QUERY_CONTINUE_NEW_TASK_ERR 0x50620025 //��ѯ�����������쳣
 
-#define WARN_BLACK_FILE_SUM 0x50600023 //黑名单文件数量
+//#define WARN_BLACK_FILE_SUM 0x50600023 //�����������
 
 #define UpgradeMgr_VERSION_DOWNLOAD_ID "QLR0402506Z10101"
 #define UpgradeMgr_VERSION_INSTALL_ID "QLR0402506Z10201"
@@ -42,7 +42,7 @@ using namespace std;
 
 namespace HttpStruct
 {
-	//发送文件hash列表接口
+	//�����ļ�hash�б�ӿ�
 	struct SendSM3TaskReq : CHTTPReq {
 		string m_reqStr;
 		string ToJson() {
@@ -57,7 +57,7 @@ namespace HttpStruct
 		}
 	};
 
-	//更新任务状态接口
+	//��������״̬�ӿ�
 	struct UpdateTaskStatusReq : CHTTPReq {
 		string m_reqStr;
 		string ToJson() {
@@ -72,7 +72,7 @@ namespace HttpStruct
 		}
 	};
 
-	//查询当前任务
+	//��ѯ��ǰ����
 	struct QueryCurrTaskReq : CHTTPReq {
 		string m_reqStr;
 		string ToJson() {
@@ -87,7 +87,7 @@ namespace HttpStruct
 		}
 	};
 
-	//查询新任务
+	//��ѯ������
 	struct QueryNewTaskReq : CHTTPReq {
 		string m_reqStr;
 		string ToJson() {
@@ -102,7 +102,7 @@ namespace HttpStruct
 		}
 	};
 
-	//断点下载升级包
+	//�ϵ�����������
 	struct DownloadPackTaskRet{
 		long content_length;
         long origin_file_length;
@@ -114,7 +114,7 @@ namespace HttpStruct
 
 
 
-// 升级任务状态机
+// ��������״̬��
 class CUpgradeTaskFSM : public FSMImpl<CUpgradeTaskFSM>, public IFSMStateHooker, public ISysVarListener
 {
 public:
@@ -153,7 +153,7 @@ public:
 
 	struct SendSM3TaskEvent:public FSMEvent
 	{
-		bool isSucc;//是否写入成功
+		bool isSucc;//�Ƿ�д��ɹ�
 		SendSM3TaskEvent(bool isSendSucc) 
 			: FSMEvent(Event_EndSendSM3Task), isSucc(isSendSucc)
 		{}
@@ -162,7 +162,7 @@ public:
 
 	struct UpdateTaskStatusEvent:public FSMEvent
 	{
-		bool isSucc;//是否更新成功
+		bool isSucc;//�Ƿ���³ɹ�
 		UpdateTaskStatusEvent(bool isSendSucc) 
 			: FSMEvent(Event_EndUpdateTask), isSucc(isSendSucc)
 		{}
@@ -170,8 +170,8 @@ public:
 
 	struct QueryCurrTaskEvent:public FSMEvent
 	{
-		bool isSucc;//是否查询成功
-		bool isTask_valid;//任务是否有效
+		bool isSucc;//�Ƿ��ѯ�ɹ�
+		bool isTask_valid;//�����Ƿ���Ч
 		QueryCurrTaskEvent(bool isSendSucc,bool isValid) 
 			: FSMEvent(Event_EndQueryCurrTask), isSucc(isSendSucc),isTask_valid(isValid)
 		{}
@@ -179,7 +179,7 @@ public:
 
 	struct QueryNewTaskEvent:public FSMEvent
 	{
-		bool isSucc;//是否查询成功
+		bool isSucc;//�Ƿ��ѯ�ɹ�
 		QueryNewTaskEvent(bool isSendSucc) 
 			: FSMEvent(Event_EndPoll), isSucc(isSendSucc)
 		{}
@@ -187,7 +187,7 @@ public:
 
 	struct QueryNewContinueTaskEvent:public FSMEvent
 	{
-		int retParam;//是否查询成功
+		int retParam;//�Ƿ��ѯ�ɹ�
 		QueryNewContinueTaskEvent(int ret) 
 			: FSMEvent(Event_EndContinuePoll)
 		{
@@ -197,7 +197,7 @@ public:
 
 	struct QueryNewPreTaskEvent:public FSMEvent
 	{
-		bool isSucc;//是否查询成功
+		bool isSucc;//�Ƿ��ѯ�ɹ�
 		QueryNewPreTaskEvent(bool isSendSucc) 
 			: FSMEvent(Event_EndPrePoll), isSucc(isSendSucc)
 		{}
@@ -205,8 +205,8 @@ public:
 
 	struct QueryTaskStatusEvent:public FSMEvent
 	{
-		bool isSucc;//是否查询成功
-		bool isTask_valid;//任务是否有效
+		bool isSucc;//�Ƿ��ѯ�ɹ�
+		bool isTask_valid;//�����Ƿ���Ч
 		QueryTaskStatusEvent(bool isSendSucc,bool isValid) 
 			: FSMEvent(Event_EndQueryTaskStatus), isSucc(isSendSucc),isTask_valid(isValid)
 		{}
@@ -222,7 +222,7 @@ public:
 
 	struct DownloadPackTaskFailEvent:public FSMEvent
 	{
-		string errMsg;//错误信息
+		string errMsg;//������Ϣ
 		DownloadPackTaskFailEvent(string errorMsg) 
 			: FSMEvent(Event_Download_Fail), errMsg(errorMsg)
 		{}
@@ -266,124 +266,124 @@ public:
 
 	struct CInstallStep
 	{
-		//不存储到运行时
-		int stepSeq; //步骤序号
-		CSimpleStringA cmdType;		//升级安装需执行命令类型:Delete、Copy、Run
-		int cmdFail;		//0:执行失败认为升级失败 1:执行失败忽略继续升级
-		CSimpleStringA srcPathType; //0:相对路径 1:绝对路径 2:当前版本相对路径 3:升级包相对路径
+		//���洢������ʱ
+		int stepSeq; //�������
+		CSimpleStringA cmdType;		//������װ��ִ����������:Delete��Copy��Run
+		int cmdFail;		//0��ִ��ʧ����Ϊ����ʧ�� 1��ִ��ʧ�ܺ��Լ�������
+		CSimpleStringA srcPathType; //0�����·�� 1������·�� 2����ǰ�汾���·�� 3�����������·��
 		CSimpleStringA srcPath;		
-		CSimpleStringA dstPathType;	//0:相对路径 1:绝对路径 2:当前版本相对路径 3:升级版本相对路径 4:升级包相对路径
+		CSimpleStringA dstPathType;	//0�����·�� 1������·�� 2����ǰ�汾���·�� 3�������汾���·�� 4�����������·��
 		CSimpleStringA dstPath;
 	};
 
-	// 待安装任务信息(运行时保存的中间变量)
+	// ����װ������Ϣ������ʱ������м������
 	struct CTaskInfo
-	{	//存储到运行时
-		CSimpleStringA upgradeTaskId;	//升级任务编号
-		CSimpleStringA createTaskVersion;//创建升级任务时的版本号
-		CSimpleStringA cPendingState;	// 已下载D、安装中I、等待切换S、任务结果确认T
-		CSimpleStringA NewVersion;		// 任务升级后的版本号
-		CSimpleStringA pack_name;		//升级包名
-		CSimpleStringA task_type;		//任务类型 U:升级任务 R:回退任务
-		CSimpleStringA depNewVersion;    //适配器新版本号
-		//CSimpleStringA task_class;      //任务类别 A:应用版本任务 D:适配器任务 T:体系外任务
-		//不存储到运行时
-		CSimpleStringA pack_version;	//升级包指定的版本号
-		bool stop_media_play;   //停止广告播放(0:不停止 1:停止)
-		int reboot_type;		//重启策略类型(0:不启动 1:重启框架 2:重启系统)
-		CSimpleStringA file_path;       //升级包路径
-		CSimpleStringA download_url;    //升级包下载地址
-		CSimpleStringA pack_hash;		//升级包hash值
-		long pack_length;		//升级包长度(服务端暂时不传)
-
-		queue<CInstallStep*> install_step;//安装步骤队列
+	{	//�洢������ʱ
+		CSimpleStringA upgradeTaskId;	//����������
+		CSimpleStringA createTaskVersion;//������������ʱ�İ汾��
+		CSimpleStringA cPendingState;	// ������D����װ��I���ȴ��л�S��������ȷ��T
+		CSimpleStringA NewVersion;		// ����������İ汾��
+		CSimpleStringA pack_name;		//��������
+		CSimpleStringA task_type;		//�������� U:�������� R:��������
+		CSimpleStringA depNewVersion;    //�������°汾��
+		//CSimpleStringA task_class;      //������� A:Ӧ�ð汾���� D:���������� T:��ϵ������
+		//���洢������ʱ
+		CSimpleStringA pack_version;	//������ָ���İ汾��
+		bool stop_media_play;   //ֹͣ��沥�ţ�0:��ֹͣ 1:ֹͣ��
+		int reboot_type;		//����������ͣ�0:����� 1:������ 2:����ϵͳ��
+		CSimpleStringA file_path;       //������·��
+		CSimpleStringA download_url;    //���������ص�ַ
+		CSimpleStringA pack_hash;		//������hashֵ
+		long pack_length;		//����������(�������ʱ����)
+
+		queue<CInstallStep*> install_step;//��װ�������
 
 	};
 
 	
 	struct CTaskProcess
 	{
-		CSimpleStringA strPackName;//包名
-		CSimpleStringA installVersion;//安装版本号
-		CSimpleStringA CurrentVersion;//当前版本号
-		CSimpleStringA cInstallState;//升级状态
-		CSimpleStringA strInstallComment;//升级状态备注
+		CSimpleStringA strPackName;//����
+		CSimpleStringA installVersion;//��װ�汾��
+		CSimpleStringA CurrentVersion;//��ǰ�汾��
+		CSimpleStringA cInstallState;//����״̬
+		CSimpleStringA strInstallComment;//����״̬��ע
 	};
 
 	struct CenterUrl
 	{
-		string updateTaskUrl;		//更新升级任务url
-		string queryCurrTaskUrl;	//查询当前任务url
-		string queryNewTaskUrl;		//查询新任务url(旧版本使用)
-		string queryPreTaskUrl;		//预查询新任务url
-		string queryContinueTaskUrl; //继续查询新任务url
-		string queryTaskStatus;		//查询当前任务是否有效url
-		string sendSM3TaskUrl;		//发送文件hashurl
+		string updateTaskUrl;		//������������url
+		string queryCurrTaskUrl;	//��ѯ��ǰ����url
+		string queryNewTaskUrl;		//��ѯ������url���ɰ汾ʹ�ã�
+		string queryPreTaskUrl;		//Ԥ��ѯ������url
+		string queryContinueTaskUrl; //������ѯ������url
+		string queryTaskStatus;		//��ѯ��ǰ�����Ƿ���Чurl
+		string sendSM3TaskUrl;		//�����ļ�hashurl
 	};
 
 	struct HashScanSet
 	{
-		CSimpleStringA relativeDir;	//相对路径
-		CSimpleStringA absoluteDir;	//绝对路径 
-		CSimpleStringA currVerDir;	//当前版本相对路径
-		CSimpleStringA blackFile;	//不纳入扫描的文件名称
-		CSimpleStringA blackDir;	//不纳入扫描的文件夹
+		CSimpleStringA relativeDir;	//���·��
+		CSimpleStringA absoluteDir;	//����·�� 
+		CSimpleStringA currVerDir;	//��ǰ�汾���·��
+		CSimpleStringA blackFile;	//������ɨ����ļ�����
+		CSimpleStringA blackDir;	//������ɨ����ļ���
 	};
 
 public:
 	CUpgradeTaskFSM(){
-		isSendHash = false;//默认查询策略不发送hash
-		m_isSM3HashSucc = false;//默认hash计算失败
+		isSendHash = false;//Ĭ�ϲ�ѯ���Բ�����hash
+		m_isSM3HashSucc = false;//Ĭ��hash����ʧ��
 		m_bDownloadIdle = false;
 		m_bTaskCancel=false;
-		m_fileSM3ListHash="";//终端hash列表64位hash值
-		m_fileSM3List = "";//终端hash列表值
-		m_strPreTaskId="";//预检查任务ID
-		m_bNeedHash=0;//预检查是否需要hash
+		m_fileSM3ListHash="";//�ն�hash�б�64λhashֵ
+		m_fileSM3List = "";//�ն�hash�б�ֵ
+		m_strPreTaskId="";//Ԥ�������ID
+		m_bNeedHash=0;//Ԥ����Ƿ���Ҫhash
 		m_newEachDownloadLen=DOWNLOAD_CONTENT_EACH_LEN;
 		m_PrintHttpLog =false;
 		m_startFlag = false;
 		m_iBlackFileCount=0;
 		m_bSwitchFlag = false;
 		m_bRollbackTask = false;
-		m_TempDepUpgradeFlag = false;//默认非适配器升级
-		m_queryNewTaskInterval = 240;//默认查询任务时间间隔
-		m_installStopCopyDep = false;//默认拷贝
+		m_TempDepUpgradeFlag = false;//Ĭ�Ϸ�����������
+		m_queryNewTaskInterval = 240;//Ĭ�ϲ�ѯ����ʱ����
+		m_installStopCopyDep = false;//Ĭ�Ͽ���
 		m_downloadBreakOffCount = 0; 
 		m_queryIsWorkCount = 0;
 	}
 	~CUpgradeTaskFSM(){}
-	//具体实现方法
-	ErrorCodeEnum CreateNewVersion(CVersion NewSoftwareVersion,CSimpleStringA &strErrInfo);//创建新版本
-	ErrorCodeEnum ClearUpgradeFailVersion(CVersion NewSoftwareVersion);//清理升级新版本临时文件
-	bool GetSysUpgradeResult(const char *pszResultLog, CSimpleStringA &eErrorCode, CSimpleStringA &strErrMsg);//从体系外生成的result.log文件中获取结果
+	//����ʵ�ַ���
+	ErrorCodeEnum CreateNewVersion(CVersion NewSoftwareVersion,CSimpleStringA &strErrInfo);//�����°汾
+	ErrorCodeEnum ClearUpgradeFailVersion(CVersion NewSoftwareVersion);//���������°汾��ʱ�ļ�
+	bool GetSysUpgradeResult(const char *pszResultLog, CSimpleStringA &eErrorCode, CSimpleStringA &strErrMsg);//����ϵ�����ɵ�result.log�ļ��л�ȡ���
 	
-	//安装执行步骤方法
-	int ExecInstall(CSimpleStringA &strErrMsg);//升级安装 0:失败 1:成功 -1:未知
+	//��װִ�в��跽��
+	int ExecInstall(CSimpleStringA &strErrMsg);//������װ 0��ʧ�� 1���ɹ� -1��δ֪
 	int ExecRunCmd(CSimpleStringA &strErrMsg,CInstallStep* ins);
 	bool ExecDeleteCmd(CSimpleStringA &strErrMsg,CInstallStep* ins);
 	bool ExecCpoyCmd(CSimpleStringA &strErrMsg,CInstallStep* ins);
-	bool GetRootTypePath(int rootType,CSimpleStringA &rootPath);//1:相对路径 2:当前版本相对路径 3:升级版本相对路径 4:升级包相对路径
+	bool GetRootTypePath(int rootType,CSimpleStringA &rootPath);//1:���·�� 2����ǰ�汾���·�� 3�������汾���·�� 4�����������·��
 	ErrorCodeEnum CopyFileOperate(const char* srcPath, const char* destPath, int nCopyMode, CSimpleStringA &strErrMsg);
 
 
 
-	ErrorCodeEnum SetRunSucceed(const char* pPackFile);//成功切换新版本
-	ErrorCodeEnum UpgradeToNewVersion();//设置新版本状态
-	ErrorCodeEnum RollBackToHistoryVersion(CVersion historyVersion);//回退到某个历史版本
+	ErrorCodeEnum SetRunSucceed(const char* pPackFile);//�ɹ��л��°汾
+	ErrorCodeEnum UpgradeToNewVersion();//�����°汾״̬
+	ErrorCodeEnum RollBackToHistoryVersion(CVersion historyVersion);//���˵�ij����ʷ�汾
 	
 	void RecursiveGetSubFiles(const char *pszDir, const char *pszTrimStart, list<CSimpleStringA>& retList);
 	bool IsFileMatch(const char *pszFilter, const char *pszFileName);
-	bool RecursiveCopyDir(const char *pszSourceDir, const char *pszDestDir,CSimpleStringA &strErrInfo);//可以合并
-	CSimpleStringA GetFileDirectory(const char *pszFullPath);//查找文件的父路径
+	bool RecursiveCopyDir(const char *pszSourceDir, const char *pszDestDir,CSimpleStringA &strErrInfo);//���Ժϲ�
+	CSimpleStringA GetFileDirectory(const char *pszFullPath);//�����ļ��ĸ�·��
 	//TODO: CrossPlaform  [Gifur@2025729]
-	bool IsWow64Process();//判断是否是64位windows程序
-	int system_on(string cmdFilePath, bool isWait,CSimpleStringA &errMsg);//cmd窗口程序
-	int waitSystem(string cmd, const char * par, bool nShow,CSimpleStringA &errMsg);//起进程执行cmd
+	bool IsWow64Process();//�ж��Ƿ���64λwindows����
+	int system_on(string cmdFilePath, bool isWait,CSimpleStringA &errMsg);//cmd���ڳ���
+	int waitSystem(string cmd, const char * par, bool nShow,CSimpleStringA &errMsg);//�����ִ��cmd
 
-	ErrorCodeEnum UnzipPack(const char* unZipPackName);//解压文件
-	ErrorCodeEnum DeleteUnzipDir();//清理临时解压包文件
-	ErrorCodeEnum RollBackVersionCheck(string &failReason, CSimpleStringA& strErrMsg);//回退版本检查 C:一般错误 X:终端找不到需要回退的版本文件夹 、回退版本比现在版本高
+	ErrorCodeEnum UnzipPack(const char* unZipPackName);//��ѹ�ļ�
+	ErrorCodeEnum DeleteUnzipDir();//������ʱ��ѹ���ļ�
+	ErrorCodeEnum RollBackVersionCheck(string &failReason, CSimpleStringA& strErrMsg);//���˰汾��� C��һ����� X���ն��Ҳ�����Ҫ���˵İ汾�ļ��� �����˰汾�����ڰ汾��
 	
 	
 
@@ -391,56 +391,56 @@ public:
 	ErrorCodeEnum GetRunConfigStrValue(const char *pszSection, const char *pszKey, CSimpleStringA &strValue);
 	ErrorCodeEnum SetRunConfigStrValue(const char *pszSection, const char *pszKey, const char *pszValue);
 
-	bool ClearCurrTaskInfo();//任务无效清除运行时记录和残留下载包
-	bool ClearInstallStep();//清理历史任务安装步骤
+	bool ClearCurrTaskInfo();//������Ч�������ʱ��¼�Ͳ������ذ�
+	bool ClearInstallStep();//������ʷ����װ����
 
-	ErrorCodeEnum LoadPersistTaskInfo();//启动开始加载运行时文件
-	ErrorCodeEnum loadCenterCfgInfo();//启动开始加载集中配置文件
+	ErrorCodeEnum LoadPersistTaskInfo();//�����ʼ��������ʱ�ļ�
+	ErrorCodeEnum loadCenterCfgInfo();//�����ʼ���ؼ��������ļ�
 
-	bool GetFileLength(const char* filePath,long &fileLen);//获取文件长度
-	ErrorCodeEnum GetSM3List(CSimpleStringA &strSM3List);//获取版本文件hash集合字符串
+	bool GetFileLength(const char* filePath,long &fileLen);//��ȡ�ļ�����
+	ErrorCodeEnum GetSM3List(CSimpleStringA &strSM3List);//��ȡ�汾�ļ�hash�����ַ���
 	ErrorCodeEnum ScanSM3ByType(int type,CSimpleStringA pathFilter);
-	ErrorCodeEnum NewSM3Folder(CSimpleStringA scanFilter,CSimpleStringA replaceDir);//新的hash扫描文件夹实现
+	ErrorCodeEnum NewSM3Folder(CSimpleStringA scanFilter,CSimpleStringA replaceDir);//�µ�hashɨ���ļ���ʵ��
 
-	//新国密SM3函数,isSub表示是否截取新国密中间一段密文
+	//�¹���SM3������isSub��ʾ�Ƿ��ȡ�¹����м�һ������
 	ErrorCodeEnum SM3FileToStr(CSimpleStringA strFilePath, CSimpleStringA &strSM3,bool isSub);
 	ErrorCodeEnum SM3DataToStr(CSimpleStringA strData, CSimpleStringA &strSM3,bool isSub);
 	ErrorCodeEnum SM3_Str(CSimpleStringA &strSM3,BYTE * SM3Byte,bool isSub);
 
-	bool IsPackDownloaded(const char *pPackName,const char* packHash,long packLen);//判断安装包是否已下载成功
+	bool IsPackDownloaded(const char *pPackName,const char* packHash,long packLen);//�жϰ�װ���Ƿ������سɹ�
 	bool DownloadFileWrite(byte* content,long contentLen,const char* filePath);
 
-	bool CheckIfCanSwitchNow();//是否允许切换
-	ErrorCodeEnum SwitchUpgradeNow();//切换版本
+	bool CheckIfCanSwitchNow();//�Ƿ������л�
+	ErrorCodeEnum SwitchUpgradeNow();//�л��汾
 
-	ErrorCodeEnum DownloadProgress(long tempFileLen,long fileSumLen);//返回下载进度
-	char GetInstallState(int nState);//根据状态机获取升级状态
+	ErrorCodeEnum DownloadProgress(long tempFileLen,long fileSumLen);//�������ؽ���
+	char GetInstallState(int nState);//����״̬����ȡ����״̬
 	ErrorCodeEnum GetUpgradeState(bool &bInstalling, CSimpleStringA &strPackFile, CSimpleStringA &strExecID,
 		char &cInstallState, bool &bSysInstall, bool &bLightPack, CSimpleStringA &strNewVersion);
 	
 	static void HttpsLogCallBack(const char* logtxt);
 
-	void judgeTaskClass();//临时判定升级任务类别
-	ErrorCodeEnum judgeRollbackTaskClass(CSimpleStringA verDirName, string& failReason, CSimpleStringA& strErrMsg);//临时判定回退任务类别
+	void judgeTaskClass();//��ʱ�ж������������
+	ErrorCodeEnum judgeRollbackTaskClass(CSimpleStringA verDirName, string& failReason, CSimpleStringA& strErrMsg);//��ʱ�ж������������
 	
-	ErrorCodeEnum CreateNewDepVersion(CSimpleStringA NewSoftwareVersion, CSimpleStringA& strErrInfo);//升级时创建新适配器版本
-	ErrorCodeEnum CreateInstallDepVersion(CSimpleStringA NewSoftwareVersion, CSimpleStringA& strErrInfo);//安装时创建新适配器版本
-	ErrorCodeEnum ClearUpgradeFailDepVersion(CSimpleStringA NewSoftwareVersion);//清理升级新版本临时文件
-	ErrorCodeEnum UpgradeDepToNewVersion();//更新depactive文件
-	ErrorCodeEnum SwitchUpgradeDepNow();//切换适配器版本
-	ErrorCodeEnum RollBackDepVersionCheck(string& failReason, CSimpleStringA& strErrMsg);//回退版本检查 C:一般错误 X:终端找不到需要回退的版本文件夹
-	ErrorCodeEnum RollBackToHistoryDepVersion(CSimpleStringA historyDepVersion);//适配器回退到某个历史版本
-
-	//适配器安装函数
-	int ExecDepInstall(CSimpleStringA& strErrMsg);//适配器升级 0:失败 1:成功 
+	ErrorCodeEnum CreateNewDepVersion(CSimpleStringA NewSoftwareVersion, CSimpleStringA& strErrInfo);//����ʱ�������������汾
+	ErrorCodeEnum CreateInstallDepVersion(CSimpleStringA NewSoftwareVersion, CSimpleStringA& strErrInfo);//��װʱ�������������汾
+	ErrorCodeEnum ClearUpgradeFailDepVersion(CSimpleStringA NewSoftwareVersion);//���������°汾��ʱ�ļ�
+	ErrorCodeEnum UpgradeDepToNewVersion();//����depactive�ļ�
+	ErrorCodeEnum SwitchUpgradeDepNow();//�л��������汾
+	ErrorCodeEnum RollBackDepVersionCheck(string& failReason, CSimpleStringA& strErrMsg);//���˰汾��� C��һ����� X���ն��Ҳ�����Ҫ���˵İ汾�ļ���
+	ErrorCodeEnum RollBackToHistoryDepVersion(CSimpleStringA historyDepVersion);//���������˵�ij����ʷ�汾
+
+	//��������װ����
+	int ExecDepInstall(CSimpleStringA& strErrMsg);//���������� 0��ʧ�� 1���ɹ� 
 	int ExecDepRunCmd(CSimpleStringA& strErrMsg, CInstallStep* ins);
 	bool ExecDepDeleteCmd(CSimpleStringA& strErrMsg, CInstallStep* ins);
 	bool ExecDepCpoyCmd(CSimpleStringA& strErrMsg, CInstallStep* ins);
-	bool GetDepRootTypePath(int rootType, CSimpleStringA& rootPath);//1:相对路径 2:当前版本相对路径 3:升级版本相对路径 4:升级包相对路径
+	bool GetDepRootTypePath(int rootType, CSimpleStringA& rootPath);//1:���·�� 2����ǰ�汾���·�� 3�������汾���·�� 4�����������·��
 
 	CSimpleStringA getAlarmCurrVersion();
 
-	//升级时添加防火墙策略
+	//����ʱ��ӷ���ǽ����
 	ErrorCodeEnum SetNewVersionPathToFirewall();
 
 	bool isWork();
@@ -463,13 +463,13 @@ private:
 	enum{s1, s2, s3, s4, s5, s6, s7};
 
 	BEGIN_FSM_STATE(CUpgradeTaskFSM)
-		FSM_STATE_ENTRY(s1, "Start",s1_on_entry,s1_on_exit,s1_on_event)//计算hash值
-		FSM_STATE_ENTRY(s2, "DealTask",s2_on_entry,s2_on_exit,s2_on_event)//处理上个任务,反馈任务结果,并根据任务状态跳转到其他状态
-		FSM_STATE_ENTRY(s3, "Poll",s3_on_entry,s3_on_exit,s3_on_event)//查询任务
-		FSM_STATE_ENTRY(s4, "Download", s4_on_entry, s4_on_exit, s4_on_event)//下载安装包
-		FSM_STATE_ENTRY(s5, "Install", s5_on_entry, s5_on_exit, s5_on_event)//安装升级包
-		FSM_STATE_ENTRY(s6, "Switch", s6_on_entry, s6_on_exit, s6_on_event)//进行版本切换
-		FSM_STATE_ENTRY(s7, "Disable", s7_on_entry, s7_on_exit, s7_on_event)//静止状态
+		FSM_STATE_ENTRY(s1, "Start",s1_on_entry,s1_on_exit,s1_on_event)//����hashֵ
+		FSM_STATE_ENTRY(s2, "DealTask",s2_on_entry,s2_on_exit,s2_on_event)//�����ϸ����񣬷���������������������״̬��ת������״̬
+		FSM_STATE_ENTRY(s3, "Poll",s3_on_entry,s3_on_exit,s3_on_event)//��ѯ����
+		FSM_STATE_ENTRY(s4, "Download", s4_on_entry, s4_on_exit, s4_on_event)//���ذ�װ��
+		FSM_STATE_ENTRY(s5, "Install", s5_on_entry, s5_on_exit, s5_on_event)//��װ������
+		FSM_STATE_ENTRY(s6, "Switch", s6_on_entry, s6_on_exit, s6_on_event)//���а汾�л�
+		FSM_STATE_ENTRY(s7, "Disable", s7_on_entry, s7_on_exit, s7_on_event)//��ֹ״̬
 	END_FSM_STATE()
 
 	BEGIN_FSM_RULE(CUpgradeTaskFSM,s1)
@@ -479,39 +479,39 @@ private:
 		FSM_RULE_ENTRY(s2, s5, Event_EndQueryCurrTask, 5)	
 		FSM_RULE_ENTRY(s2, s6, Event_EndQueryCurrTask, 6)
 		FSM_RULE_ENTRY_ANY(s3, s4, Event_StartDownload)
-		FSM_RULE_ENTRY_ANY(s3, s5, Event_StartInstall)//回退
+		FSM_RULE_ENTRY_ANY(s3, s5, Event_StartInstall)//����
 		FSM_RULE_ENTRY_ANY(s4, s5, Event_StartInstall)
-		FSM_RULE_ENTRY_ANY(s4, s3, Event_StartPoll)//任务取消进入S3
-		FSM_RULE_ENTRY_ANY(s4, s2, Event_StartDealTask)//下载失败进入S2
+		FSM_RULE_ENTRY_ANY(s4, s3, Event_StartPoll)//����ȡ������S3
+		FSM_RULE_ENTRY_ANY(s4, s2, Event_StartDealTask)//����ʧ�ܽ���S2
 		FSM_RULE_ENTRY_ANY(s5, s6, Event_StartSwitch)
-		FSM_RULE_ENTRY_ANY(s5, s2, Event_StartDealTask)//安装失败进入S2
-		FSM_RULE_ENTRY_ANY(s6, s2, Event_StartDealTask)//无需重启框架和系统切换成功进入S2
-		FSM_RULE_ENTRY_ANY(s6, s3, Event_StartPoll)//取消任务进入S3
-		FSM_RULE_ENTRY_ANY(s6, s7, Event_PreRestart)//重启服务
+		FSM_RULE_ENTRY_ANY(s5, s2, Event_StartDealTask)//��װʧ�ܽ���S2
+		FSM_RULE_ENTRY_ANY(s6, s2, Event_StartDealTask)//���������ܺ�ϵͳ�л��ɹ�����S2
+		FSM_RULE_ENTRY_ANY(s6, s3, Event_StartPoll)//ȡ���������S3
+		FSM_RULE_ENTRY_ANY(s6, s7, Event_PreRestart)//�������
 	END_FSM_RULE()
 
 private:
-	//完成
+	//���
 	void s1_on_entry();
 	void s1_on_exit();
 	unsigned int s1_on_event(FSMEvent* event);
-	//完成
+	//���
 	void s2_on_entry();
 	void s2_on_exit();
 	unsigned int s2_on_event(FSMEvent* event);
-	//完成
+	//���
 	void s3_on_entry();
 	void s3_on_exit();
 	unsigned int s3_on_event(FSMEvent* event);
-	//完成
+	//���
 	void s4_on_entry();
 	void s4_on_exit();
 	unsigned int s4_on_event(FSMEvent* event);
-	//完成
+	//���
 	void s5_on_entry();
 	void s5_on_exit();
 	unsigned int s5_on_event(FSMEvent* event);
-	//完成
+	//���
 	void s6_on_entry();
 	void s6_on_exit();
 	unsigned int s6_on_event(FSMEvent* event);
@@ -524,45 +524,45 @@ private:
 
 	
 	
-	list<CSimpleStringA> m_DepWhitelist; //dep文件夹白名单
-	list<CSimpleStringA> m_DirBlacklist; //整体文件夹黑名单
-	list<CSimpleStringA> m_FileBlacklist; //整体文件黑名单
+	list<CSimpleStringA> m_DepWhitelist; //dep�ļ��а�����
+	list<CSimpleStringA> m_DirBlacklist; //�����ļ��к�����
+	list<CSimpleStringA> m_FileBlacklist; //�����������
 
 public:
-	map<CSimpleStringA, CSimpleStringA> m_fileSM3Map;	// 版本文件hash值集合
-
-	CTaskInfo m_currentTask;	//当前的任务缓存变量
-	CVersion m_currentVersion;  //当前终端版本
-	CSimpleStringA m_currentDepVersion; //当前适配器版本
-
-	CenterUrl m_centerUrl;//访问总行的url地址集合
-	int m_newEachDownloadLen;//新的每次下载数据长度阈值(k)
-	bool m_PrintHttpLog;  //是否打印通讯日志
-	bool m_startFlag; //升级实体启动标志位,默认是不开,
-	bool m_stopSetFirewall;//是否停止设置防火墙路径,默认是不停止
-	HashScanSet m_hashScanSet;//扫描文件hash设置
-
-	bool m_isSM3HashSucc;//hash是否计算成功
-	bool isSendHash;//hash是否发送
-	CSimpleStringA m_fileSM3ListHash;//SM3 64hash
-	CSimpleStringA m_fileSM3List;//版本文件hash集合字符串
-	DWORD m_beginSendSM3Time;//开始发送sm3hahs时间
-	int m_queryNewTaskCount;//查询新任务时无任务次数
+	map<CSimpleStringA, CSimpleStringA> m_fileSM3Map;	// �汾�ļ�hashֵ����
+
+	CTaskInfo m_currentTask;	//��ǰ�����񻺴����
+	CVersion m_currentVersion;  //��ǰ�ն˰汾
+	CSimpleStringA m_currentDepVersion; //��ǰ�������汾
+
+	CenterUrl m_centerUrl;//�������е�url��ַ����
+	int m_newEachDownloadLen;//�µ�ÿ���������ݳ�����ֵ(k)
+	bool m_PrintHttpLog;  //�Ƿ��ӡͨѶ��־
+	bool m_startFlag; //����ʵ�������־λ,Ĭ���Dz�����
+	bool m_stopSetFirewall;//�Ƿ�ֹͣ���÷���ǽ·����Ĭ���Dz�ֹͣ
+	HashScanSet m_hashScanSet;//ɨ���ļ�hash����
+
+	bool m_isSM3HashSucc;//hash�Ƿ����ɹ�
+	bool isSendHash;//hash�Ƿ���
+	CSimpleStringA m_fileSM3ListHash;//SM3 64λhash
+	CSimpleStringA m_fileSM3List;//�汾�ļ�hash�����ַ���
+	DWORD m_beginSendSM3Time;//��ʼ����sm3hahsʱ��
+	int m_queryNewTaskCount;//��ѯ������ʱ���������
 	int m_queryIsWorkCount;
 	int m_downloadBreakOffCount;
 
-	bool m_bDownloadIdle;	//是否下载空闲 true: 不能下载,false: 可下载
-	bool m_bTaskCancel;		//是否任务取消 true: 任务取消,false: 未取消
+	bool m_bDownloadIdle;	//�Ƿ����ؿ��� true: �������أ�false: ������
+	bool m_bTaskCancel;		//�Ƿ�����ȡ�� true: ����ȡ����false: δȡ��
 
-	int m_iBlackFileCount;    //黑名单文件数量
+	int m_iBlackFileCount;    //�����������
 
-	CSimpleStringA m_strPreTaskId; //预检查taskId
-	int m_bNeedHash;//是否需要hash对比查询任务
-	bool m_bSwitchFlag;//是否启动后切换流程直接进入标志
-	bool m_bRollbackTask;//是否已经处于回退流程。
+	CSimpleStringA m_strPreTaskId; //Ԥ���taskId
+	int m_bNeedHash;//�Ƿ���Ҫhash�ԱȲ�ѯ����
+	bool m_bSwitchFlag;//�Ƿ�������л�����ֱ�ӽ����־
+	bool m_bRollbackTask;//�Ƿ��Ѿ����ڻ������̡�
 
-	bool m_TempDepUpgradeFlag;//临时适配器升级安装的判定标志 true 适配器 false 非适配器
-	int m_queryNewTaskInterval;//查询任务时间间隔,默认是240s
-	bool m_installStopCopyDep;//安装时是否停止拷贝应用dep公共文件夹
+	bool m_TempDepUpgradeFlag;//��ʱ������������װ���ж���־ true ������ false ��������
+	int m_queryNewTaskInterval;//��ѯ����ʱ�����Ĭ����240s
+	bool m_installStopCopyDep;//��װʱ�Ƿ�ֹͣ����Ӧ��dep�����ļ���
 };
 #endif //RVC_MOD_UPGRADETASK_FSM_H_

+ 50 - 110
Module/mod_UpgradeMgr/mod_UpgradeMgr.cpp

@@ -63,7 +63,7 @@ namespace Task
 					return;
 				}
 				else {
-					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("InitFSMTask")("init new upgradeTaskMgr FSM succ");
+					DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI("InitFSMTask")("init new upgradeTaskMgr FSM succ");
 					Mgr->m_initSucc = true;
 				}
 
@@ -91,10 +91,10 @@ namespace Task
 				int rollbackTemp = 0;
 				if (ret == Error_Succeed) {
 					spConfig->ReadConfigValueInt("UpgradeManager", "RollbackFlag", rollbackTemp);
-					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("RollbackUpdate")("get centerSetting RollbackFlag=%d", rollbackTemp);
+					DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI("RollbackUpdate")("get centerSetting RollbackFlag=%d", rollbackTemp);
 				}
 				else {
-					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("RollbackUpdate")("get centerSetting RollbackFlag fail");
+					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("RollbackUpdate")("get centerSetting RollbackFlag fail,use default value 0");
 				}
 				if (rollbackTemp == 0) {
 					//立即回退模式
@@ -154,7 +154,7 @@ namespace Task
 				int rollbackTemp = 0;
 				if (ret == Error_Succeed) {
 					spConfig->ReadConfigValueInt("UpgradeManager", "RollbackFlag", rollbackTemp);
-					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("get centerSetting RollbackFlag=%d", rollbackTemp);
+					DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("get centerSetting RollbackFlag=%d", rollbackTemp);
 				}
 				else {
 					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("get centerSetting RollbackFlag fail");
@@ -217,7 +217,7 @@ void CUpgradeMgrEntity::OnStarted()
 	if (pFunc->GetSysVar("UIState", strValue) == Error_Succeed && strValue.Compare("M") ==0)
 	{
 		// 已经进入首页状态
-		DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("system page isStartup 1");
+		DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("system page isStartup 1");
 		m_bStartUp =true;
 	}		
 	else
@@ -229,7 +229,7 @@ void CUpgradeMgrEntity::OnStarted()
 			LogWarn(Severity_Middle, rc, ERR_WRAN_REGIST_SYS_VAR_FAIL, CSimpleStringA::Format("RegistSysVarEvent UIState  is fail,%d",(int)rc).GetData());
 			m_testResult=Error_InvalidState;//自检失败
 		}else{
-			DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("RegistSysVarEvent UIState succ");
+			DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("RegistSysVarEvent UIState succ");
 		}
 
 	}
@@ -266,7 +266,7 @@ void CUpgradeMgrEntity::OnSysVarEvent(const char *pszKey, const char *pszValue,c
 	if(strcmp("UIState",pszKey)==0){
 		if(!m_bStartUp){
 			if (strcmp(pszValue, "M") ==0){
-				DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("system page isStartup 2");
+				DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("system page isStartup 2");
 				m_bStartUp = true;				
 			}
 		}
@@ -316,50 +316,12 @@ char CUpgradeMgrEntity::GetInstallStateVal(const InstallStateEnum enumVal)
 	return ' ';  // error
 }
 
-//新状态机不处理
-ErrorCodeEnum CUpgradeMgrEntity::RegistLocalPack(const CSimpleStringA &strPackFile)
-{
-	if(m_initSucc){
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("RegistLocalPack new UpgradeMgr is not deal with");
-		return Error_NotImpl;
-	}else{
-		DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("initFSM is not end");
-		return Error_Pending;//状态机还未启动
-	}
-	
-}
-
-//新状态机不处理
-DWORD CUpgradeMgrEntity::RegistManualPack(const CSimpleStringA &strPackFile)
-{
-	if(m_initSucc){
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("RegistManualPack new UpgradeMgr is not deal with");
-		return UPGRADE_MGR_NOT_IMPLEMENT;
-	}else{
-		DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("initFSM is not end");
-		return Error_Pending;//状态机还未启动
-	}
-}
-
-
-//新状态机不处理
-ErrorCodeEnum CUpgradeMgrEntity::CancelUpdate(const CSimpleStringA &strPackFile)
-{
-	if(m_initSucc){
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("CancelUpdate new UpgradeMgr is not deal with");
-		return Error_NotImpl;
-	}else{
-		DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("initFSM is not end");
-		return Error_Pending;//状态机还未启动
-	}
-}
-
 //新状态机处理
 ErrorCodeEnum CUpgradeMgrEntity::RollbackUpdate(const CSimpleStringA &strVersion)
 {
 	if(m_initSucc){
 		if(bNewUpgradeMgr){
-			DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("RollbackUpdate new UpgradeMgr deal with");
+			DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("RollbackUpdate new UpgradeMgr deal with");
 			if(strVersion.GetLength()==0){
 				LogWarn(Severity_Low, Error_NotImpl, ERR_TASK_ROLLBACK_FAIL, "version is empty , rollback upgrade fail");
 				return Error_NotImpl;
@@ -391,7 +353,7 @@ ErrorCodeEnum CUpgradeMgrEntity::RollbackUpdate(const CSimpleStringA &strVersion
 								Task::RollBackTask* rTask = new Task::RollBackTask(this, CVersion(w1, w2, w3, w4));
 								ErrorCodeEnum rc = this->GetFunction()->PostThreadPoolTask(rTask);
 								if (Error_Succeed == rc) {
-									DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("RollbackFlag thread start succ");
+									DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("RollbackFlag thread start succ");
 									m_taskFSM.m_bRollbackTask = true;//启动线程
 									return Error_Succeed;
 								}
@@ -412,7 +374,7 @@ ErrorCodeEnum CUpgradeMgrEntity::RollbackUpdate(const CSimpleStringA &strVersion
 							Task::RollBackDepTask* rTask = new Task::RollBackDepTask(this, strVersion);
 							ErrorCodeEnum rc = this->GetFunction()->PostThreadPoolTask(rTask);
 							if (Error_Succeed == rc) {
-								DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("RollbackFlag Dep thread start succ");
+								DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("RollbackFlag Dep thread start succ");
 								m_taskFSM.m_bRollbackTask = true;//启动线程
 								return Error_Succeed;
 							}
@@ -438,34 +400,11 @@ ErrorCodeEnum CUpgradeMgrEntity::RollbackUpdate(const CSimpleStringA &strVersion
 	}
 }
 
-//新状态机不处理
-DWORD CUpgradeMgrEntity::GetManualPacks(CSimpleStringA &strManualPacks)
-{	
-	if(m_initSucc){
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("GetManualPacks new UpgradeMgr is not deal with");
-		return UPGRADE_MGR_NOT_IMPLEMENT;
-	}else{
-		DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("initFSM is not end");
-		return Error_Pending;//状态机还未启动
-	}
-}
-
 CServerSessionBase* CUpgradeMgrEntity::OnNewSession(const char* /*pszRemoteEntityName*/, const char * /*pszParam*/)
 {
 	return new CUpgradeMgrSession(this);
 }
 
-//新状态机不处理
-ErrorCodeEnum CUpgradeMgrEntity::SwitchUpgrade(const CSimpleStringA &strPack)
-{
-	if(m_initSucc){
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("SwitchUpgrade new UpgradeMgr is not deal with");
-		return Error_NotImpl;
-	}else{
-		DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("initFSM is not end");
-		return Error_Pending;//状态机还未启动
-	}
-}
 
 //新状态机处理
 ErrorCodeEnum CUpgradeMgrEntity::GetUpgradeState(bool &bInstalling, CSimpleStringA &strPackFile, CSimpleStringA &strExecID,
@@ -509,75 +448,76 @@ ErrorCodeEnum CUpgradeMgrEntity::testActive()
 
 ErrorCodeEnum CUpgradeMgrEntity::NewStopMediaPlay()
 {
-#ifdef RVC_OS_WIN
-	// 通知媒体停止播放广告和声音
-	LocalMediaPlay::PlayService_ClientBase *pClient = new LocalMediaPlay::PlayService_ClientBase(this);
-	ErrorCodeEnum rc = pClient->Connect();
-	if (rc == Error_Succeed)
-	{
-		DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("connect to entity [LocalMediaPlay] succeed, start StopMediaPlay now");
-		//采用新接口停止所有音视频播放
-		LocalMediaPlay::PlayService_StopPlayAllMedias_Req req1 = {};
-		LocalMediaPlay::PlayService_StopPlayAllMedias_Ans ans1 = {};
-		if (Error_Succeed == (*pClient)(EntityResource::getLink().upgradeLink())->StopPlayAllMedias(req1, ans1, 10000))
-		{
-			DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("StopPlayAllMedias success");
-		}else{
-			DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("StopPlayAllMedias fail");
-			pClient->GetFunction()->CloseSession();
-			pClient->SafeDelete();
-			return rc;
-		}
-		pClient->GetFunction()->CloseSession();
-	}
-	else
-	{
-		LogWarn(Severity_Low, rc, ERR_TASK_STOP_MEDIA_FAIL, "connect to entity [LocalMediaPlay] fail");
-	}
-	pClient->SafeDelete();
-	return rc;
-#else
+//#ifdef RVC_OS_WIN
+//	// 通知媒体停止播放广告和声音
+//	LocalMediaPlay::PlayService_ClientBase *pClient = new LocalMediaPlay::PlayService_ClientBase(this);
+//	ErrorCodeEnum rc = pClient->Connect();
+//	if (rc == Error_Succeed)
+//	{
+//		DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("connect to entity [LocalMediaPlay] succeed, start StopMediaPlay now");
+//		//采用新接口停止所有音视频播放
+//		LocalMediaPlay::PlayService_StopPlayAllMedias_Req req1 = {};
+//		LocalMediaPlay::PlayService_StopPlayAllMedias_Ans ans1 = {};
+//		rc = (*pClient)(EntityResource::getLink().upgradeLink())->StopPlayAllMedias(req1, ans1, 30000);
+//		if (Error_Succeed == rc )
+//		{
+//			DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("StopPlayAllMedias success");
+//		}else{
+//			DbgWithLink(LOG_LEVEL_WARN,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("StopPlayAllMedias fail, err=%d",(int)rc);
+//			pClient->GetFunction()->CloseSession();
+//			pClient->SafeDelete();
+//			return rc;
+//		}
+//		pClient->GetFunction()->CloseSession();
+//	}
+//	else
+//	{
+//		LogWarn(Severity_Low, rc, ERR_TASK_STOP_MEDIA_FAIL, "connect to entity [LocalMediaPlay] fail");
+//	}
+//	pClient->SafeDelete();
+//	return rc;
+//#else
 		// 通知媒体停止播放广告和声音
 	LocalMediaPlay::PlayService_ClientBase *pClient = new LocalMediaPlay::PlayService_ClientBase(this);
 	ErrorCodeEnum rc = pClient->Connect();
 	if (rc == Error_Succeed)
 	{
-		DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("connect to entity [LocalMediaPlay] succeed, start StopMediaPlay now");
+		DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("connect to entity [LocalMediaPlay] succeed, start StopMediaPlay now");
 		LocalMediaPlay::PlayService_StopPlayVideo_Req req1 = {};
 		LocalMediaPlay::PlayService_StopPlayVideo_Ans ans1 = {};
 		req1.CfgInx = 1;
-		rc = (*pClient)(EntityResource::getLink().upgradeLink())->StopPlayVideo(req1, ans1, 10000);
+		rc = (*pClient)(EntityResource::getLink().upgradeLink())->StopPlayVideo(req1, ans1, 30000);
 		if (Error_Succeed == rc)
 		{
-			DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("StopPlayVideo success");
+			DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("StopPlayVideo success");
 		}else{
-			Dbg("StopPlayVideo fail");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("StopPlayVideo fail, err=%d", (int)rc);
 			pClient->GetFunction()->CloseSession();
-			pClient->SafeDelete();
 			return rc;
 		}
 
 		LocalMediaPlay::PlayService_StopPlayAudio_Req req2 = {};
 		LocalMediaPlay::PlayService_StopPlayAudio_Ans ans2 = {};
-		rc = (*pClient)(EntityResource::getLink().upgradeLink())->StopPlayAudio(req2, ans2, 10000);
+		rc = (*pClient)(EntityResource::getLink().upgradeLink())->StopPlayAudio(req2, ans2, 30000);
 		if (Error_Succeed == rc)
 		{
-			Dbg("StopPlayAudio success");
+			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("StopPlayAudio success");
 		}else{
-			Dbg("StopPlayAudio fail");
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("StopPlayAudio fail, err=%d", (int)rc);
 			pClient->GetFunction()->CloseSession();
-			pClient->SafeDelete();
 			return rc;
 		}
 		pClient->GetFunction()->CloseSession();
+		return rc;
 	}
 	else
 	{
 		LogWarn(Severity_Low, rc, ERR_TASK_STOP_MEDIA_FAIL, "connect to entity [LocalMediaPlay] fail");
 		pClient->SafeDelete();
+		return rc;
 	}
-	return rc;
-#endif
+	
+//#endif
 	
 }
 SP_BEGIN_ENTITY_MAP()

+ 3 - 58
Module/mod_UpgradeMgr/mod_UpgradeMgr.h

@@ -52,12 +52,10 @@ public:
 	virtual void OnSysVarEvent(const char *pszKey, const char *pszValue,const char *pszOldValue,const char *pszEntityName);
 	static char GetInstallStateVal(const InstallStateEnum enumVal);
 	
-	ErrorCodeEnum RegistLocalPack(const CSimpleStringA &strPackFile);
-	DWORD RegistManualPack(const CSimpleStringA &strPackFile);
-	DWORD GetManualPacks(CSimpleStringA &strManualPacks);
-	ErrorCodeEnum CancelUpdate(const CSimpleStringA &strPackName);
+	
+
 	ErrorCodeEnum RollbackUpdate(const CSimpleStringA &strVersion);
-	ErrorCodeEnum SwitchUpgrade(const CSimpleStringA &strPack);
+	
 	ErrorCodeEnum GetUpgradeState(bool &bInstalling, CSimpleStringA &strPackFile, CSimpleStringA &strExecID,
 		char &nInstallState, bool &bSysInstall, bool &bLightPack, CSimpleStringA &strNewVersion);
 	//检测active文件是否被锁
@@ -98,36 +96,6 @@ public:
 	CUpgradeMgrSession(CUpgradeMgrEntity *pEntity) : m_pEntity(pEntity) {}
 	virtual ~CUpgradeMgrSession() {}
 
-	virtual void Handle_RegistLocalPack(SpReqAnsContext<UpgradeMgrService_RegistLocalPack_Req, UpgradeMgrService_RegistLocalPack_Ans>::Pointer ctx)
-	{
-		DbgToBeidou(ctx->link, __FUNCTION__)();
-		ErrorCodeEnum rc = m_pEntity->RegistLocalPack(ctx->Req.strPackFile);
-		ctx->Answer(rc);
-	}
-
-	virtual void Handle_RegistManualPack(SpReqAnsContext<UpgradeMgrService_RegistManualPack_Req, UpgradeMgrService_RegistManualPack_Ans>::Pointer ctx)
-	{
-		LOG_FUNCTION();
-		DbgToBeidou(ctx->link, __FUNCTION__)();
-		DbgWithLink(LOG_LEVEL_INFO, ctx->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER).setAPI(__FUNCTION__)("RegistManualPack received!");
-		DWORD dwRet = 0;
-		CSimpleStringA strErrmsg="RegistManualPack new UpgradeMgr is not deal with";
-		
-		dwRet = m_pEntity->RegistManualPack(ctx->Req.strPackFile);
-
-		ctx->Ans.Errcode = dwRet;
-		ctx->Ans.ErrMsg = strErrmsg;
-		ctx->Answer(Error_Succeed);
-	}
-
-	virtual void Handle_CancelUpdate(SpReqAnsContext<UpgradeMgrService_CancelUpdate_Req, UpgradeMgrService_CancelUpdate_Ans>::Pointer ctx)
-	{
-		DbgToBeidou(ctx->link, __FUNCTION__)();
-		DbgWithLink(LOG_LEVEL_INFO, ctx->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER).setAPI(__FUNCTION__)("CancelUpdate received!");
-		ErrorCodeEnum rc = m_pEntity->CancelUpdate(ctx->Req.strPackFile);
-		ctx->Answer(rc);
-	}
-
 	virtual void Handle_RollbackUpdate(SpReqAnsContext<UpgradeMgrService_RollbackUpdate_Req, UpgradeMgrService_RollbackUpdate_Ans>::Pointer ctx)
 	{
 		DbgToBeidou(ctx->link, __FUNCTION__)();
@@ -145,29 +113,6 @@ public:
 		ctx->Answer(rc);
 	}
 
-	virtual void Handle_SwitchUpgrade(SpReqAnsContext<UpgradeMgrService_SwitchUpgrade_Req, UpgradeMgrService_SwitchUpgrade_Ans>::Pointer ctx)
-	{
-		DbgToBeidou(ctx->link, __FUNCTION__)();
-		DbgWithLink(LOG_LEVEL_INFO, ctx->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER).setAPI(__FUNCTION__)("SwitchUpgrade received!");
-		auto rc = m_pEntity->SwitchUpgrade(ctx->Req.strPackFile);
-		ctx->Answer(rc);
-	}
-
-	virtual void Handle_GetManualPacks(SpReqAnsContext<UpgradeMgrService_GetManualPacks_Req, UpgradeMgrService_GetManualPacks_Ans>::Pointer ctx)
-	{
-		LOG_FUNCTION();
-		DbgToBeidou(ctx->link, __FUNCTION__)();
-		DbgWithLink(LOG_LEVEL_INFO, ctx->link.checkEmpty() ? LOG_TYPE_SYSTEM : LOG_TYPE_USER).setAPI(__FUNCTION__)("GetManualPacks received!");
-		DWORD dwRet = 0;
-		CSimpleStringA strErrmsg= "GetManualPacks new UpgradeMgr is not deal with";
-		CSimpleStringA strPackList="";
-		dwRet = m_pEntity->GetManualPacks(strPackList);
-
-		ctx->Ans.Errcode = dwRet;
-		ctx->Ans.ErrMsg = strErrmsg;
-		ctx->Answer(Error_Succeed);
-	}
-
 private:
 	CUpgradeMgrEntity *m_pEntity;
 };

+ 5 - 5
Module/mod_accessauth/AccessAuthFSM.cpp

@@ -1010,7 +1010,7 @@ CSimpleStringA CAccessAuthFSM::GetOsVersion()
 	ErrorCodeEnum eErr = GetEntityBase()->GetFunction()->GetPath("runinfo", runInfoPath);
 	if (eErr != Error_Succeed) {
 		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("GetPath runinfo error=%s.", SpStrError(eErr));
-		errInfo["getLastErr"] = GetLastError();
+		errInfo["getLastErr"] = to_string(GetLastError());
 		errMsg = generateJsonStr(errInfo).second.c_str();
 		return errMsg;
 	}
@@ -1021,7 +1021,7 @@ CSimpleStringA CAccessAuthFSM::GetOsVersion()
 	{
 		DWORD dwErr = GetLastError();
 		DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("open runcfg\\osverion file failed. [%d]", dwErr);
-		errInfo["getLastErr"] = dwErr;
+		errInfo["getLastErr"] = to_string(dwErr);
 		errMsg = generateJsonStr(errInfo).second.c_str();
 		return errMsg;
 	}
@@ -1036,7 +1036,7 @@ CSimpleStringA CAccessAuthFSM::GetOsVersion()
 			continue;
 	}
 
-	errInfo["getLastErr"] = GetLastError();
+	errInfo["getLastErr"] = to_string(GetLastError());
 	errMsg = generateJsonStr(errInfo).second.c_str();
 	return errMsg;
 #else
@@ -1072,12 +1072,12 @@ void CAccessAuthFSM::GetIPandMac(CSimpleStringA& ip, CSimpleStringA& mac)
 		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("Get sys netinfo failed!. rc=%d.", rc);
 		errInfo["errcode"] = "RTA5216";
 		errInfo["msg"] = "调用系统api获取ip失败";
-		errInfo["getLastErr"] = GetLastError();
+		errInfo["getLastErr"] = to_string(GetLastError());
 		ip = generateJsonStr(errInfo).second.c_str();
 
 		errInfo["errcode"] = "RTA5217";
 		errInfo["msg"] = "调用系统api获取mac地址失败";
-		errInfo["getLastErr"] = GetLastError();
+		errInfo["getLastErr"] = to_string(GetLastError());
 		mac = generateJsonStr(errInfo).second.c_str();
 
 		auto pEntity = (CAccessAuthEntity*)m_pEntity;

+ 9 - 9
Module/mod_accessauth/mod_AccessAuth.cpp

@@ -758,7 +758,7 @@ ErrorCodeEnum CAccessAuthEntity::GetPinPadModel(CSimpleStringA& pinpadModel, boo
 
 		errInfo["errcode"] = "RTA5204";
 		errInfo["msg"] = "PinPad超时未打开";
-		errInfo["getLastErr"] = GetLastError();
+		errInfo["getLastErr"] = to_string(GetLastError());
 		pinpadModel = generateJsonStr(errInfo).second.c_str();
 
 	}
@@ -773,7 +773,7 @@ ErrorCodeEnum CAccessAuthEntity::GetPinPadModel(CSimpleStringA& pinpadModel, boo
 
 		errInfo["errcode"] = "RTA5218";
 		errInfo["msg"] = "PinPad打开失败";
-		errInfo["getLastErr"] = GetLastError();
+		errInfo["getLastErr"] = to_string(GetLastError());
 		pinpadModel = generateJsonStr(errInfo).second.c_str();
 	}
 	else if(rc != Error_Succeed)
@@ -787,7 +787,7 @@ ErrorCodeEnum CAccessAuthEntity::GetPinPadModel(CSimpleStringA& pinpadModel, boo
 
 		errInfo["errcode"] = "RTA5205";
 		errInfo["msg"] = "连接PinPad取数据异常";
-		errInfo["getLastErr"] = GetLastError();
+		errInfo["getLastErr"] = to_string(GetLastError());
 		pinpadModel = generateJsonStr(errInfo).second.c_str();
 	}
 
@@ -1323,7 +1323,7 @@ void CAccessAuthEntity::GetHardWareInfo()
 		{
 			errInfo["errcode"] = "RTA5213";
 			errInfo["msg"] = "调用系统api获取CPU序号失败";
-			errInfo["getLastErr"] = GetLastError();
+			errInfo["getLastErr"] = to_string(GetLastError());
 			m_cpuId = generateJsonStr(errInfo).second.c_str();
 
 			m_iGetTermSysInfo = -1;
@@ -1349,7 +1349,7 @@ void CAccessAuthEntity::GetHardWareInfo()
 		{
 			errInfo["errcode"] = "RTA5214";
 			errInfo["msg"] = "调用系统api获取主板ID号失败";
-			errInfo["getLastErr"] = GetLastError();
+			errInfo["getLastErr"] = to_string(GetLastError());
 			m_mainBoardId = generateJsonStr(errInfo).second.c_str();
 
 			m_iGetTermSysInfo = -1;
@@ -1376,7 +1376,7 @@ void CAccessAuthEntity::GetHardWareInfo()
 		{
 			errInfo["errcode"] = "RTA5215";
 			errInfo["msg"] = "调用系统api获取硬盘ID号失败";
-			errInfo["getLastErr"] = GetLastError();
+			errInfo["getLastErr"] = to_string(GetLastError());
 			m_hardDiskId = generateJsonStr(errInfo).second.c_str();
 
 			m_iGetTermSysInfo = -1;
@@ -1410,7 +1410,7 @@ void CAccessAuthEntity::GetHardWareInfo()
 		{
 			errInfo["errcode"] = "RTA5213";
 			errInfo["msg"] = "调用系统api获取CPU序号失败";
-			errInfo["getLastErr"] = GetLastError();
+			errInfo["getLastErr"] = to_string(GetLastError());
 			m_cpuId = generateJsonStr(errInfo).second.c_str();
 
 			m_iGetTermSysInfo = -1;
@@ -1437,7 +1437,7 @@ void CAccessAuthEntity::GetHardWareInfo()
 		{
 			errInfo["errcode"] = "RTA5214";
 			errInfo["msg"] = "调用系统api获取主板ID号失败";
-			errInfo["getLastErr"] = GetLastError();
+			errInfo["getLastErr"] = to_string(GetLastError());
 			m_mainBoardId = generateJsonStr(errInfo).second.c_str();
 
 			m_iGetTermSysInfo = -1;
@@ -1465,7 +1465,7 @@ void CAccessAuthEntity::GetHardWareInfo()
 		{
 			errInfo["errcode"] = "RTA5215";
 			errInfo["msg"] = "调用系统api获取硬盘ID号失败";
-			errInfo["getLastErr"] = GetLastError();
+			errInfo["getLastErr"] = to_string(GetLastError());
 			m_hardDiskId = generateJsonStr(errInfo).second.c_str();
 
 			m_iGetTermSysInfo = -1;

+ 2 - 1
Module/mod_alarm/AlarmFSM.cpp

@@ -323,7 +323,8 @@ void AlarmFSM::s0_on_entry()
 {
 	if(!m_initAlarm){
 		m_initAlarm=true;
-		LogWarn(Severity_Low,Error_Exception,WARN_ALARM_START_NEW_MODE,CSimpleStringA::Format("init alarm new model,model=%d",m_CenterModel));
+		//LogWarn(Severity_Low,Error_Exception,WARN_ALARM_START_NEW_MODE,CSimpleStringA::Format("init alarm new model,model=%d",m_CenterModel));
+		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("init alarm new model,model=%d", m_CenterModel);
 	}
 
 	//新模式

+ 13 - 7
Module/mod_cardissuerstore/CardIssuerStoreFSM.cpp

@@ -10,6 +10,7 @@
 #include "publicFunExport.h"
 #include <algorithm>
 #include <map>
+#include <list>
 #ifdef RVC_OS_WIN
 #define _ATL_NO_AUTOMATIC_NAMESPACE
 #include <atltime.h>
@@ -2962,7 +2963,12 @@ int CCardIssuerFSM::ReadCard_Contact(SpReqAnsContext<CardIssuerStoreService_Read
 				else
 				{
 					//既没有读到磁条,又不是IC,很大概率是插反了
-					LogWarn(Severity_Low, Error_Unexpect, CardIssuerStore_UserErrorCode_Maybe_InsertCard_InWrongStyle, "<ReadCard>, 既没读到磁条,又没检测到IC,可能插反了");
+					if (m_issueStatus) {
+						LogWarn(Severity_Low, Error_Unexpect, CardIssuerStore_UserErrorCode_Maybe_InsertCard_InWrongStyle, "<ReadCard>, 既没读到磁条,又没检测到IC,可能插反了,m_issueStatus=1");
+					}
+					else {
+						LogWarn(Severity_Low, Error_Unexpect, CardIssuerStore_UserErrorCode_Maybe_InsertCard_InWrongStyle, "<ReadCard>, 既没读到磁条,又没检测到IC,可能插反了,m_issueStatus=0");
+					}
 					if (m_issueStatus)
 					{
 						m_mixedEx[m_currentHopper - 1]++;
@@ -3012,7 +3018,7 @@ int CCardIssuerFSM::ReadCard_Contact(SpReqAnsContext<CardIssuerStoreService_Read
 			return 1;
 	}
 	bICOK = true;
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040222003")("ReadCard suc. cardType:%d", ctx->Ans.ICType);
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040222003")("ReadCard suc. cardType:%d. m_issueStatus:%d", ctx->Ans.ICType, m_issueStatus);
 	return 0;
 }
 int CCardIssuerFSM::ReadCard_RF(SpReqAnsContext<CardIssuerStoreService_Read_Req, CardIssuerStoreService_Read_Ans>::Pointer ctx)
@@ -3271,7 +3277,7 @@ int CCardIssuerFSM::ReadCard_RF(SpReqAnsContext<CardIssuerStoreService_Read_Req,
 		else
 			return 1;
 	}
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040222003")("ReadCard suc. cardType:%d", ctx->Ans.ICType);
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR040222003")("ReadCard suc. cardType:%d. m_issueStatus:%d", ctx->Ans.ICType, m_issueStatus);
 	return 0;
 }
 int CCardIssuerFSM::PreOnline(SpReqAnsContext<CardIssuerStoreService_PreOnline_Req, CardIssuerStoreService_PreOnline_Ans>::Pointer ctx)
@@ -3394,7 +3400,7 @@ int CCardIssuerFSM::PreOnline_Contact(SpReqAnsContext<CardIssuerStoreService_Pre
 		else {
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::MoveCardFromSlot").setCostTime(l_endTime - l_beginTime)("PreOnline_Contact::MoveCardFromSlot");
 		}
-		LogWarn(Severity_Low, Error_Succeed, CardIssuerStore_UserErrorCode_MoveCardFromSlot, "PreOnline_Contact MoveCardFromSlot suc.");
+		//LogWarn(Severity_Low, Error_Succeed, CardIssuerStore_UserErrorCode_MoveCardFromSlot, "PreOnline_Contact MoveCardFromSlot suc.");
 		CardNo card;
 		ZeroMemory(card.account, sizeof(card.account));
 		ZeroMemory(card.track2, sizeof(card.track2));
@@ -6074,7 +6080,7 @@ int CCardIssuerFSM::AddCardToStoreStepFirst(SpReqAnsContext<CardIssuerStoreServi
 	m_addCardSerial = "";
 	ErrorCodeEnum eErr = Error_Unexpect;
 	long l_beginTime, l_endTime;
-	LogWarn(Severity_Low, Error_Unexpect, CardIssuerStore_UserErrorCode_AddCardToStoreStepFirst, "AddCardToStoreStepFirst");
+	//LogWarn(Severity_Low, Error_Unexpect, CardIssuerStore_UserErrorCode_AddCardToStoreStepFirst, "AddCardToStoreStepFirst");
 	l_beginTime = GetTickCountRVC();
 	eErr = m_hDevHelper->MoveCard(CI_MOVECARD_FROM_HOPPER,99);
 	l_endTime = GetTickCountRVC();
@@ -6443,7 +6449,7 @@ void CCardIssuerFSM::AfterPreOnlineOnStore(ErrorCodeEnum err, const int slot)
 		if (eErr == Error_Succeed)
 		{
 			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("DevAdapter::MoveCardToSlot").setCostTime(l_endTime - l_beginTime)("AfterPreOnlineOnStore::MoveCardToSlot, slot:%d", slot);
-			LogWarn(Severity_Low, Error_Succeed, CardIssuerStore_UserErrorCode_MoveCardToSlot, "AfterPreOnlineOnStore MoveCardToSlot suc.");
+			//LogWarn(Severity_Low, Error_Succeed, CardIssuerStore_UserErrorCode_MoveCardToSlot, "AfterPreOnlineOnStore MoveCardToSlot suc.");
 			m_cardPos = 1;
 		}
 		else
@@ -10904,7 +10910,7 @@ int CCardIssuerFSM::QuickSelfCheckImpl()
 			ret = 0;
 		}
 		pClient->GetFunction()->CloseSession();
-		pClient->SafeDelete();
+		//pClient->SafeDelete();
 		return ret;
 	}
 	else {

+ 1 - 1
Module/mod_heartbeat/HeartBeatFSM.cpp

@@ -428,7 +428,7 @@ int CHeartBeatFSM::DoNewHandShake() {
 	while (true)
 	{
 		if (warnSum == 50) {
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("HandShakeHttp")("HandShakeHttp send 50 times");
+			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI("HandShakeHttp")("HandShakeHttp send 50 times");
 			warnSum = 0;
 		}		
 		IHttpFunc* client;

+ 2 - 3
Module/mod_pinpad/PinPadFSM.cpp

@@ -599,7 +599,7 @@ ErrorCodeEnum CPinPadFSM::GetEncryptText(SpReqAnsContext<PinPadService_GetInputS
 	AccountInfo accInfo;
 	memset(accInfo.account, 0, MAX_ACCOUNT_LEN);
 	CSimpleStringA errMsg(true);
-
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("account[%s]", SP::Module::Util::DataMask(SP::Module::Util::DataMask_CardAccount, ctxSM->Req.account).GetData());
 	if (Get12Account(const_cast<char*>(ctxSM->Req.account.GetData())))
 		memcpy(accInfo.account, m_szAccount + 4, 12);
 	else
@@ -620,7 +620,6 @@ ErrorCodeEnum CPinPadFSM::GetEncryptText(SpReqAnsContext<PinPadService_GetInputS
 
 	//memcpy(accInfo.account,"588571006555",12);
 	accInfo.dwAccLen = 12;
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("acc(%s)", accInfo.account);
 	m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
 	errCode = m_hDevHelper->SetAccNo(accInfo);
 	m_ullEndTime = SP::Module::Comm::RVCGetTickCount();
@@ -1312,6 +1311,7 @@ ErrorCodeEnum CPinPadFSM::GetEncryptTextJS(SpReqAnsContext<PinPadService_GetInpu
 	memset(accInfo.account, 0, MAX_ACCOUNT_LEN);
 	CSimpleStringA errMsg(true);
 
+	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("account[%s]", SP::Module::Util::DataMask(SP::Module::Util::DataMask_CardAccount, ctxJS->Req.account).GetData());
 	if (Get12Account(const_cast<char*>(ctxJS->Req.account.GetData())))
 		memcpy(accInfo.account, m_szAccount + 4, 12);
 	else
@@ -1332,7 +1332,6 @@ ErrorCodeEnum CPinPadFSM::GetEncryptTextJS(SpReqAnsContext<PinPadService_GetInpu
 
 	//memcpy(accInfo.account,"588571006555",12);
 	accInfo.dwAccLen = 12;
-	DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("acc(%s)", accInfo.account);
 	m_ullBeginTime = SP::Module::Comm::RVCGetTickCount();
 	errCode = m_hDevHelper->SetAccNo(accInfo);
 	m_ullEndTime = SP::Module::Comm::RVCGetTickCount();

+ 9 - 7
Module/mod_upload/UploadFSM.cpp

@@ -365,7 +365,8 @@ namespace Task
 			//调用上传接口
 			//最后一次上传时,文件hash和长度告警
 			if (m_fsm->m_currUploadFile->lastMD5Str.length() != 0) {
-				LogWarn(Severity_Low, Error_Unexpect, LOG_WARN_UPLOAD_FILE_INFO, CSimpleStringA::Format("upload %s file size is %s byte,sm3 digest is %s.", m_fsm->m_currUploadFile->fileName.c_str(), lastFileLength.c_str(), m_fsm->m_currUploadFile->lastMD5Str.c_str()).GetData());
+				//LogWarn(Severity_Low, Error_Unexpect, LOG_WARN_UPLOAD_FILE_INFO, CSimpleStringA::Format("upload %s file size is %s byte,sm3 digest is %s.", m_fsm->m_currUploadFile->fileName.c_str(), lastFileLength.c_str(), m_fsm->m_currUploadFile->lastMD5Str.c_str()).GetData());
+				DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("upload %s file size is %s byte,sm3 digest is %s.", m_fsm->m_currUploadFile->fileName.c_str(), lastFileLength.c_str(), m_fsm->m_currUploadFile->lastMD5Str.c_str());
 			}
 			PROCESS_LINK_CONTEXT("LR0402104UploadFile")
 			if (!client->UploadFileBlock(qTempReq, qTempRet, &nextLink)) {
@@ -753,7 +754,7 @@ namespace Task
 
 void UploadFSM::OnStateTrans( int iSrcState, int iDstState )
 {
-	DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("trans from %s to %s", GetStateName(iSrcState), GetStateName(iDstState));
+	DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("trans from %s to %s", GetStateName(iSrcState), GetStateName(iDstState));
 
 }
 
@@ -1093,7 +1094,7 @@ unsigned int UploadFSM::s2_on_event(FSMEvent* event)
 			scanFile();
 		}
 		if (m_uploadList->size() == 0) {
-			DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("m_uploadList is 0,wait for 8 min retry scan");
+			DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM)("m_uploadList is 0,wait for 8 min retry scan");
 			ScheduleTimer(1, 480000);
 		} else {
 			PostEventLIFO(new FSMEvent(USER_EVT_JMP_NEW_UPLOAD));//跳到新的上传状态
@@ -1225,7 +1226,7 @@ unsigned int UploadFSM::s7_on_event(FSMEvent* event)
 			}else{
 				m_uploadReport.isBreak =false;
 				reportBatchMsg();
-				DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("NewUpload m_uploadList is empty,wait 240s retry scan");
+				DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM)("NewUpload m_uploadList is empty,wait 240s retry scan");
 				ScheduleTimer(7, 240000);// goto s2
 			}
 
@@ -1266,7 +1267,7 @@ unsigned int UploadFSM::s7_on_event(FSMEvent* event)
 			}else{
 				m_uploadReport.isBreak =false;
 				reportBatchMsg();
-				DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("NewUpload m_uploadList is empty,wait 240s retry scan");
+				DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM)("NewUpload m_uploadList is empty,wait 240s retry scan");
 				ScheduleTimer(7, 240000);// goto s2
 			}
 		}else{
@@ -1278,7 +1279,7 @@ unsigned int UploadFSM::s7_on_event(FSMEvent* event)
 		
 	}else if (event->iEvt == EVT_TIMER) {
 		// goto s2
-		DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("NewUpload ,jump to s2");
+		DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM)("NewUpload ,jump to s2");
 	}
 	
 	return 0;
@@ -1880,7 +1881,8 @@ void UploadFSM::reportBatchMsg()
 		strReport =CSimpleStringA::Format("batch=succ isbreak=%d sum=%d succ=%d fail=%d detail fail: uploadFail=%d updateState=%d operateFileFail=%d (decodeFail=%d queryTempFail=%d)",
 			m_uploadReport.isBreak, m_uploadReport.sum, m_uploadReport.succ, m_uploadReport.fail, m_uploadReport.uploadFail, m_uploadReport.updateState,
 			m_uploadReport.operateFileFail, m_uploadReport.decodeFail, m_uploadReport.queryTempFail);
-		LogWarn(Severity_Low, Error_Unexpect, LOG_WARN_UPLOAD_FILE_REPORT, strReport.GetData());
+		//LogWarn(Severity_Low, Error_Unexpect, LOG_WARN_UPLOAD_FILE_REPORT, strReport.GetData());
+		DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)(strReport.GetData());
 	}else{
 		strReport =CSimpleStringA::Format("batch=fail isbreak=%d sum=%d succ=%d fail=%d detail fail: uploadFail=%d updateState=%d operateFileFail=%d (decodeFail=%d queryTempFail=%d)",
 			m_uploadReport.isBreak, m_uploadReport.sum, m_uploadReport.succ, m_uploadReport.fail, m_uploadReport.uploadFail, m_uploadReport.updateState,

Vissa filer visades inte eftersom för många filer har ändrats