From aa3fb21254e694c918b1fe752a4d145d868f9d3f Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Tue, 5 Mar 2024 16:14:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=BD=91=E5=85=83=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=90=8C=E6=AD=A5=E6=9B=B4=E6=96=B0=E7=BD=91?= =?UTF-8?q?=E5=85=83=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../network_element/controller/ne_info.go | 28 +++++++++++++------ src/modules/network_element/model/ne_info.go | 4 +-- .../network_element/service/ne_info.impl.go | 28 +++++++++++++++++++ 3 files changed, 50 insertions(+), 10 deletions(-) diff --git a/src/modules/network_element/controller/ne_info.go b/src/modules/network_element/controller/ne_info.go index 97b87225..e53f3d27 100644 --- a/src/modules/network_element/controller/ne_info.go +++ b/src/modules/network_element/controller/ne_info.go @@ -193,12 +193,18 @@ func (s *NeInfoController) Add(c *gin.Context) { return } - // 下发网管配置信息给网元 - _, err = neService.NeConfigOMC(body) - if err == nil { + // 获取网元状态是否正常 + _, err = neService.NeState(body) + if err != nil { body.Status = "1" } else { - body.Status = "0" + // 下发网管配置信息给网元 + _, err = neService.NeConfigOMC(body) + if err == nil { + body.Status = "0" + } else { + body.Status = "3" + } } insertId := s.neInfoService.Insert(body) @@ -238,12 +244,18 @@ func (s *NeInfoController) Edit(c *gin.Context) { return } - // 下发网管配置信息给网元 - _, err = neService.NeConfigOMC(body) - if err == nil { + // 获取网元状态是否正常 + _, err = neService.NeState(body) + if err != nil { body.Status = "1" } else { - body.Status = "0" + // 下发网管配置信息给网元 + _, err = neService.NeConfigOMC(body) + if err == nil { + body.Status = "0" + } else { + body.Status = "3" + } } rows := s.neInfoService.Update(body) diff --git a/src/modules/network_element/model/ne_info.go b/src/modules/network_element/model/ne_info.go index 86b1ba78..c08e71a0 100644 --- a/src/modules/network_element/model/ne_info.go +++ b/src/modules/network_element/model/ne_info.go @@ -14,7 +14,7 @@ type NeInfo struct { VendorName string `json:"vendorName"` Dn string `json:"dn"` NeAddress string `json:"neAddress"` - Status string `json:"status"` // 0: 在线 1: 下线 2: 备用 3: 工程 + Status string `json:"status"` // 0: 在线 1: 下线 2: 备用 3: 待下发配置 UpdateTime string `json:"updateTime"` HostIDs string `json:"hostIds"` // 网元主机ID组 数据格式(ssh,telnet,telnet) @@ -24,5 +24,5 @@ type NeInfo struct { ServerState map[string]any `json:"serverState,omitempty"` // 主机对象组 - Hosts []NeHost `json:"hosts,omitempty" binding:"hosts"` + Hosts []NeHost `json:"hosts,omitempty"` } diff --git a/src/modules/network_element/service/ne_info.impl.go b/src/modules/network_element/service/ne_info.impl.go index e4bc4d8e..95cea2e5 100644 --- a/src/modules/network_element/service/ne_info.impl.go +++ b/src/modules/network_element/service/ne_info.impl.go @@ -90,10 +90,24 @@ func (r *NeInfoImpl) SelectPage(query map[string]any, bandStatus bool) map[strin (*arr)[i].ServerState = map[string]any{ "online": false, } + // 网元状态设置为离线 + if v.Status != "1" { + v.Status = "1" + r.neInfoRepository.Update(v) + } continue } result["online"] = true (*arr)[i].ServerState = result + // 网元状态设置为在线 + if v.Status != "0" { + // 下发网管配置信息给网元 + _, err = NeConfigOMC(v) + if err == nil { + v.Status = "0" + r.neInfoRepository.Update(v) + } + } } } @@ -116,10 +130,24 @@ func (r *NeInfoImpl) SelectList(ne model.NeInfo, bandStatus bool) []model.NeInfo (*neList)[i].ServerState = map[string]any{ "online": false, } + // 网元状态设置为离线 + if v.Status != "1" { + v.Status = "1" + r.neInfoRepository.Update(v) + } continue } result["online"] = true (*neList)[i].ServerState = result + // 网元状态设置为在线 + if v.Status != "0" { + // 下发网管配置信息给网元 + _, err = NeConfigOMC(v) + if err == nil { + v.Status = "0" + r.neInfoRepository.Update(v) + } + } } }