diff --git a/src/modules/network_element/service/ne_software.impl.go b/src/modules/network_element/service/ne_software.impl.go index df1454e4..0f0ede9f 100644 --- a/src/modules/network_element/service/ne_software.impl.go +++ b/src/modules/network_element/service/ne_software.impl.go @@ -270,17 +270,19 @@ func (r *NeSoftwareImpl) InstallToNeHost(neSoftware model.NeSoftware, preinput m // 等待写入协程完成 <-done - // 更新Version - neVersion := NewNeVersionImpl.SelectByNeTypeAndNeID(neSoftware.NeType, neSoftware.NeId) - if neVersion.NeId == neSoftware.NeId { - neVersion.Name = neSoftware.Name - neVersion.Version = neSoftware.Version - neVersion.Path = neSoftware.Path - neVersion.NewName = "-" - neVersion.NewVersion = "-" - neVersion.NewPath = "-" - neVersion.Status = "1" - NewNeVersionImpl.Update(neVersion) + // 执行到最后语句的更新Version + if strings.LastIndex(logMsg, okFlagStr) > 5 { + verInfo := NewNeVersionImpl.SelectByNeTypeAndNeID(neSoftware.NeType, neSoftware.NeId) + if verInfo.NeId == neSoftware.NeId { + verInfo.Name = neSoftware.Name + verInfo.Version = neSoftware.Version + verInfo.Path = neSoftware.Path + verInfo.NewName = "-" + verInfo.NewVersion = "-" + verInfo.NewPath = "-" + verInfo.Status = "1" + NewNeVersionImpl.Update(verInfo) + } } return logMsg, nil } diff --git a/src/modules/network_element/service/ne_version.impl.go b/src/modules/network_element/service/ne_version.impl.go index ad12f15c..1b4b105c 100644 --- a/src/modules/network_element/service/ne_version.impl.go +++ b/src/modules/network_element/service/ne_version.impl.go @@ -236,5 +236,37 @@ func (r *NeVersionImpl) Operate(action string, neVersion model.NeVersion, preinp }() // 等待写入协程完成 <-done + + // 执行到最后语句的更新Version + if strings.LastIndex(logMsg, okFlagStr) > 5 { + verInfo := NewNeVersionImpl.SelectByNeTypeAndNeID(neVersion.NeType, neVersion.NeId) + if verInfo.NeId == neVersion.NeId { + curName := verInfo.Name + curVersion := verInfo.Version + curPath := verInfo.Path + if action == "upgrade" { + verInfo.Name = neVersion.NewName + verInfo.Version = neVersion.NewVersion + verInfo.Path = neVersion.NewPath + verInfo.PreName = curName + verInfo.PreVersion = curVersion + verInfo.PrePath = curPath + verInfo.NewName = "-" + verInfo.NewVersion = "-" + verInfo.NewPath = "-" + } + if action == "rollback" { + verInfo.Name = neVersion.PreName + verInfo.Version = neVersion.PreVersion + verInfo.Path = neVersion.PrePath + verInfo.PreName = curName + verInfo.PreVersion = curVersion + verInfo.PrePath = curPath + } + + verInfo.Status = "1" + NewNeVersionImpl.Update(verInfo) + } + } return logMsg, nil }