From 8ba0a125eb7302d8c51d3c85cf8ea8a4de5413db Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期六, 25 五月 2024 17:56:27 +0800
Subject: [PATCH] 修复ape类型判断

---
 service/nvcs.go |   51 ++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 34 insertions(+), 17 deletions(-)

diff --git a/service/nvcs.go b/service/nvcs.go
index 6ada2b3..acb1177 100644
--- a/service/nvcs.go
+++ b/service/nvcs.go
@@ -6,7 +6,7 @@
 	"fmt"
 	"io/ioutil"
 	"net"
-	"strings"
+	"time"
 
 	"gat1400Exchange/config"
 	"gat1400Exchange/models"
@@ -34,6 +34,12 @@
 type ElevatorData struct {
 	Elevator []Elevator `json:"Elevator"`
 }
+
+const (
+	RunStop = iota
+	RunUp
+	RunDown
+)
 
 // 瀵规帴缃戠粶瑙嗛瀛楃鍙犲姞鍣�,鎺ユ敹udp鍙戦�佺殑妤煎眰淇℃伅, 鏇存柊device鍦板潃
 func NVCSA1UDPServer() {
@@ -75,15 +81,32 @@
 		decodedBytes, err := ioutil.ReadAll(reader)
 
 		var data ElevatorData
-		// Unmarshal JSON into the struct
 		err = json.Unmarshal(decodedBytes, &data)
 		if err != nil {
 			logger.Warn("ElevatorData unmarshal error:%s", err.Error())
 			continue
 		}
+		logger.Debug("Received %d bytes from %s, %+v", numBytes, clientAddr, data)
 
 		if len(data.Elevator) == 0 {
 			continue
+		}
+
+		// 璁剧疆osd  鏍煎紡 "1F 鍥� 鏋�"
+		if config.NVCSConf.OSD != "" {
+			floorText := data.Elevator[0].Status.FloorName
+			//if data.Elevator[0].Status.RunDir == RunStop {
+			//	floorText = floorText + "鍋�"
+			//} else if data.Elevator[0].Status.RunDir == RunUp {
+			//	floorText = floorText + "涓�"
+			//} else {
+			//	floorText = floorText + "涓�"
+			//}
+
+			floorText = floorText + " " + config.NVCSConf.OSD
+
+			// 璋冪敤hik api 灏嗘枃瀛楁坊鍔犲埌osd鐨勫乏涓嬭
+			AddFloorToOSD(floorText)
 		}
 
 		if data.Elevator[0].Status.RunDir > 0 {
@@ -93,27 +116,21 @@
 		elevator := data.Elevator[0]
 
 		// 绋嬪簭閮ㄧ讲鍦ㄨ澶囩, 瀛楃鍙犲姞鍣ㄤ笂鎶ョ殑鍚嶇О鍏佽涓虹┖. 鍦ㄤ簯绔�, 鍚嶇О蹇呴』涓庢憚鍍忔満鐩稿悓
-		if config.ServeConf.Role != "agent" {
-			elevator.Name = strings.Trim(elevator.Name, " ")
-			if elevator.Name == "" {
-				continue
-			}
+		if elevator.Name == "" {
+			elevator.Name = "1"
 		}
 
-		var d = models.Device{
-			Id:    elevator.Name,
-			Floor: elevator.Status.FloorName,
-			Ip:    elevator.IP,
+		var d = models.Positions{
+			DeviceId:   elevator.Name,
+			Pos:        elevator.Status.FloorName,
+			CreateTime: time.Now().Unix(),
+			TimeString: time.Now().Format("2006-01-02 15:04:05"),
 		}
 
-		err = d.Upsert()
+		err = d.Save()
 		if err != nil {
-			logger.Warn("Device db update error:%s", err.Error())
+			logger.Warn("Device position update error:%s", err.Error())
 		}
-
-		deviceAliveCache.Add(elevator.Name, true)
-
-		logger.Debug("Received %d bytes from %s, %+v", numBytes, clientAddr, data)
 	}
 }
 

--
Gitblit v1.8.0