From f22b69ff61a5795a2e1242091cc35bce0bd8c803 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期二, 16 四月 2024 14:41:47 +0800
Subject: [PATCH] 修复更新操作

---
 service/report.go |   66 ++++++--------------------------
 1 files changed, 13 insertions(+), 53 deletions(-)

diff --git a/service/report.go b/service/report.go
index a91ca1e..400627e 100644
--- a/service/report.go
+++ b/service/report.go
@@ -1,16 +1,14 @@
 package service
 
 import (
-	"bytes"
 	"encoding/json"
-	"io"
-	"net/http"
 	"time"
 	"errors"
 
 	"gat1400Exchange/config"
 	"gat1400Exchange/pkg/logger"
 	"gat1400Exchange/models"
+	"gat1400Exchange/util"
 
 	"github.com/hashicorp/golang-lru/v2/expirable"
 )
@@ -39,9 +37,11 @@
 	IpAddr      string                 `json:"ip"`
 }
 
-func reportDeviceInfo() error {
+func DeviceInfoReportTask() error {
+	logger.Info("Start device info report task, server:%s.", config.ForwardConf.ReportServer)
+
 	if config.ForwardConf.ReportServer == "" {
-		return errors.New("server addr is empty !")
+		return errors.New("Server addr is empty!")
 	}
 
 	var d models.Device
@@ -69,57 +69,17 @@
 			return err
 		}
 
-		_, err = HttpPost(config.ForwardConf.ReportServer, nil, data)
+		logger.Info("Report device info. %+v", dev)
+
+		_, err = util.HttpPost(config.ForwardConf.ReportServer, nil, data)
+		if err != nil {
+			return err
+		}
 	}
 
 	return nil
 }
 
-func DeviceInfoReportTask() {
-	interval := config.ForwardConf.ReportInterval
-	if interval == 0 {
-		interval = 10
-	}
-
-	logger.Info("start device info report task, server:%s interval:%d.", config.ForwardConf.ReportServer, interval)
-
-	ticker := time.NewTicker(1 * time.Second)
-	for {
-		select {
-		case <-ticker.C:
-			logger.Debug("report device info.")
-
-			err := reportDeviceInfo()
-			if err != nil {
-				logger.Warn(err.Error())
-			}
-
-			ticker.Reset(time.Duration(interval) * time.Second)
-		}
-	}
-}
-
-
-func HttpPost(url string, header map[string]string, data []byte) ([]byte, error) {
-	req, err := http.NewRequest(http.MethodPost, url, bytes.NewBuffer(data))
-	if err != nil {
-		return nil, err
-	}
-	req.Header.Set("Content-Type", "applicaiton/json; charset=UTF-8")
-	if header != nil {
-		for k, v := range header {
-			req.Header.Set(k, v)
-		}
-	}
-	cli := &http.Client{}
-	resp, err := cli.Do(req)
-	if err != nil {
-		return nil, err
-	}
-	defer resp.Body.Close()
-	body, err := io.ReadAll(resp.Body)
-	if err != nil {
-		return nil, err
-	}
-	return body, nil
+func KeepDeviceAlive(id string) {
+	deviceAliveCache.Add(id, true)
 }

--
Gitblit v1.8.0