From 53d80c839ad2aad0a0482ca43fca1fc3a95b9d1c Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期五, 03 十一月 2023 17:30:54 +0800
Subject: [PATCH] 更改路由

---
 service/problem/check.go |   34 ++++++++++++++++++++++++++++------
 1 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/service/problem/check.go b/service/problem/check.go
index d472858..17b76f3 100644
--- a/service/problem/check.go
+++ b/service/problem/check.go
@@ -3,9 +3,12 @@
 import (
 	"apsClient/conf"
 	"apsClient/constvar"
+	"apsClient/model"
 	"apsClient/pkg/sqlitex"
 	"apsClient/service"
 	"apsClient/service/plc_address"
+	"fmt"
+	"net"
 	"sync"
 )
 
@@ -14,7 +17,7 @@
 	constvar.ProblemCodeNetwork,
 	constvar.ProblemCodeDB,
 	constvar.ProblemCodeSerf,
-	constvar.ProblemCodeNsq,
+	constvar.ProblemCodeCloud,
 	constvar.ProblemCodeDevice,
 	constvar.ProblemCodeProcessModel,
 	constvar.ProblemCodePlcConfig,
@@ -27,7 +30,7 @@
 	constvar.ProblemCodeNetwork:                    "缃戠粶杩炴帴",
 	constvar.ProblemCodeDB:                         "鏁版嵁搴�",
 	constvar.ProblemCodeSerf:                       "serf闆嗙兢",
-	constvar.ProblemCodeNsq:                        "娑堟伅闃熷垪",
+	constvar.ProblemCodeCloud:                      "娑堟伅闃熷垪",
 	constvar.ProblemCodeDevice:                     "鐢熶骇璁惧缁戝畾",
 	constvar.ProblemCodeProcessModel:               "宸ヨ壓鍙傛暟",
 	constvar.ProblemCodePlcConfig:                  "plc閰嶇疆",
@@ -58,7 +61,7 @@
 			checkObj = &DB{}
 		case constvar.ProblemCodeSerf:
 			checkObj = &Serf{}
-		case constvar.ProblemCodeNsq:
+		case constvar.ProblemCodeCloud:
 			checkObj = &Nsq{}
 		case constvar.ProblemCodeDevice:
 			checkObj = &Device{}
@@ -103,7 +106,19 @@
 type Network struct{}
 
 func (slf *Network) Check() bool {
-	return false
+	ifaces, err := net.Interfaces()
+	if err != nil {
+		fmt.Println("Error:", err)
+		return false
+	}
+	var netAllFailed bool
+	for _, iFace := range ifaces {
+		if iFace.Flags == net.FlagUp {
+			netAllFailed = false
+			fmt.Printf("Interface %s is DOWN, indicating a network issue.\n", iFace.Name)
+		}
+	}
+	return !netAllFailed
 }
 
 type DB struct{}
@@ -125,7 +140,11 @@
 type Nsq struct{}
 
 func (slf *Nsq) Check() bool {
-	return false
+	old, err := model.NewSystemStatusSearch().SetKey(constvar.SystemStatusKeyNsq).First()
+	if err != nil {
+		return false
+	}
+	return old.Value == constvar.SystemStatusValueNormal
 }
 
 type Device struct{}
@@ -149,6 +168,9 @@
 
 func (slf *PlcConfig) Check() bool {
 	plcConfig, _ := service.NewDevicePlcService().GetDevicePlc()
+	if plcConfig == nil {
+		return false
+	}
 	if plcConfig.Method == "" {
 		return false
 	}
@@ -169,7 +191,7 @@
 
 func (slf *PlcAddressList) Check() bool {
 	plcConfig, _ := service.NewDevicePlcService().GetDevicePlc()
-	return len(plcConfig.Details) > 0
+	return plcConfig != nil && len(plcConfig.Details) > 0
 }
 
 type PlcProcessModelAddressList struct{}

--
Gitblit v1.8.0