浏览代码

Z991239-5721 #comment feat: 升级实体兼容支持适配器升级改造,优化告警信息接口字段

Signed-Off-By: commit-hook
刘文涛80174520 11 月之前
父节点
当前提交
d24e440fbd
共有 2 个文件被更改,包括 64 次插入42 次删除
  1. 63 41
      Module/mod_UpgradeMgr/UpgradeTaskFSM.cpp
  2. 1 1
      Module/mod_UpgradeMgr/UpgradeTaskFSM.h

+ 63 - 41
Module/mod_UpgradeMgr/UpgradeTaskFSM.cpp

@@ -3622,9 +3622,9 @@ void CUpgradeTaskFSM::SendUpgradeTaskProgress(CTaskProcess &process, CSimpleStri
 	}else{
 		root["installVersion"]=process.installVersion.GetData();
 	}
-	string currentBuildStr = CSimpleStringA::Format("%d.%d.%d",process.CurrentVersion.GetMajor(),process.CurrentVersion.GetMinor(),process.CurrentVersion.GetRevision()).GetData();
-	root["CurrentVersion"]=process.CurrentVersion.ToString().GetData();
-	root["CurrentBuild"]=currentBuildStr.c_str();	
+	//string currentBuildStr = CSimpleStringA::Format("%d.%d.%d",process.CurrentVersion.GetMajor(),process.CurrentVersion.GetMinor(),process.CurrentVersion.GetRevision()).GetData();
+	root["CurrentVersion"]=process.CurrentVersion.GetData();
+	root["CurrentBuild"]= process.CurrentVersion.GetData();
 	root["upgradeTimeStr"]=CSmallDateTime::GetNow().ToTimeString().GetData();
 
 	if(!process.cInstallState.IsNullOrEmpty()){
@@ -6264,43 +6264,65 @@ unsigned int CUpgradeTaskFSM::s2_on_event(FSMEvent* event)
 
 			//告警回滚和升级成功
 			if(m_currentTask.cPendingState=="T"){
-				if(m_currentTask.NewVersion == m_currentVersion.ToString()||
-					m_currentTask.depNewVersion == m_currentDepVersion ||
-					(m_currentTask.NewVersion == "" && m_currentTask.depNewVersion == "")) {
-					//安装成功
+				if (isTerminalInstall()) {
+					//安装情况
 					struct CTaskProcess up;
-					up.strPackName  = m_currentTask.pack_name;//安装包名
-					up.installVersion  = m_currentVersion.ToString();//当前的版本
-					up.CurrentVersion = m_currentVersion;//当前的版本
-					up.cInstallState  = "A";
-					up.strInstallComment  = "启动成功";
-					if (m_currentTask.task_type.Compare("U")==0) {
-						SendUpgradeTaskProgress(up, UpgradeMgr_START_ID);
+					up.strPackName = m_currentTask.pack_name;//安装包名
+					if (!m_currentTask.depNewVersion.IsNullOrEmpty()) {
+						up.installVersion = m_currentVersion.ToString();//当前的版本
+						up.CurrentVersion = m_currentVersion.ToString();//当前的版本
 					}
 					else {
-						SendUpgradeTaskProgress(up, UpgradeMgr_ROLLBACK_START_ID);
+						up.installVersion = m_currentTask.depNewVersion.GetData();//适配器版本
+						up.CurrentVersion = m_currentDepVersion;//适配器当前版本
 					}
+					up.cInstallState = "A";
+					up.strInstallComment = "启动成功";
+					SendUpgradeTaskProgress(up, UpgradeMgr_START_ID);
 					upgradeSuccStateBroadCast();//广播告知升级成功
+				}
+				else {
+					//非安装情况
+					if (m_currentTask.NewVersion == m_currentVersion.ToString() ||
+						m_currentTask.depNewVersion == m_currentDepVersion ||
+						(m_currentTask.NewVersion == "" && m_currentTask.depNewVersion == "")) {
+						//安装成功
+						struct CTaskProcess up;
+						up.strPackName = m_currentTask.pack_name;//安装包名
+						up.installVersion = m_currentVersion.ToString();//当前的版本
+						up.CurrentVersion = m_currentVersion.ToString();//当前的版本
+						up.cInstallState = "A";
+						up.strInstallComment = "启动成功";
+						if (m_currentTask.task_type.Compare("U") == 0) {
+							SendUpgradeTaskProgress(up, UpgradeMgr_START_ID);
+						}
+						else {
+							SendUpgradeTaskProgress(up, UpgradeMgr_ROLLBACK_START_ID);
+						}
+						upgradeSuccStateBroadCast();//广播告知升级成功
 
-				}else{
-					//回滚
-					struct CTaskProcess upRoll;
-					upRoll.strPackName  = m_currentTask.pack_name;//安装包名
-					upRoll.installVersion  = m_currentTask.NewVersion.GetData();//任务升级后的版本号
-					upRoll.CurrentVersion = m_currentVersion;//当前的版本
-					upRoll.cInstallState  = "R";
-					upRoll.strInstallComment  = "自动倒回";
-					if (m_currentTask.task_type.Compare("U")==0) {
-						SendUpgradeTaskProgress(upRoll, UpgradeMgr_START_ID, " RTA5667");
 					}
 					else {
-						SendUpgradeTaskProgress(upRoll, UpgradeMgr_ROLLBACK_START_ID, " RTA5672");
+						//回滚
+						struct CTaskProcess upRoll;
+						upRoll.strPackName = m_currentTask.pack_name;//安装包名
+						upRoll.installVersion = m_currentTask.NewVersion.GetData();//任务升级后的版本号
+						upRoll.CurrentVersion = m_currentVersion.ToString();//当前的版本
+						upRoll.cInstallState = "R";
+						upRoll.strInstallComment = "自动倒回";
+						if (m_currentTask.task_type.Compare("U") == 0) {
+							SendUpgradeTaskProgress(upRoll, UpgradeMgr_START_ID, " RTA5667");
+						}
+						else {
+							SendUpgradeTaskProgress(upRoll, UpgradeMgr_ROLLBACK_START_ID, " RTA5672");
+						}
 					}
 				}
 				ErrorCodeEnum rc = SetRunSucceed(m_currentTask.pack_name.GetData());
-				if(rc!=Error_Succeed){
-					DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("SetRunSucceed is fail: %d",(int)rc);
+				if (rc != Error_Succeed) {
+					DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("SetRunSucceed is fail: %d", (int)rc);
 				}
+				
 			}
 
 			//清除运行时文件和内存任务,跳转到S3
@@ -6550,7 +6572,7 @@ unsigned int CUpgradeTaskFSM::s3_on_event(FSMEvent* event)
 					struct CTaskProcess up;
 					up.strPackName = m_currentTask.pack_name;//安装包名
 					up.installVersion = m_currentTask.pack_version;//安装的版本
-					up.CurrentVersion = m_currentVersion;//当前的版本
+					up.CurrentVersion = m_currentVersion.ToString();//当前的版本
 					up.cInstallState = "D";
 					up.strInstallComment = "正在下载";
 					SendUpgradeTaskProgress(up,UpgradeMgr_DOWNLOAD_ID);
@@ -6563,7 +6585,7 @@ unsigned int CUpgradeTaskFSM::s3_on_event(FSMEvent* event)
 					struct CTaskProcess up;
 					up.strPackName = m_currentTask.pack_name;//安装包名
 					up.installVersion = m_currentTask.pack_version;//安装的版本
-					up.CurrentVersion = m_currentVersion;//当前的版本
+					up.CurrentVersion = m_currentVersion.ToString();//当前的版本
 					up.cInstallState = "B";
 					up.strInstallComment = "正在回退";
 					SendUpgradeTaskProgress(up,UpgradeMgr_ROLLBACK_ID);
@@ -6707,7 +6729,7 @@ unsigned int CUpgradeTaskFSM::s4_on_event(FSMEvent* event)
 			struct CTaskProcess up;
 			up.strPackName  = m_currentTask.pack_name;//安装包名
 			up.installVersion  = m_currentTask.pack_version;//安装的版本
-			up.CurrentVersion = m_currentVersion;//当前的版本
+			up.CurrentVersion = m_currentVersion.ToString();//当前的版本
 			up.cInstallState  = "C";
 			up.strInstallComment  = pEvent->errMsg.c_str();
 			SendUpgradeTaskProgress(up,UpgradeMgr_DOWNLOAD_ID,"RTA5660");
@@ -6735,7 +6757,7 @@ unsigned int CUpgradeTaskFSM::s4_on_event(FSMEvent* event)
 			struct CTaskProcess up;
 			up.strPackName  = m_currentTask.pack_name;//安装包名
 			up.installVersion  = m_currentTask.pack_version;//安装的版本
-			up.CurrentVersion = m_currentVersion;//当前的版本
+			up.CurrentVersion = m_currentVersion.ToString();//当前的版本
 			up.cInstallState  = "C";
 			up.strInstallComment  = "任务策略已取消";
 			SendUpgradeTaskProgress(up,UpgradeMgr_DOWNLOAD_ID,"RTA5661");
@@ -6925,7 +6947,7 @@ unsigned int CUpgradeTaskFSM::s5_on_event(FSMEvent* event)
 				struct CTaskProcess up;
 				up.strPackName  = m_currentTask.pack_name;//安装包名
 				up.installVersion  = m_currentTask.pack_version;//安装的版本
-				up.CurrentVersion = m_currentVersion;//当前的版本
+				up.CurrentVersion = m_currentVersion.ToString();//当前的版本
 				up.cInstallState  = "C";
 				up.strInstallComment  = "解压失败";
 				SendUpgradeTaskProgress(up,UpgradeMgr_INSTALL_ID,"RTA5662");
@@ -6988,7 +7010,7 @@ unsigned int CUpgradeTaskFSM::s5_on_event(FSMEvent* event)
 					up.installVersion = m_currentVersion.ToString();//当前版本号
 				}
 
-				up.CurrentVersion = m_currentVersion;//当前的版本
+				up.CurrentVersion = m_currentVersion.ToString();//当前的版本
 				up.cInstallState  = "W";
 				up.strInstallComment  = "安装成功";
 				SendUpgradeTaskProgress(up,UpgradeMgr_INSTALL_ID);
@@ -7019,7 +7041,7 @@ unsigned int CUpgradeTaskFSM::s5_on_event(FSMEvent* event)
 					struct CTaskProcess up;
 					up.strPackName  = m_currentTask.pack_name;//安装包名
 					up.installVersion  = m_currentTask.pack_version;//安装的版本
-					up.CurrentVersion = m_currentVersion;//当前的版本
+					up.CurrentVersion = m_currentVersion.ToString();//当前的版本
 					up.cInstallState  = "C";
 					up.strInstallComment  = pEvent->errMsg;//错误信息
 					SendUpgradeTaskProgress(up,UpgradeMgr_INSTALL_ID,"RTA5663");
@@ -7042,7 +7064,7 @@ unsigned int CUpgradeTaskFSM::s5_on_event(FSMEvent* event)
 					struct CTaskProcess up;
 					up.strPackName  = m_currentTask.pack_name;//安装包名
 					up.installVersion  = m_currentTask.pack_version;//安装的版本
-					up.CurrentVersion = m_currentVersion;//当前的版本
+					up.CurrentVersion = m_currentVersion.ToString();//当前的版本
 					up.cInstallState  = "X";
 					up.strInstallComment  = pEvent->errMsg;//错误信息
 					SendUpgradeTaskProgress(up,UpgradeMgr_INSTALL_ID,"RTA5664");
@@ -7105,7 +7127,7 @@ unsigned int CUpgradeTaskFSM::s5_on_event(FSMEvent* event)
 					struct CTaskProcess up;
 					up.strPackName = "";//安装包名
 					up.installVersion = m_currentTask.pack_version;//回退的版本
-					up.CurrentVersion = m_currentVersion;//当前的版本
+					up.CurrentVersion = m_currentVersion.ToString();//当前的版本
 					up.cInstallState = "C";
 					up.strInstallComment = pEvent->errMsg;//错误信息
 					SendUpgradeTaskProgress(up,UpgradeMgr_ROLLBACK_ID,"RTA5668");
@@ -7128,7 +7150,7 @@ unsigned int CUpgradeTaskFSM::s5_on_event(FSMEvent* event)
 					struct CTaskProcess up;
 					up.strPackName = "";//安装包名
 					up.installVersion = m_currentTask.pack_version;//回退的版本
-					up.CurrentVersion = m_currentVersion;//当前的版本
+					up.CurrentVersion = m_currentVersion.ToString();//当前的版本
 					up.cInstallState = "X";
 					up.strInstallComment = pEvent->errMsg;//错误信息
 					SendUpgradeTaskProgress(up,UpgradeMgr_ROLLBACK_ID,"RTA5669");
@@ -7204,7 +7226,7 @@ unsigned int CUpgradeTaskFSM::s6_on_event(FSMEvent* event)
 					up.installVersion = m_currentVersion.ToString();//当前版本号
 				}
 
-				up.CurrentVersion = m_currentVersion;//当前的版本
+				up.CurrentVersion = m_currentVersion.ToString();//当前的版本
 				up.cInstallState  = "S";
 				up.strInstallComment  = "已设为启动版本";
 				if (m_currentTask.task_type.Compare("U")==0) {
@@ -7268,7 +7290,7 @@ unsigned int CUpgradeTaskFSM::s6_on_event(FSMEvent* event)
 				}else {
 					up.installVersion = m_currentVersion.ToString();//当前版本号
 				}
-				up.CurrentVersion = m_currentVersion;//当前的版本
+				up.CurrentVersion = m_currentVersion.ToString();//当前的版本
 				up.cInstallState  = "C";
 				up.strInstallComment  = "更新active文件失败";//错误信息
 				if (m_currentTask.task_type.Compare("U")==0) {
@@ -7301,7 +7323,7 @@ unsigned int CUpgradeTaskFSM::s6_on_event(FSMEvent* event)
 					struct CTaskProcess up;
 					up.strPackName  = m_currentTask.pack_name;//安装包名
 					up.installVersion  = m_currentTask.pack_version;//安装的版本
-					up.CurrentVersion = m_currentVersion;//当前的版本
+					up.CurrentVersion = m_currentVersion.ToString();//当前的版本
 					up.cInstallState  = "C";
 					up.strInstallComment  = "任务策略已取消";
 					if (m_currentTask.task_type.Compare("U")==0) {

+ 1 - 1
Module/mod_UpgradeMgr/UpgradeTaskFSM.h

@@ -304,7 +304,7 @@ public:
 	{
 		CSimpleStringA strPackName;//관츰
 		CSimpleStringA installVersion;//갛陋경굶뵀
-		CVersion CurrentVersion;//뎠품경굶뵀
+		CSimpleStringA CurrentVersion;//뎠품경굶뵀
 		CSimpleStringA cInstallState;//�섬榴檄
 		CSimpleStringA strInstallComment;//�섬榴檄구鬧
 	};