blt放在tdevice下

This commit is contained in:
曹前明 2022-07-05 16:34:22 +08:00
parent 5e1c35902d
commit f4b467dced
2 changed files with 31 additions and 7 deletions

View File

@ -12,7 +12,7 @@ router.register('xunxi', XxCommonViewSet, basename='api_xunxi')
router.register('dahua', DhCommonViewSet, basename='api_dahua')
router.register('tdevice', TDeviceViewSet, basename='tdevice')
router.register('tlog', TlogViewSet, basename='tlog')
router.register('blt', BltViewSet, basename='blt')
router.register('tdevice/blt', BltViewSet, basename='blt')
urlpatterns = [
path(API_BASE_URL, include(router.urls)),
path(API_BASE_URL + 'dahua/test/', DahuaTestView.as_view()),

View File

@ -36,9 +36,9 @@ class BltViewSet(CustomGenericViewSet):
@action(methods=['get'], detail=False, perms_map={'get': '*'})
def count_now(self, request):
"""统计在厂终端
"""统计在厂标签
统计在厂终端
统计在厂标签
"""
json = {
"pageNum": 1,
@ -61,15 +61,17 @@ class BltViewSet(CustomGenericViewSet):
@action(methods=['post'], detail=False, perms_map={'post': '*'},
serializer_class=BltQuerySerializer)
def query(self, request):
"""在线标签列表信息
def all(self, request):
"""全部在线标签列表信息
在线标签列表信息
全部在线标签列表信息
"""
data = request.data
area = None
if data.get('area', None):
try:
railId = Area.objects.get(id=data['area']).third_info['xx_rail']['id']
area = Area.objects.get(id=data['area'])
railId = area.third_info['xx_rail']['id']
except Exception:
raise ParseError('区域信息不正确')
json = {
@ -109,6 +111,28 @@ class TDeviceViewSet(ListModelMixin, CustomGenericViewSet):
ordering = ['code', '-create_time']
filterset_fields = ['type']
@action(methods=['post'], detail=False, perms_map={'post': '*'},
serializer_class=Serializer)
def blt(self, request):
"""定位标签列表
定位标签列表
"""
_, res = xxClient.request(**xxapis['blt_list'], json=request.data)
macs = []
for i in res['recordList']:
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 res['recordList']:
i['my_info'] = {}
if i['mac'] in qs_dict:
i['my_info'] = qs_dict[i['mac']]
return Response(res)
@action(methods=['post'], detail=False, perms_map={'post': '*'},
serializer_class=Serializer)
def vchannel(self, request):