package main import ( "encoding/json" "gitea.anxinyun.cn/container/common_models" "log" "node/agg_worker" "strings" "testing" "time" ) func Test_AggNodeHandler(t *testing.T) { // 2024-04-08T11:01:48.001+08:00 // TODO 聚集数据中时间:"date": "2024-04-19T01:01:59.999+0000" aggDataMSG := `{ "date": "2024-04-19T01:01:59.999+0000", "sensorId": 106, "structId": 1, "factorId": 11, "aggTypeId": 2006, "aggMethodId": 3004, "agg": { "strain": -16.399999618530273 }, "changed": { "strain": -0.7999992370605469 } }` // aggData 中的时间为UTC格式 2024-04-19T01:10:59.999+0000, // 在进行 json.Unmarshal() 时报错 // 解决方案:先将 +0000 -> +00:00,然后再将 UTC 时间转换为 +08:00 时区时间 // 将 "+0000" 替换为 "+00:00" replacedStr := strings.Replace(aggDataMSG, "+0000", "+00:00", 1) aggData := &common_models.AggData{} err := json.Unmarshal([]byte(replacedStr), &aggData) if err != nil { log.Panicf("测试异常%s", err.Error()) } // 将 UTC 时间加上8小时得到中国的本地时间 aggData.Date = aggData.Date.Add(8 * time.Hour) nodeWorker := agg_worker.NewAggWorker() //nodeWorker.RegisterToMaster() 需要启动 master log.Println("测试开始") nodeWorker.ConsumerProcess(aggData) time.Sleep(time.Second * 10) log.Println("测试结束") }