From 43e02cb987f100c6ff67694e7d1099a139d8dee2 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期日, 25 八月 2024 23:31:08 +0800
Subject: [PATCH] 修复ntpdate命令
---
service/nvcs.go | 99 ++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 84 insertions(+), 15 deletions(-)
diff --git a/service/nvcs.go b/service/nvcs.go
index e2f3f2b..d5b1f41 100644
--- a/service/nvcs.go
+++ b/service/nvcs.go
@@ -4,16 +4,18 @@
"bytes"
"encoding/json"
"fmt"
- "github.com/gin-gonic/gin"
"io/ioutil"
"net"
"net/http"
+ "strings"
"time"
"gat1400Exchange/config"
"gat1400Exchange/models"
"gat1400Exchange/pkg/logger"
+ "gat1400Exchange/util"
+ "github.com/gin-gonic/gin"
"golang.org/x/text/encoding/simplifiedchinese"
"golang.org/x/text/transform"
)
@@ -65,7 +67,6 @@
logger.Info("UDP server listening on port %s...", port)
- var runState string
// 鏃犻檺寰幆绛夊緟鎺ユ敹鏁版嵁
for {
// 鍒涘缓涓�涓紦鍐插尯鏉ュ瓨鍌ㄦ帴鏀剁殑鏁版嵁
@@ -95,19 +96,21 @@
continue
}
- // 璁板綍鐢垫杩愯鐘舵��, 鍙褰曚笂琛屽拰涓嬭
- if data.Elevator[0].Status.RunDir == RunUp {
- runState = "涓�"
- } else if data.Elevator[0].Status.RunDir == RunDown {
- runState = "涓�"
+ var runState string
+ var iRunSate int
+
+ // 璁板綍鐢垫杩愯鐘舵��
+ iRunSate = data.Elevator[0].Status.RunDir
+ if config.NVCSConf.RunState {
+ if data.Elevator[0].Status.RunDir == RunUp {
+ runState = "涓�"
+ } else if data.Elevator[0].Status.RunDir == RunDown {
+ runState = "涓�"
+ }
}
- // 宸插埌鏈�涓嬪眰
- if data.Elevator[0].Status.Floor == 0 {
- runState = "涓�"
- }
- if data.Elevator[0].Status.Floor == data.Elevator[0].Status.TotalFloors {
- runState = "涓�"
+ if !config.NVCSConf.RunState {
+ runState = ""
}
// 璁剧疆osd 鏍煎紡 "1F涓� 鍥� 鏋�"
@@ -132,6 +135,7 @@
var d = models.Positions{
DeviceId: elevator.Name,
Pos: elevator.Status.FloorName,
+ RunDir: iRunSate,
CreateTime: time.Now().Unix(),
TimeString: time.Now().Format("2006-01-02 15:04:05"),
}
@@ -169,13 +173,55 @@
Floor string `json:"Floor"`
Status string `json:"Status"`
TFloor int64 `json:"TFloor"`
+ Speed string `json:"Speed"`
} `json:"State"`
}
+type A2ElevatorConfig struct {
+ FloorData []string `json:"floordata"`
+}
+
+var A2TopFloor string
+var A2BottomFloor string
+
+func GetA2ElevatorConfig() {
+ url := "http://192.168.10.253/cgi-bin/liftnum.cgi"
+ payload := []byte("{\"display\":1}")
+ header := map[string]string{
+ "Cookie": "eyJuYW1lIjoiYWRtaW4iLCAicGFzZCI6ImFkbWluMTIzIn0=",
+ }
+
+ rsp, err := util.HttpPost(url, header, payload)
+ if err != nil {
+ logger.Warn("Get A2 floor data failure,%s", err.Error())
+ return
+ }
+
+ var configData A2ElevatorConfig
+ err = json.Unmarshal(rsp, &configData)
+ if err != nil {
+ logger.Warn("Unmarshal A2 floor data failure,%s", err.Error())
+ return
+ }
+
+ if len(configData.FloorData) > 0 {
+ A2BottomFloor, A2TopFloor = configData.FloorData[0], configData.FloorData[len(configData.FloorData)-1]
+ }
+
+ logger.Info("A2 floor config total:%d, bottomFloor:%s, topFloor:%s", len(configData.FloorData), A2BottomFloor, A2TopFloor)
+}
+
func NVCSA2WebServer() {
+ // 鍏堣幏鍙栨�绘ゼ灞傛暟, 璁板綍鏈�楂樺眰
+ //GetA2ElevatorConfig()
+
r := gin.Default()
+
r.POST("/", func(c *gin.Context) {
var req A2ElevatorData
+ var runState string
+ var iRunState int
+
err := c.BindJSON(&req)
if err != nil {
c.JSON(http.StatusBadRequest, nil)
@@ -184,9 +230,31 @@
logger.Debug("Received A2 report data %+v", req)
+ // 璁板綍鐢垫杩愯鐘舵��
+ if strings.Contains(req.State.Status, "涓�") {
+ runState = "涓�"
+ iRunState = RunUp
+ } else if strings.Contains(req.State.Status, "涓�") {
+ runState = "涓�"
+ iRunState = RunDown
+ }
+
+ //// 宸插埌鏈�涓嬪眰
+ //if req.State.Floor == A2BottomFloor {
+ // runState = "涓�"
+ // iRunState = RunUp
+ //}
+ //if req.State.Floor == A2TopFloor {
+ // runState = "涓�"
+ // iRunState = RunDown
+ //}
+
+ if !config.NVCSConf.RunState {
+ runState = ""
+ }
+
if config.NVCSConf.OSD != "" {
- floorText := req.State.Floor
- floorText = floorText + " " + config.NVCSConf.OSD
+ floorText := fmt.Sprintf("%s%s %s", req.State.Floor, runState, config.NVCSConf.OSD)
// 璋冪敤hik api 灏嗘枃瀛楁坊鍔犲埌osd鐨勫乏涓嬭
AddFloorToOSD(floorText)
@@ -195,6 +263,7 @@
var d = models.Positions{
DeviceId: req.Id,
Pos: req.State.Floor,
+ RunDir: iRunState,
CreateTime: time.Now().Unix(),
TimeString: time.Now().Format("2006-01-02 15:04:05"),
}
--
Gitblit v1.8.0