# 优化代码组织
This commit is contained in:
parent
5a45cd6a17
commit
a2b1d35ceb
|
@ -33,15 +33,15 @@ class DeviceLogListAPIView(ListAPIView, RoleMixin, DeviceListMixin):
|
|||
|
||||
def get_queryset(self, *args, **kwargs):
|
||||
user_roles = self.get_role()
|
||||
queryset_list = DeviceCount.objects.get_queryset().order_by('-data_time')
|
||||
if 'staff' in user_roles or 'admin' in user_roles:
|
||||
queryset = DeviceCount.objects.get_queryset().order_by('-data_time')
|
||||
if 'staff' in user_roles or 'manager' in user_roles:
|
||||
device_list = self.get_device_list()
|
||||
device_ids = [query.device_id for query in device_list if query.org == self.request.user.org]
|
||||
queryset_list = queryset_list.filter(device_id__in=device_ids)
|
||||
queryset = queryset.filter(device_id__in=device_ids)
|
||||
device_id = self.request.GET.get('device_id')
|
||||
if device_id:
|
||||
queryset_list = queryset_list.filter(device_id__icontains=device_id)
|
||||
return queryset_list
|
||||
queryset = queryset.filter(device_id__icontains=device_id)
|
||||
return queryset
|
||||
|
||||
|
||||
class DeviceInfoListAPIView(ListAPIView, RoleMixin):
|
||||
|
@ -53,19 +53,19 @@ class DeviceInfoListAPIView(ListAPIView, RoleMixin):
|
|||
|
||||
def get_queryset(self, *args, **kwargs):
|
||||
user_roles = self.get_role()
|
||||
queryset_list = DeviceInfo.objects.get_queryset().order_by('-online')
|
||||
if 'staff' in user_roles or 'admin' in user_roles:
|
||||
device_ids = [query.device_id for query in queryset_list if query.org == self.request.user.org]
|
||||
queryset_list = queryset_list.filter(device_id__in=device_ids)
|
||||
queryset = DeviceInfo.objects.get_queryset().order_by('-online')
|
||||
if 'staff' in user_roles or 'manager' in user_roles:
|
||||
device_ids = [query.device_id for query in queryset if query.org == self.request.user.org]
|
||||
queryset = queryset.filter(device_id__in=device_ids)
|
||||
device_id = self.request.GET.get('device_id')
|
||||
status = self.request.GET.get('status')
|
||||
|
||||
if device_id:
|
||||
queryset_list = queryset_list.filter(device_id__icontains=device_id)
|
||||
queryset = queryset.filter(device_id__icontains=device_id)
|
||||
|
||||
if status:
|
||||
queryset_list = queryset_list.filter(online=int(status))
|
||||
return queryset_list
|
||||
queryset = queryset.filter(online=int(status))
|
||||
return queryset
|
||||
|
||||
|
||||
class DeviceLogStatisticAPIView(APIView):
|
||||
|
@ -138,15 +138,15 @@ class DeviceLogHistoryListAPIView(ListAPIView, RoleMixin, DeviceListMixin):
|
|||
|
||||
def get_queryset(self, *args, **kwargs):
|
||||
user_roles = self.get_role()
|
||||
queryset_list = DevicePostStatistic.objects.get_queryset().order_by('-date')
|
||||
|
||||
if 'staff' in user_roles or 'admin' in user_roles:
|
||||
device_list = self.get_device_list()
|
||||
device_ids = [query.device_id for query in device_list if query.org == self.request.user.org]
|
||||
queryset_list = queryset_list.filter(device_id__in=device_ids)
|
||||
device_id = self.request.GET.get('device_id')
|
||||
queryset = DevicePostStatistic.objects.get_queryset().order_by('-date')
|
||||
|
||||
if 'staff' in user_roles or 'manager' in user_roles:
|
||||
devices = self.get_device_list()
|
||||
device_ids = [device.device_id for device in devices if device.org == self.request.user.org]
|
||||
queryset = queryset.filter(device_id__in=device_ids)
|
||||
|
||||
if device_id:
|
||||
queryset_list = queryset_list.filter(device_id__icontains=device_id)
|
||||
queryset = queryset.filter(device_id__icontains=device_id)
|
||||
|
||||
return queryset_list
|
||||
return queryset
|
||||
|
|
|
@ -11,6 +11,7 @@ class RoleMixin(object):
|
|||
|
||||
|
||||
class DeviceListMixin(object):
|
||||
@staticmethod
|
||||
def get_device_list(self):
|
||||
if cache.has_key('device_list'):
|
||||
device_list = cache.get('device_list')
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
# * Remove `managed = False` lines if you wish to allow Django to create, modify, and delete the table
|
||||
# Feel free to rename the models, but don't rename db_table values or field names.
|
||||
from django.db import models
|
||||
from mosquito.models import DeviceInfo as DeviceInfo2
|
||||
from mosquito.models import DeviceInfo as CelexDeviceInfo
|
||||
|
||||
|
||||
class DeviceCount(models.Model):
|
||||
|
@ -29,9 +29,9 @@ class DeviceCount(models.Model):
|
|||
@property
|
||||
def org(self):
|
||||
try:
|
||||
device_info2 = DeviceInfo2.objects.get(device_id=self.device_id)
|
||||
return device_info2.org
|
||||
except DeviceInfo2.DoesNotExist:
|
||||
celex_device = CelexDeviceInfo.objects.get(device_id=self.device_id)
|
||||
return celex_device.org
|
||||
except CelexDeviceInfo.DoesNotExist:
|
||||
raise
|
||||
|
||||
def __str__(self):
|
||||
|
@ -63,9 +63,9 @@ class DeviceInfo(models.Model):
|
|||
@property
|
||||
def org(self):
|
||||
try:
|
||||
device_info2 = DeviceInfo2.objects.get(device_id=self.device_id)
|
||||
return device_info2.org
|
||||
except DeviceInfo2.DoesNotExist:
|
||||
celex_device = CelexDeviceInfo.objects.get(device_id=self.device_id)
|
||||
return celex_device.org
|
||||
except CelexDeviceInfo.DoesNotExist:
|
||||
raise
|
||||
|
||||
def __str__(self):
|
||||
|
|
Loading…
Reference in New Issue