diff --git a/apps/ecm/serializers.py b/apps/ecm/serializers.py index 278fb465..75405a96 100644 --- a/apps/ecm/serializers.py +++ b/apps/ecm/serializers.py @@ -74,7 +74,7 @@ class NotifySettingsSerializer(CustomModelSerializer): class EventSerializer(serializers.ModelSerializer): area_ = AreaSerializer(source='area', read_only=True) - cates_ = EventCateSimpleSerializer(source='cate', read_only=True, many=True) + cates_ = EventCateSimpleSerializer(source='cates', read_only=True, many=True) employee_ = EmployeeSerializer(source='employee', read_only=True) handle_user_name = serializers.CharField(source='handle_user.name', read_only=True) diff --git a/apps/ecm/service.py b/apps/ecm/service.py index 10f53ee8..81cabbe8 100644 --- a/apps/ecm/service.py +++ b/apps/ecm/service.py @@ -82,17 +82,17 @@ def save_voice_and_speak(event: Event): Args: event (Event): _description_ """ - _, event.voice, _ = generate_voice(event.voice_msg, event.cates[0].voice_person) + _, event.voice, _ = generate_voice(event.voice_msg, event.cates.first().voice_person) event.save() sps = list(TDevice.objects.filter(area=event.area, type=TDevice.DEVICE_SPEAKER).values_list('code', flat=True)) if len(sps) == 0: # 如果当前区域没有喇叭就找覆盖区的喇叭 sps = list(TDevice.objects.filter(areas=event.area, type=TDevice.DEVICE_SPEAKER).values_list('code', flat=True)) - # 固定喇叭 - sps2 = list(TDevice.objects.filter(ec_speakers__in=event.cates).values_list('code', flat=True)) - for i in sps2: - if i not in sps: - sps.append(i) + # 查找固定喇叭 + for m in event.cates.all(): + for n in m.speakers.all(): + if n.code not in sps: + sps.append(n.code) if sps: spClient.speak(event.voice, sps) diff --git a/apps/utils/exceptions.py b/apps/utils/exceptions.py index 41affb4f..9fe64739 100755 --- a/apps/utils/exceptions.py +++ b/apps/utils/exceptions.py @@ -2,14 +2,17 @@ import traceback from django.core.exceptions import PermissionDenied from django.http import Http404 -from numpy import isin +import logging from rest_framework import exceptions from rest_framework.response import Response from rest_framework.views import set_rollback -from server.settings import myLogger import json +# 实例化myLogger +myLogger = logging.getLogger('log') + + def custom_exception_hander(exc, context): """ 自定义异常处理 diff --git a/apps/utils/mixins.py b/apps/utils/mixins.py index 47788f31..2b2661f6 100755 --- a/apps/utils/mixins.py +++ b/apps/utils/mixins.py @@ -4,11 +4,13 @@ import ast import ipaddress import traceback from apps.monitor.models import DrfRequestLog -from server.settings import myLogger from django.db import connection from django.utils.timezone import now from user_agents import parse +import logging +# 实例化myLogger +myLogger = logging.getLogger('log') class CreateUpdateModelAMixin: """ diff --git a/apps/utils/sms.py b/apps/utils/sms.py index 7863f3b1..9851d9d1 100644 --- a/apps/utils/sms.py +++ b/apps/utils/sms.py @@ -2,6 +2,10 @@ from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest from django.conf import settings import json +import logging + +# 实例化myLogger +myLogger = logging.getLogger('log') def send_sms(phone: str, template_code: str, template_param: dict): @@ -34,5 +38,5 @@ def send_sms(phone: str, template_code: str, template_param: dict): return True, res_dict else: - settings.myLogger.error("短信发送失败:{}-{}".format(phone, str(res_dict))) + myLogger.error("短信发送失败:{}-{}".format(phone, str(res_dict))) return False, res_dict diff --git a/apps/utils/task.py b/apps/utils/task.py index 0ba3fb80..9a200e86 100644 --- a/apps/utils/task.py +++ b/apps/utils/task.py @@ -1,11 +1,15 @@ from celery import Task -from server.settings import myLogger +import logging + +# 实例化myLogger +myLogger = logging.getLogger('log') class CustomTask(Task): """ 自定义的任务回调 """ + def on_failure(self, exc, task_id, args, kwargs, einfo): myLogger.error('{0!r} failed: {1!r}'.format(task_id, exc)) return super().on_failure(exc, task_id, args, kwargs, einfo) diff --git a/server/settings.py b/server/settings.py index 8dd8c60c..49d399a2 100755 --- a/server/settings.py +++ b/server/settings.py @@ -344,8 +344,6 @@ LOGGING = { }, } } -# 实例化myLogger -myLogger = logging.getLogger('log') # 项目地址 BASE_URL = conf.BASE_URL