From 82cfc846c735d0816c47aef2c2bf1776611ce106 Mon Sep 17 00:00:00 2001 From: xianfx Date: Tue, 5 Mar 2024 23:42:35 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=84=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/counter/api/mobile/serializers.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/apps/counter/api/mobile/serializers.py b/apps/counter/api/mobile/serializers.py index 062251c..2f06347 100644 --- a/apps/counter/api/mobile/serializers.py +++ b/apps/counter/api/mobile/serializers.py @@ -7,6 +7,9 @@ from mosquito.models import DeviceInfo as MosquitoDeviceInfo class DeviceInfoMobileSerializer(serializers.ModelSerializer): device_name = serializers.SerializerMethodField() status = serializers.SerializerMethodField() + csq = serializers.SerializerMethodField() + count = serializers.SerializerMethodField() + vol = serializers.SerializerMethodField() coordinate = serializers.SerializerMethodField() location = serializers.SerializerMethodField() @@ -16,6 +19,9 @@ class DeviceInfoMobileSerializer(serializers.ModelSerializer): 'device_id', 'device_name', 'status', + 'count', + 'csq', + 'vol', 'coordinate', 'location', ] @@ -24,6 +30,7 @@ class DeviceInfoMobileSerializer(serializers.ModelSerializer): super().__init__(*args, **kwargs) self.latest = None self.cur_device = None + self.counter_device = None def get_device_name(self, obj) -> Optional[str]: qs = MosquitoDeviceInfo.objects.filter(device_id=obj.device_id) @@ -47,3 +54,21 @@ class DeviceInfoMobileSerializer(serializers.ModelSerializer): if self.cur_device: return self.cur_device.location return None + + def get_count(self, obj): + device = DeviceCount.objects.filter( + device_id=self.cur_device.device_id).order_by('-data_time').first() + if device: + self.counter_device = device + return device.count + return None + + def get_csq(self, obj): + if self.counter_device: + return self.counter_device.csq + return None + + def get_vol(self, obj): + if self.counter_device: + return self.counter_device.vol + return None