From 2ec6f45525a693402ce414fd9a253444118344e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E5=89=8D=E6=98=8E?= <909355014@qq.com> Date: Mon, 4 Jul 2022 16:04:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0happen=5Ftime?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ecm/migrations/0009_auto_20220704_1504.py | 26 +++++++++++++++++++ apps/ecm/models.py | 1 + apps/ecm/service.py | 7 +++-- apps/utils/tools.py | 7 ++++- 4 files changed, 38 insertions(+), 3 deletions(-) create mode 100644 apps/ecm/migrations/0009_auto_20220704_1504.py diff --git a/apps/ecm/migrations/0009_auto_20220704_1504.py b/apps/ecm/migrations/0009_auto_20220704_1504.py new file mode 100644 index 00000000..ed0c842c --- /dev/null +++ b/apps/ecm/migrations/0009_auto_20220704_1504.py @@ -0,0 +1,26 @@ +# Generated by Django 3.2.12 on 2022-07-04 07:04 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('ecm', '0008_auto_20220704_0841'), + ] + + operations = [ + migrations.RemoveField( + model_name='remind', + name='dept', + ), + migrations.RemoveField( + model_name='remind', + name='post', + ), + migrations.AddField( + model_name='event', + name='happen_time', + field=models.DateTimeField(blank=True, null=True, verbose_name='事件发生时间'), + ), + ] diff --git a/apps/ecm/models.py b/apps/ecm/models.py index 0331c96f..b1963daa 100644 --- a/apps/ecm/models.py +++ b/apps/ecm/models.py @@ -90,6 +90,7 @@ class Event(CommonBModel): voice = models.TextField('语音地址', null=True, blank=True) is_timeout = models.BooleanField('是否超时', default=False) mark = models.PositiveSmallIntegerField('事件标记', default=10, help_text='10(正常)/20(误报)') + happen_time = models.DateTimeField('事件发生时间', null=True, blank=True) handle_time = models.DateTimeField('处理时间', null=True, blank=True) handle_user = models.ForeignKey(User, verbose_name='处理人', on_delete=models.CASCADE, null=True, blank=True) diff --git a/apps/ecm/service.py b/apps/ecm/service.py index f4ba9c93..5fe1da6a 100644 --- a/apps/ecm/service.py +++ b/apps/ecm/service.py @@ -21,6 +21,7 @@ from django.conf import settings import os from apps.utils.speech import generate_voice from threading import Thread +from apps.utils.tools import timestamp_to_time from apps.vm.models import Visit requests.packages.urllib3.disable_warnings() @@ -203,8 +204,9 @@ def create_remind(event: Event): # 开始发送通知 for i in Remind.objects.filter(event=event): if i.notify_setting.sms_enable: - if i.user.employee.phone: - Thread(target=send_sms, args=(i.user.employee.phone, '1001', {'code': '5678'}), daemon=True).start() + if i.recipient.employee.phone: + Thread(target=send_sms, args=(i.recipient.employee.phone, + '1001', {'code': '5678'}), daemon=True).start() if i.notify_setting.wechat_enable: pass event.is_pushed = True @@ -243,6 +245,7 @@ def dispatch_dahua_event(data: dict): event.obj_cate = obj_cate event.vchannel = vchannel event.employee = ep + event.happen_time = timestamp_to_time(int(data['info']['alarmDate'])) event.save() for i in ecs: Eventdo.objects.get_or_create(cate=i, event=event, defaults={ diff --git a/apps/utils/tools.py b/apps/utils/tools.py index 70aa6b39..e4d9824b 100755 --- a/apps/utils/tools.py +++ b/apps/utils/tools.py @@ -1,7 +1,7 @@ import textwrap import random import string -import time +from datetime import datetime def print_roundtrip(response, *args, **kwargs): @@ -35,6 +35,11 @@ def rannum(num): return salt +def timestamp_to_time(millis): + """10位时间戳转换为日期格式字符串""" + return datetime.fromtimestamp(millis) + + def p_in_poly(p, poly): px = p['x'] py = p['y']