fix: 获取网元状态信息错误

This commit is contained in:
TsMask
2025-02-21 20:41:47 +08:00
parent 0c4e9c49d3
commit 0a9a82118b
3 changed files with 82 additions and 149 deletions

View File

@@ -18,7 +18,9 @@ import (
"be.ems/lib/global"
"be.ems/lib/log"
"be.ems/lib/services"
cfg "be.ems/src/framework/config"
"be.ems/src/framework/constants"
"be.ems/src/framework/database/db"
)
type CpuUsage struct {
@@ -213,7 +215,7 @@ func GetOneLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) {
//systemState := make(map[string]interface{})
systemState := &SysState{}
result := make(map[string]interface{})
var result map[string]interface{}
//sysInfo := &SystemInfo{}
omcNeTypeLower := "omc"
if config.GetYamlConfig().OMC.NeType != "" {
@@ -329,7 +331,7 @@ func GetAllLicenseInfoFromNF(w http.ResponseWriter, r *http.Request) {
}
for _, ne := range neList {
result := make(map[string]interface{})
var result map[string]interface{}
log.Debugf("r.RemoteAddr: %s omcNeTypeLower: %s", r.RemoteAddr, omcNeTypeLower)
log.Debug("ne: ", ne)
//if strings.ToLower(ne.NeType) != omcNeTypeLower || !strings.Contains(r.RemoteAddr, ne.Ip) {
@@ -455,7 +457,7 @@ func GetOneSysinfoFromNF(w http.ResponseWriter, r *http.Request) {
//systemState := make(map[string]interface{})
systemState := &SysState{}
result := make(map[string]interface{})
var result map[string]interface{}
//sysInfo := &SystemInfo{}
omcNeTypeLower := "omc"
if config.GetYamlConfig().OMC.NeType != "" {
@@ -600,7 +602,7 @@ func GetAllSysinfoFromNF(w http.ResponseWriter, r *http.Request) {
}
for _, ne := range neList {
result := make(map[string]interface{})
var result map[string]interface{}
log.Debugf("r.RemoteAddr: %s omcNeTypeLower: %s", r.RemoteAddr, omcNeTypeLower)
log.Debug("ne: ", ne)
//if strings.ToLower(ne.NeType) != omcNeTypeLower || !strings.Contains(r.RemoteAddr, ne.Ip) {
@@ -914,7 +916,7 @@ func GetEMSState(ip string) *SysState {
}
hostName, _ := os.Hostname()
dbInfo, _ := dborm.XormGetMySQLVersion()
dbInfo := getDbInfo()
emsState := &SysState{
HostName: hostName,
OsInfo: getUnameStr(),
@@ -934,3 +936,68 @@ func GetEMSState(ip string) *SysState {
//getSystemInfo()
return emsState
}
func getDbInfo() string {
var dbConfig map[string]any
defSource := cfg.Get("database.defaultDataSourceName").(string)
datasource := cfg.Get("database.datasource").(map[string]any)
for key, value := range datasource {
item := value.(map[string]any)
if key == defSource {
dbConfig = item
break
}
}
if dbConfig["type"] == "mysql" {
return getMySQLVersion()
}
if dbConfig["type"] == "sqlite" {
return "3.35.5 SQLite3"
}
return ""
}
func getMySQLVersion() string {
var info string = ""
var ver, verComment, verCompileOS, verCompile string
// 版本
m, err := db.RawDB("", "SHOW VARIABLES LIKE 'version'", nil)
if err != nil || len(m) != 1 {
return info
}
if v, ok := m[0]["Value"]; ok {
ver = v.(string)
}
// 详细版本
m, err = db.RawDB("", "SHOW VARIABLES LIKE 'version_comment'", nil)
if err != nil || len(m) != 1 {
return info
}
if v, ok := m[0]["Value"]; ok {
verComment = v.(string)
}
// 编译操作系统
m, err = db.RawDB("", "SHOW VARIABLES LIKE 'version_compile_os'", nil)
if err != nil || len(m) != 1 {
return info
}
if v, ok := m[0]["Value"]; ok {
verCompileOS = v.(string)
}
// 编译机器
m, err = db.RawDB("", "SHOW VARIABLES LIKE 'version_compile_machine'", nil)
if err != nil || len(m) != 1 {
return info
}
if v, ok := m[0]["Value"]; ok {
verCompileOS = v.(string)
}
return fmt.Sprintf("%s %s, for %s (%s)", ver, verComment, verCompileOS, verCompile)
}