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