/api/counter/logs接口的with_device方式增加设备状态status

This commit is contained in:
黄伟杰 2023-02-24 17:51:17 +08:00
parent d7141fc926
commit 9ae1577478
1 changed files with 13 additions and 0 deletions

View File

@ -90,7 +90,9 @@ def get_device(device_id: str, source: str) -> Optional[dict]:
device = qs.first()
s = device_source_map[source](device)
print(s)
data = s.data
print(data)
cache.set(device_key, data, 60 * 10)
return data
@ -170,6 +172,7 @@ class DeviceCountWithInfoSerializer(DeviceCountSerializer):
weather_code = serializers.SerializerMethodField()
point_x = serializers.SerializerMethodField()
point_y = serializers.SerializerMethodField()
status = serializers.SerializerMethodField()
class Meta:
model = DeviceCount
@ -187,6 +190,7 @@ class DeviceCountWithInfoSerializer(DeviceCountSerializer):
'weather_code',
'point_x',
'point_y',
'status'
]
def get_location_id(self, obj):
@ -217,6 +221,15 @@ class DeviceCountWithInfoSerializer(DeviceCountSerializer):
return device.point_y
return None
def get_status(self, obj):
device = self.device
online = None
if device:
print(device)
qs = DeviceInfo.objects.filter(device_id=device)
online = qs[0].online
return online
class DeviceInfoSerializer(serializers.ModelSerializer):
device_name = serializers.SerializerMethodField()