diff --git a/apps/ai/client.py b/apps/ai/client.py index c96b530a..1011db20 100644 --- a/apps/ai/client.py +++ b/apps/ai/client.py @@ -2,6 +2,7 @@ import base64 from io import BytesIO +import os import requests import grpc from . import BeiHangGrpc_pb2_grpc @@ -58,6 +59,7 @@ def fire1(ip: str, pic_url: str): request = BeiHangGrpc_pb2.JinYu_Request(zzid=image_id, imgsbase64=image_base64) response = stub.sendFire_Info(request) + os.remove(img_path) # 删除临时图片 if response.FireinfoList: for i in response.FireinfoList: if i.fire == 0: # 配置了灭火器 diff --git a/apps/ecm/migrations/0006_alter_event_cates.py b/apps/ecm/migrations/0006_alter_event_cates.py new file mode 100644 index 00000000..7b468345 --- /dev/null +++ b/apps/ecm/migrations/0006_alter_event_cates.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.12 on 2022-09-11 09:49 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('ecm', '0005_rename_hanle_minute_eventcate_handle_minute'), + ] + + operations = [ + migrations.AlterField( + model_name='event', + name='cates', + field=models.ManyToManyField(related_name='event_cates', through='ecm.Eventdo', to='ecm.EventCate', verbose_name='关联事件种类'), + ), + ] diff --git a/apps/ecm/models.py b/apps/ecm/models.py index 9579804e..e6f343a0 100644 --- a/apps/ecm/models.py +++ b/apps/ecm/models.py @@ -79,7 +79,7 @@ class Event(CommonBDModel): (10, '正常'), (20, '误报'), ) - cates = models.ManyToManyField(EventCate, verbose_name='关联事件种类', through='ecm.eventdo') + cates = models.ManyToManyField(EventCate, verbose_name='关联事件种类', through='ecm.eventdo', related_name='event_cates') face_img = models.CharField('人脸照', max_length=1000, null=True, blank=True) global_img = models.CharField('全景照', max_length=1000, null=True, blank=True) area = models.ForeignKey(Area, verbose_name='发生区域', on_delete=models.SET_NULL, null=True, blank=True) diff --git a/apps/ecm/service.py b/apps/ecm/service.py index 87ef1759..ba65e049 100644 --- a/apps/ecm/service.py +++ b/apps/ecm/service.py @@ -131,10 +131,11 @@ def save_voice_and_speak(event: Event): sps = list(TDevice.objects.filter(areas=event.area, type=TDevice.DEVICE_SPEAKER).values_list('code', flat=True)) # 查找固定喇叭 - for m in event.cates.all(): - for n in m.speakers.all(): - if n.code not in sps: - sps.append(n.code) + sps2 = list(TDevice.objects.filter(ec_speakers__event_cates=event).values_list('code', flat=True)) + for i in sps2: + if i not in sps: + sps.append(i) + myLogger.info('获取到喇叭:' + str(sps)) if sps: spClient.speak(event.voice, sps, v_num) except Exception: diff --git a/apps/opm/migrations/0004_alter_oplworker_worker.py b/apps/opm/migrations/0004_alter_oplworker_worker.py new file mode 100644 index 00000000..b1b7098e --- /dev/null +++ b/apps/opm/migrations/0004_alter_oplworker_worker.py @@ -0,0 +1,21 @@ +# Generated by Django 3.2.12 on 2022-09-11 09:49 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('opm', '0003_alter_operation_vchannels'), + ] + + operations = [ + migrations.AlterField( + model_name='oplworker', + name='worker', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='opl_worker', to=settings.AUTH_USER_MODEL, verbose_name='作业人员'), + ), + ]