From e773252d17275c1885d1def65bc9bdf6409f880a Mon Sep 17 00:00:00 2001 From: fxxian Date: Mon, 25 Mar 2024 23:38:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BA=8C=E4=BB=A3=E7=81=AF=E6=9C=89cou?= =?UTF-8?q?nt=E6=95=B0=E6=8D=AE=E5=88=99=E8=BF=94=E5=9B=9E=EF=BC=8C?= =?UTF-8?q?=E5=90=A6=E5=88=99=E7=94=A8=E4=B8=80=E4=BB=A3=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/counter/api/serializers.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apps/counter/api/serializers.py b/apps/counter/api/serializers.py index d2bc813..d511f01 100644 --- a/apps/counter/api/serializers.py +++ b/apps/counter/api/serializers.py @@ -32,6 +32,7 @@ def get_device_latest_by_cache(device_id, key="device_latest_{}"): latest = cache.get(latest_key) if latest: return latest + latest = DeviceCount.objects.filter(device_id=device_id).order_by('-data_time').first() if latest is None: return None @@ -235,6 +236,13 @@ class DeviceInfoSerializer(serializers.ModelSerializer): def get_count(self, obj) -> str: self.latest = get_device_latest_by_cache(obj.device_id) + + # 区分一代和二代设备 + if obj.chip_type == 'AIR-V2': + mosq_device_info = MosquitoDeviceInfo.objects.filter(device_id=obj.device_id).first() + if mosq_device_info and mosq_device_info.count: + return mosq_device_info.count + if self.latest: return self.latest['count'] return '0'