chore: 删除task改造后的无用逻辑

This commit is contained in:
xianfx 2024-02-19 23:44:31 +08:00
parent 2ff422b262
commit 304409f384
2 changed files with 0 additions and 96 deletions

View File

@ -8,12 +8,6 @@ from mosquito.models import DeviceInfo as MosquitoDeviceInfo
from mosquito.models import MosqPostStatistic, DevicePostStatistic
class DeviceSourceException(Exception):
"""
source should be counter | mosquito
"""
def get_vol(device_id, cur_vol):
vol_min_key = '{}_vol_min'.format(device_id)
vol_max_key = '{}_vol_max'.format(device_id)
@ -65,49 +59,6 @@ class DeviceInfoBaseSerializer(serializers.ModelSerializer):
fields = '__all__'
device_source_map = {
'counter': DeviceCountBaseSerializer,
'mosquito': DeviceInfoBaseSerializer,
}
def get_device(device_id: str, source: str) -> Optional[dict]:
"""
Get device data serialized by DeviceCountBaseSerializer (counter) or DeviceInfoBaseSerializer (mosquito),
For source 'counter', we get device from device_counter table not device_info, because
the [lon, lat] info is located in device_counter.
For source 'mosquito', we get device from mosquito/DeviceInfo model,
due to the [point_x, point_y] is what we want.
params: device_id,
params: source, counter | mosquito
return: dict
"""
device_key = 'device_lon_{}'.format(device_id)
device = cache.get(device_key)
if device:
return device
if source == 'counter':
qs = DeviceCount.objects.filter(~Q(longitude=0),
device_id=device_id).order_by('-data_time')
elif source == 'mosquito':
qs = MosquitoDeviceInfo.objects.filter(device_id=device_id)
else:
raise DeviceSourceException("source should be counter or mosquito")
if qs.count() == 0:
return None
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
class DeviceCountSerializer(serializers.ModelSerializer):
device_name = serializers.SerializerMethodField()
mosq_count = serializers.SerializerMethodField()
@ -305,11 +256,6 @@ class DeviceInfoSerializer(serializers.ModelSerializer):
lon, lat = [self.cur_device.longitude, self.cur_device.latitude]
if lon and lat:
return [lon, lat]
# query = DeviceCount.objects.filter(~Q(longitude=0), device_id=obj.device_id).order_by('-data_time')
device = get_device(obj.device_id, source='counter')
if device:
return [device['longitude'], device['latitude']]
return None
def get_time(self, obj):

View File

@ -71,48 +71,6 @@ class WeatherStationInfoBaseSerializer(serializers.ModelSerializer):
fields = '__all__'
device_source_map = {
'counter': WeatherLogBaseSerializer,
'mosquito': WeatherStationInfoBaseSerializer,
}
def get_device(device_id: str, source: str) -> Optional[dict]:
"""
Get device data serialized by DeviceCountBaseSerializer (counter) or DeviceInfoBaseSerializer (mosquito),
For source 'counter', we get device from device_counter table not device_info, because
the [lon, lat] info is located in device_counter.
For source 'mosquito', we get device from mosquito/DeviceInfo model,
due to the [point_x, point_y] is what we want.
params: device_id,
params: source, counter | mosquito
return: dict
"""
device_key = 'device_lon_{}'.format(device_id)
device = cache.get(device_key)
if device:
return device
if source == 'counter':
qs = WeatherLog.objects.filter(~Q(longitude=0),
device_id=device_id).order_by('-data_time')
elif source == 'mosquito':
qs = WeatherStationInfo.objects.filter(device_id=device_id)
else:
raise DeviceSourceException("source should be counter or mosquito")
if qs.count() == 0:
return None
device = qs.first()
s = device_source_map[source](device)
data = s.data
cache.set(device_key, data, 60 * 10)
print(data)
return data
class WeatherLogSerializer(serializers.ModelSerializer):
power = serializers.SerializerMethodField()
device_name = serializers.SerializerMethodField()