|
|
@ -7,6 +7,7 @@ import ( |
|
|
|
"goInOut/dbHelper" |
|
|
|
"goInOut/models" |
|
|
|
"log" |
|
|
|
"sync" |
|
|
|
"time" |
|
|
|
) |
|
|
|
|
|
|
@ -58,19 +59,23 @@ func (the Adaptor_AXY_LastRAW) raw2es(iotaData models.IotaData) *models.EsRaw { |
|
|
|
} |
|
|
|
|
|
|
|
var deviceInfoMap = map[string]models.DeviceInfo{} |
|
|
|
var deviceInfoMap2 = sync.Map{} |
|
|
|
|
|
|
|
func (the Adaptor_AXY_LastRAW) GetDeviceInfo(deviceId string) models.DeviceInfo { |
|
|
|
if v, ok := deviceInfoMap[deviceId]; ok { |
|
|
|
durationMin := time.Now().Sub(v.RefreshTime).Minutes() |
|
|
|
if durationMin < 5 { |
|
|
|
return v |
|
|
|
if vObj, ok := deviceInfoMap2.Load(deviceId); ok { |
|
|
|
if v, ok := vObj.(models.DeviceInfo); ok { |
|
|
|
durationMin := time.Now().Sub(v.RefreshTime).Minutes() |
|
|
|
if durationMin < 5 { |
|
|
|
return v |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
v, err := the.GetDeviceInfoFromRedis(deviceId) |
|
|
|
if err != nil { |
|
|
|
log.Printf("设备%s 无法查询到对应信息", deviceId) |
|
|
|
} |
|
|
|
deviceInfoMap[deviceId] = v |
|
|
|
//deviceInfoMap[deviceId] = v
|
|
|
|
deviceInfoMap2.Store(deviceId, v) |
|
|
|
return v |
|
|
|
} |
|
|
|
|
|
|
|