From cf531a546332ec35119e9925b27a065a08b60899 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, 13 Sep 2022 20:21:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=8C=BA=E5=9F=9F=E7=BC=BA?= =?UTF-8?q?=E5=91=98=E8=B6=85=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/develop/serializers.py | 6 +++++- apps/develop/views.py | 14 ++++++++++++-- apps/ecm/tasks.py | 4 ++-- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/apps/develop/serializers.py b/apps/develop/serializers.py index 763233c5..f8d2f4bc 100755 --- a/apps/develop/serializers.py +++ b/apps/develop/serializers.py @@ -26,4 +26,8 @@ class TestAlgoSerializer(serializers.Serializer): class SpeakerSerializer(serializers.Serializer): - sns = serializers.ListField(child=serializers.CharField(), label="喇叭列表") \ No newline at end of file + sns = serializers.ListField(child=serializers.CharField(), label="喇叭列表") + + +class AreaManSerializer(serializers.Serializer): + area = serializers.CharField() \ No newline at end of file diff --git a/apps/develop/views.py b/apps/develop/views.py index 3d973d88..52d0d0bc 100755 --- a/apps/develop/views.py +++ b/apps/develop/views.py @@ -5,12 +5,13 @@ from rest_framework.permissions import IsAdminUser from rest_framework.response import Response from rest_framework.serializers import Serializer from rest_framework.decorators import action -from apps.develop.serializers import CleanDataSerializer, GenerateVoiceSerializer, SendSmsSerializer, SpeakerSerializer, \ +from apps.am.models import Area +from apps.develop.serializers import AreaManSerializer, CleanDataSerializer, GenerateVoiceSerializer, SendSmsSerializer, SpeakerSerializer, \ TestTaskSerializer, TestAlgoSerializer from apps.develop.tasks import backup_database, backup_media, reload_web_git, reload_server_git, reload_server_only from rest_framework.exceptions import APIException from apps.ecm.service import check_not_in_place, create_remind, handle_xx_event, loc_change, notify_event, rail_in, snap_and_analyse -from apps.ecm.tasks import opl_task +from apps.ecm.tasks import opl_task, update_count_people from apps.opm.models import Opl from apps.system.tasks import show from apps.third.clients import dhClient @@ -278,6 +279,15 @@ class TestViewSet(CustomGenericViewSet): 'time': 1663067822887, "type":1, "buildId": "204878", "floorNo":"Floor1"} res = rail_in(data=data) return Response(res) + + @action(methods=['post'], detail=False, serializer_class=AreaManSerializer) + def test_area_man(self, request, pk=None): + """测试区域超员/缺员事件 + + 测试区域超员/缺员事件 + """ + res = update_count_people(i=Area.objects.get(id=request.data['area'])) + return Response(res) @action(methods=['post'], detail=False, serializer_class=Serializer) def test_not_in_place(self, request, pk=None): diff --git a/apps/ecm/tasks.py b/apps/ecm/tasks.py index bd90e135..d210ccc7 100644 --- a/apps/ecm/tasks.py +++ b/apps/ecm/tasks.py @@ -18,7 +18,6 @@ import time from django.core.cache import cache - @shared_task def update_count_people(i: Area): if i.third_info.get('xx_rail', None): @@ -38,6 +37,7 @@ def update_count_people(i: Area): elif i.count_people < i.count_people_min: # 触发缺员事件 handle_xx_event_3('lack_man', i) + return {'count': i.count_people} def handle_xx_event_3(name: str, area: Area): @@ -52,7 +52,7 @@ def handle_xx_event_3(name: str, area: Area): 'cate': cate, 'event': event }) - voice_msg = area.name + '下有' + str(area.count) + '人,' + cate.name + ',请及时处理' + voice_msg = area.name + '下有' + str(area.count_people) + '人,' + cate.name + ',请及时处理' notify_event(event, voice_msg=voice_msg)