From 5cf9c2edf04441d0626039ae7fd11dbc0a4e585e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E5=89=8D=E6=98=8E?= <909355014@qq.com> Date: Tue, 5 Jul 2022 14:45:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E9=83=A8=E5=9C=A8=E7=BA=BF=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E5=88=97=E8=A1=A8=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/third/views_d.py | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/apps/third/views_d.py b/apps/third/views_d.py index cd1c4114..6f0ff028 100644 --- a/apps/third/views_d.py +++ b/apps/third/views_d.py @@ -1,5 +1,5 @@ from apps.third.models import TDevice, Tlog -from apps.third.serializers import BindAreaSerializer, LabelLocationSerializer, TDeviceSerializer, TlogSerializer +from apps.third.serializers import BindAreaSerializer, BltSerializer, LabelLocationSerializer, TDeviceSerializer, TlogSerializer from apps.utils.viewsets import CustomGenericViewSet from rest_framework.mixins import ListModelMixin, CreateModelMixin from apps.third.clients import xxClient, dhClient, spClient @@ -51,20 +51,39 @@ class BltViewSet(CustomGenericViewSet): macs = [] for i in blt_list: macs.append(i['mac']) - qs = self.queryset.exclude(employee=None, code__in=macs) + qs = self.queryset.filter().exclude(employee=None, code__in=macs) ret['total'] = qs.count() ret['count_employee'] = qs.filter(employee__type='employee').count() ret['count_remployee'] = qs.filter(employee__type='remployee').count() ret['count_visitor'] = qs.filter(employee__type='visitor').count() return Response(ret) - @action(methods=['post'], detail=False, perms_map={'post': '*'}) - def query(self, request): - """标签列表复杂查询 + @action(methods=['get'], detail=False, perms_map={'get': '*'}) + def all(self, request): + """全部在线标签列表信息 - 标签列表复杂查询 + 全部在线标签列表信息 """ - pass + json = { + "pageNum": 1, + "numPerPage": 2000, + "online": "online" + } + _, res = xxClient.request(**xxapis['blt_list'], json=json) + blt_list = res['recordList'] + macs = [] + for i in blt_list: + macs.append(i['mac']) + qs = self.queryset.filter(code__in=macs).exclude(employee=None) + qs_data = list(BltSerializer(instance=qs, many=True).data) + qs_dict = {} + for i in qs_data: + qs_dict[i['code']] = i + for i in blt_list: + i['my_info'] = {} + if i['mac'] in qs_dict: + i['my_info'] = qs_dict[i['mac']] + return Response(blt_list) class TDeviceViewSet(ListModelMixin, CustomGenericViewSet):