From 29dbb82ed5d96ade6baddde05ec8536e298bb595 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期二, 21 五月 2024 23:43:47 +0800
Subject: [PATCH] 添加osd设置功能
---
service/device.go | 56 +++++++++++++++++++-------------------------------------
1 files changed, 19 insertions(+), 37 deletions(-)
diff --git a/service/device.go b/service/device.go
index acfaf18..84ef889 100644
--- a/service/device.go
+++ b/service/device.go
@@ -2,22 +2,14 @@
import (
"encoding/json"
+ "fmt"
"time"
- "errors"
"gat1400Exchange/config"
- "gat1400Exchange/pkg/logger"
"gat1400Exchange/models"
+ "gat1400Exchange/pkg/logger"
"gat1400Exchange/util"
-
- "github.com/hashicorp/golang-lru/v2/expirable"
)
-
-var deviceAliveCache *expirable.LRU[string, bool]
-
-func init() {
- deviceAliveCache = expirable.NewLRU[string, bool](100, nil, time.Second*60) //杩囨护鎸囧畾鏃堕棿鍐呯殑閲嶅浜虹墿
-}
type DevReportData struct {
Code string `json:"code"` // 璁惧ID
@@ -38,34 +30,40 @@
}
func DeviceInfoReportTask() error {
- logger.Info("Start device info report task, server:%s.", config.ForwardConf.ReportServer)
-
if config.ServeConf.Role == "agent" {
return nil
}
if config.ForwardConf.ReportServer == "" {
- return errors.New("Server addr is empty!")
+ return nil
}
- var d models.Device
+ logger.Info("Start device report task, server:%s.", config.ForwardConf.ReportServer)
+
+ var d models.Ape
devices, err := d.FindAll()
if err != nil {
return err
}
-
- for _, dev := range devices{
- if _, exists := deviceAliveCache.Get(dev.Id); !exists {
- continue
+ for _, dev := range devices {
+ // 绾ц仈鐨勮澶囦笉妫�鏌ュ績璺�
+ if dev.FromId == "" {
+ hTime, err := time.ParseInLocation("2006-01-02 15:04:05", dev.HeartbeatTime, time.Local)
+ if err != nil || hTime.Unix()+120 < time.Now().Unix() {
+ continue
+ }
}
device := DevReportData{
Code: dev.Id,
+ Model: dev.Ext.Model,
Type: "camera",
Name: dev.Name,
- Addr: dev.Addr+dev.Floor,
- IpAddr: dev.Ip,
+ Addr: dev.Ext.Place,
+ IpAddr: dev.Ext.IPAddr,
+ Latitude: fmt.Sprintf("%f", dev.Ext.Latitude),
+ Longitude: fmt.Sprintf("%f", dev.Ext.Longitude),
}
data, err := json.Marshal(device)
@@ -73,9 +71,7 @@
return err
}
- logger.Info("Report device info. %+v", dev)
-
- headers := map[string]string{"Content-Type": "applicaiton/json; charset=UTF-8"}
+ headers := map[string]string{"Content-Type": "application/json; charset=UTF-8"}
_, err = util.HttpPost(config.ForwardConf.ReportServer, headers, data)
if err != nil {
return err
@@ -83,18 +79,4 @@
}
return nil
-}
-
-func KeepDeviceAlive(id string) {
- // 涓婃姤璁惧淇℃伅
- var d = models.Device{
- Id: id,
- }
-
- err := d.Upsert()
- if err != nil {
- logger.Warn("Device db update camera error:%s", err.Error())
- }
-
- deviceAliveCache.Add(id, true)
}
--
Gitblit v1.8.0