Browse Source

add:新网关,双人对抗

zzf 11 months ago
parent
commit
e6d4a98ad1
2 changed files with 37 additions and 16 deletions
  1. 27 5
      api/gateway/gateway.go
  2. 10 11
      config/application.yaml

+ 27 - 5
api/gateway/gateway.go

@@ -1,6 +1,7 @@
 package gateway
 
 import (
+	"bufio"
 	"confrontation-training/common"
 	"confrontation-training/constant"
 	errors "confrontation-training/err"
@@ -14,6 +15,7 @@ import (
 	"fmt"
 	"github.com/gin-gonic/gin"
 	log "github.com/sirupsen/logrus"
+	"io"
 	"io/ioutil"
 	"os"
 	"strconv"
@@ -617,16 +619,36 @@ func FindGateway(c *gin.Context) {
 func SetGatewayMac(c *gin.Context) {
 	var param gateway.GatewayInfo
 	c.ShouldBindJSON(&param)
-	file, err := os.OpenFile("./config/application.yaml", os.O_APPEND, 0666)
+	file, err := os.OpenFile("./config/application.yaml", os.O_RDWR, 0666)
+	defer file.Close()
 	if err != nil {
 		response.Failed("读取配置文件失败", c)
 		return
 	}
-	_, err = file.Write([]byte(param.Mac))
-	if err != nil {
-		response.Failed("写入配置文件失败", c)
-		return
+	pos := int64(0)
+	reader := bufio.NewReader(file)
+	for {
+		line, err := reader.ReadString('\n')
+		if err != nil {
+			if err == io.EOF {
+				if line == "" {
+					break
+				} else {
+					global.Log4J.Info("File read ok!")
+				}
+			} else {
+				global.Log4J.Info("Read File error", err.Error())
+				return
+			}
+		}
+		global.Log4J.Info(line)
+		if strings.Contains(line, "  gatewayMac:") {
+			bytes := []byte("  gatewayMac: " + param.Mac)
+			file.WriteAt(bytes, pos)
+		}
+		pos += int64(len(line))
 	}
+	global.EmqConfig.GatewayMac = param.Mac
 	response.Success("网关信息保存成功,请重启软件!", "", c)
 	return
 }

+ 10 - 11
config/application.yaml

@@ -44,20 +44,19 @@ emq:
   protocol: tcp
   port: 1883
   topic:
-#  - /EE3870DA24C4/connect_packet/hds_subscribe
-#  - /EE3870DA24C4/connect_packet/connect3_subscribe
-#  - /EE3870DA24C4/connect_packet/connect1_subscribe
-#  - /EE3870DA24C4/connect_packet/cfg_param_subscribe
-#  - /EE3870DA24C4/connect_packet/connect2_subscribe
-#  - /EE3870DA24C4/connect_packet/connect4_subscribe
-  - /connect_packet/connect1_publish
+    #  - /EE3870DA24C4/connect_packet/hds_subscribe
+    #  - /EE3870DA24C4/connect_packet/connect3_subscribe
+    #  - /EE3870DA24C4/connect_packet/connect1_subscribe
+    #  - /EE3870DA24C4/connect_packet/cfg_param_subscribe
+    #  - /EE3870DA24C4/connect_packet/connect2_subscribe
+    #  - /EE3870DA24C4/connect_packet/connect4_subscribe
+    - /connect_packet/connect1_publish
   userName: admin
   password: 28d75ca0e70eb0ef0b42ae7bb7843e82d6fdffa2509caa383dd46748bdbf8dd8
   clientId: emqClientCT
   qos: 0
   broker: emqx@127.0.0.1
   filter:
-  - MIND
-  - BW-ECG
-#  gatewayMac: EE3870DA24C4
-  gatewayMac: FC33BC55470E
+    - MIND
+    - BW-ECG
+  gatewayMac: