feat: 网元列表查询带主机连接信息参数
This commit is contained in:
@@ -120,7 +120,8 @@ func (s *NeInfoController) ListAll(c *gin.Context) {
|
|||||||
var querys struct {
|
var querys struct {
|
||||||
NeType string `form:"neType"`
|
NeType string `form:"neType"`
|
||||||
NeId string `form:"neId"`
|
NeId string `form:"neId"`
|
||||||
BandStatus string `form:"bandStatus"`
|
BandStatus bool `form:"bandStatus"`
|
||||||
|
BandHost bool `form:"bandHost"`
|
||||||
}
|
}
|
||||||
if err := c.ShouldBindQuery(&querys); err != nil {
|
if err := c.ShouldBindQuery(&querys); err != nil {
|
||||||
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
c.JSON(400, result.CodeMsg(400, i18n.TKey(language, "app.common.err400")))
|
||||||
@@ -135,8 +136,7 @@ func (s *NeInfoController) ListAll(c *gin.Context) {
|
|||||||
if querys.NeId != "" {
|
if querys.NeId != "" {
|
||||||
ne.NeId = querys.NeId
|
ne.NeId = querys.NeId
|
||||||
}
|
}
|
||||||
bandStatus := parse.Boolean(querys.BandStatus)
|
neList := s.neInfoService.SelectList(ne, querys.BandStatus, querys.BandHost)
|
||||||
neList := s.neInfoService.SelectList(ne, bandStatus)
|
|
||||||
if len(neList) == 0 {
|
if len(neList) == 0 {
|
||||||
c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
c.JSON(200, result.ErrMsg(i18n.TKey(language, "app.common.noNEInfo")))
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -27,7 +27,8 @@ type INeInfo interface {
|
|||||||
// SelectList 查询列表
|
// SelectList 查询列表
|
||||||
//
|
//
|
||||||
// bandStatus 带状态信息
|
// bandStatus 带状态信息
|
||||||
SelectList(ne model.NeInfo, bandStatus bool) []model.NeInfo
|
// bandHost 带主机信息
|
||||||
|
SelectList(ne model.NeInfo, bandStatus bool, bandHost bool) []model.NeInfo
|
||||||
|
|
||||||
// SelectByIds 通过ID查询
|
// SelectByIds 通过ID查询
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ func (r *NeInfoImpl) SelectNeInfoByRmuid(rmUid string) model.NeInfo {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
neInfos := r.SelectList(neInfo, false)
|
neInfos := r.SelectList(neInfo, false, false)
|
||||||
for _, v := range neInfos {
|
for _, v := range neInfos {
|
||||||
key := fmt.Sprintf("%s%s:%s", cachekey.NE_KEY, strings.ToUpper(v.NeType), v.NeId)
|
key := fmt.Sprintf("%s%s:%s", cachekey.NE_KEY, strings.ToUpper(v.NeType), v.NeId)
|
||||||
redis.Del("", key)
|
redis.Del("", key)
|
||||||
@@ -116,37 +116,7 @@ func (r *NeInfoImpl) SelectPage(query map[string]any, bandStatus bool) map[strin
|
|||||||
// 网元直连读取网元服务状态
|
// 网元直连读取网元服务状态
|
||||||
if bandStatus {
|
if bandStatus {
|
||||||
rows := data["rows"].([]model.NeInfo)
|
rows := data["rows"].([]model.NeInfo)
|
||||||
arr := &rows
|
r.bandNeStatus(&rows)
|
||||||
for i := range *arr {
|
|
||||||
v := (*arr)[i]
|
|
||||||
result, err := NeState(v)
|
|
||||||
if err != nil {
|
|
||||||
(*arr)[i].ServerState = map[string]any{
|
|
||||||
"online": false,
|
|
||||||
}
|
|
||||||
// 网元状态设置为离线
|
|
||||||
if v.Status != "0" {
|
|
||||||
v.Status = "0"
|
|
||||||
(*arr)[i].Status = v.Status
|
|
||||||
r.neInfoRepository.Update(v)
|
|
||||||
}
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
result["online"] = true
|
|
||||||
(*arr)[i].ServerState = result
|
|
||||||
// 网元状态设置为在线
|
|
||||||
if v.Status != "1" {
|
|
||||||
// 下发网管配置信息给网元
|
|
||||||
_, err = NeConfigOMC(v)
|
|
||||||
if err == nil {
|
|
||||||
v.Status = "1"
|
|
||||||
} else {
|
|
||||||
v.Status = "2"
|
|
||||||
}
|
|
||||||
(*arr)[i].Status = v.Status
|
|
||||||
r.neInfoRepository.Update(v)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return data
|
return data
|
||||||
@@ -155,50 +125,70 @@ func (r *NeInfoImpl) SelectPage(query map[string]any, bandStatus bool) map[strin
|
|||||||
// SelectList 查询列表
|
// SelectList 查询列表
|
||||||
//
|
//
|
||||||
// bandStatus 带状态信息
|
// bandStatus 带状态信息
|
||||||
func (r *NeInfoImpl) SelectList(ne model.NeInfo, bandStatus bool) []model.NeInfo {
|
// bandHost 带主机信息
|
||||||
|
func (r *NeInfoImpl) SelectList(ne model.NeInfo, bandStatus bool, bandHost bool) []model.NeInfo {
|
||||||
list := r.neInfoRepository.SelectList(ne)
|
list := r.neInfoRepository.SelectList(ne)
|
||||||
|
|
||||||
// 网元直连读取网元服务状态
|
// 网元直连读取网元服务状态
|
||||||
if bandStatus {
|
if bandStatus {
|
||||||
neList := &list
|
r.bandNeStatus(&list)
|
||||||
for i := range *neList {
|
}
|
||||||
v := (*neList)[i]
|
|
||||||
result, err := NeState(v)
|
// 网元主机信息
|
||||||
if err != nil {
|
if bandHost {
|
||||||
(*neList)[i].ServerState = map[string]any{
|
r.bandNeHosts(&list)
|
||||||
"online": false,
|
|
||||||
}
|
|
||||||
// 网元状态设置为离线
|
|
||||||
if v.Status != "0" {
|
|
||||||
v.Status = "0"
|
|
||||||
(*neList)[i].Status = v.Status
|
|
||||||
r.neInfoRepository.Update(v)
|
|
||||||
}
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
result["online"] = true
|
|
||||||
(*neList)[i].ServerState = result
|
|
||||||
// 网元状态设置为在线
|
|
||||||
if v.Status != "0" {
|
|
||||||
// 下发网管配置信息给网元
|
|
||||||
_, err = NeConfigOMC(v)
|
|
||||||
if err == nil {
|
|
||||||
v.Status = "1"
|
|
||||||
} else {
|
|
||||||
v.Status = "2"
|
|
||||||
}
|
|
||||||
(*neList)[i].Status = v.Status
|
|
||||||
r.neInfoRepository.Update(v)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return list
|
return list
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// bandNeStatus 网元列表项数据带网元服务状态
|
||||||
|
func (r *NeInfoImpl) bandNeStatus(arr *[]model.NeInfo) {
|
||||||
|
for i := range *arr {
|
||||||
|
v := (*arr)[i]
|
||||||
|
result, err := NeState(v)
|
||||||
|
if err != nil {
|
||||||
|
(*arr)[i].ServerState = map[string]any{
|
||||||
|
"online": false,
|
||||||
|
}
|
||||||
|
// 网元状态设置为离线
|
||||||
|
if v.Status != "0" {
|
||||||
|
v.Status = "0"
|
||||||
|
(*arr)[i].Status = v.Status
|
||||||
|
r.neInfoRepository.Update(v)
|
||||||
|
}
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
result["online"] = true
|
||||||
|
(*arr)[i].ServerState = result
|
||||||
|
// 网元状态设置为在线
|
||||||
|
if v.Status != "1" {
|
||||||
|
// 下发网管配置信息给网元
|
||||||
|
_, err = NeConfigOMC(v)
|
||||||
|
if err == nil {
|
||||||
|
v.Status = "1"
|
||||||
|
} else {
|
||||||
|
v.Status = "2"
|
||||||
|
}
|
||||||
|
(*arr)[i].Status = v.Status
|
||||||
|
r.neInfoRepository.Update(v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// bandNeHosts 网元列表项数据带网元主机信息
|
||||||
|
func (r *NeInfoImpl) bandNeHosts(arr *[]model.NeInfo) {
|
||||||
|
for i := range *arr {
|
||||||
|
v := (*arr)[i]
|
||||||
|
if v.HostIDs != "" {
|
||||||
|
(*arr)[i].Hosts = NewNeHostImpl.neHostRepository.SelectByIds(strings.Split(v.HostIDs, ","))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// SelectByIds 通过ID查询
|
// SelectByIds 通过ID查询
|
||||||
//
|
//
|
||||||
// bandStatus 带主机信息
|
// bandHost 带主机信息
|
||||||
func (r *NeInfoImpl) SelectById(infoId string, bandHost bool) model.NeInfo {
|
func (r *NeInfoImpl) SelectById(infoId string, bandHost bool) model.NeInfo {
|
||||||
if infoId == "" {
|
if infoId == "" {
|
||||||
return model.NeInfo{}
|
return model.NeInfo{}
|
||||||
|
|||||||
Reference in New Issue
Block a user