zhangzengfei
2024-09-13 bb48a3ef0bdc2b5a0b50ca429bc5bc0a118f9732
use goroutinne run rfid read
1个文件已修改
37 ■■■■■ 已修改文件
service/nvcs.go 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/nvcs.go
@@ -185,6 +185,7 @@
    logger.Info("UDP server listening on port %s...", port)
    var lastFloor int
    // 无限循环等待接收数据
    for {
        // 创建一个缓冲区来存储接收的数据
@@ -216,9 +217,6 @@
        elevator := data.Elevator[0]
        // 记录电梯运行状态
        ElevatorRunState = elevator.Status.RunDir
        var runStateStr string
        if config.NVCSConf.RunState {
            if elevator.Status.RunDir == RunUp {
@@ -241,10 +239,13 @@
        }
        // correct floor when elevator stopped.
        if ElevatorRunState == 0 {
            A1CorrectFloor()
        if elevator.Status.RunDir == 0 {
            go A1CorrectFloor()
        } else {
            RunningCorrectTaskId = ""
            if lastFloor == elevator.Status.Floor {
                continue
            }
        }
        // 程序部署在设备端, 字符叠加器上报的名称允许为空. 在云端, 名称必须与摄像机相同
@@ -252,18 +253,22 @@
            elevator.Name = "1"
        }
        var d = models.Positions{
            DeviceId:   elevator.Name,
            Pos:        elevator.Status.FloorName,
            RunDir:     elevator.Status.RunDir,
            CreateTime: time.Now().Unix(),
            TimeString: time.Now().Format("2006-01-02 15:04:05"),
        }
        lastFloor = elevator.Status.Floor
        err = d.Save()
        if err != nil {
            logger.Warn("Device position update error:%s", err.Error())
        }
        go func() {
            var d = models.Positions{
                DeviceId:   elevator.Name,
                Pos:        elevator.Status.FloorName,
                RunDir:     elevator.Status.RunDir,
                CreateTime: time.Now().Unix(),
                TimeString: time.Now().Format("2006-01-02 15:04:05"),
            }
            err = d.Save()
            if err != nil {
                logger.Warn("Device position update error:%s", err.Error())
            }
        }()
    }
}