开启喇叭日志
This commit is contained in:
parent
8e89a0d555
commit
8c051eb482
|
@ -184,8 +184,9 @@ class TestViewSet(CustomGenericViewSet):
|
||||||
测试算法2
|
测试算法2
|
||||||
"""
|
"""
|
||||||
from apps.ecm.service import dispatch_dahua_event
|
from apps.ecm.service import dispatch_dahua_event
|
||||||
data = {'id': None, 'category': 'alarm', 'method': 'alarm.msg', 'info': {'orgName': '河北省', 'alarmPictureSize': '885977', 'nodeCode': '1002182$1$0$0', 'deviceCode': '1002182', 'alarmCode': '{B55A1489-0064-8D42-B6F4-EFF2DE1DA9B1}', 'alarmPicture': '6ad010cf-ce45-11ec-9715-e4246c7d1635/20220831/1/dsf_3c4ef3fe-290f-11ed-884a-e4246c7d1635_55425449_56311426.jpg', 'nodeType': 2, 'deviceName': '192.168.10.155',
|
# data = {'id': None, 'category': 'alarm', 'method': 'alarm.msg', 'info': {'orgName': '河北省', 'alarmPictureSize': '885977', 'nodeCode': '1002182$1$0$0', 'deviceCode': '1002182', 'alarmCode': '{B55A1489-0064-8D42-B6F4-EFF2DE1DA9B1}', 'alarmPicture': '6ad010cf-ce45-11ec-9715-e4246c7d1635/20220831/1/dsf_3c4ef3fe-290f-11ed-884a-e4246c7d1635_55425449_56311426.jpg', 'nodeType': 2, 'deviceName': '192.168.10.155',
|
||||||
'alarmDate': '1661942981', 'alarmGrade': 2, 'isSave': True, 'unitType': 1, 'unitSeq': 0, 'extend': {'params': {'ObjectType': 'Human', 'GroupId': 30.0, 'ObjectSubType': ''}, 'objectSubType': ''}, 'alarmType': 964, 'channelSeq': 0, 'orgCode': '001', 'channelName': '192.168.10.155_视频通道_1', 'alarmStat': 1, 'isEvent': True}, 'subsystem': 'admin', 'userIds': None, 'sid': None, 'domainId': None, 'infoArray': None, 'protocol': None}
|
# 'alarmDate': '1661942981', 'alarmGrade': 2, 'isSave': True, 'unitType': 1, 'unitSeq': 0, 'extend': {'params': {'ObjectType': 'Human', 'GroupId': 30.0, 'ObjectSubType': ''}, 'objectSubType': ''}, 'alarmType': 964, 'channelSeq': 0, 'orgCode': '001', 'channelName': '192.168.10.155_视频通道_1', 'alarmStat': 1, 'isEvent': True}, 'subsystem': 'admin', 'userIds': None, 'sid': None, 'domainId': None, 'infoArray': None, 'protocol': None}
|
||||||
|
data = {'id': 1662026969203, 'category': 'alarm', 'method': 'alarm.msg', 'info': {'orgName': '曲阳县金隅水泥厂', 'nodeCode': '1000038$1$0$24', 'deviceCode': '1000038', 'alarmCode': '44df73ba-a423-4479-af70-1f930b00a7e0', 'alarmPicture': '6ad010cf-ce45-11ec-9715-e4246c7d1635/20220901/1/dsf_80fed821-29c9-11ed-884a-e4246c7d1635_27257520_27264993.jpg', 'nodeType': 2, 'alarmDate': '1662026965', 'alarmGrade': 2, 'isSave': True, 'extend': {'faceImageUrl': ['6ad010cf-ce45-11ec-9715-e4246c7d1635/20220901/1/dsf_80fed821-29c9-11ed-884a-e4246c7d1635_27257520_27264993.jpg'], 'glass': 0, 'beard': 0, 'candidateInfo': [{'birthday': '2022-8-24', 'faceImageUrl': ['6ad010cf-ce45-11ec-9715-e4246c7d1635/20220901/1/dsf_80fed821-29c9-11ed-884a-e4246c7d1635_27264993_27338395.jpg'], 'groupName': '全体人员', 'similarity': 97, 'sex': 1, 'cardType': 1, 'name': '曹前明', 'devPersonId': '48', 'id': '342422199004040175', 'type': 0}], 'sex': 0, 'occurrenceCount': 0, 'deviceCode': '1000038', 'globalScenePicUrl': '6ad010cf-ce45-11ec-9715-e4246c7d1635/20220901/1/dsf_80fed821-29c9-11ed-884a-e4246c7d1635_26915031_27257520.jpg', 'eye': 0, 'alarmType': 1001003, 'perFlag': -1, 'mouth': 0, 'feature': [], 'isHit': True, 'channelSeq': 24, 'szSerialUUID': '', 'channelName': '窑头平台值班室', 'beginTime': 1662026965, 'endTime': 1662026965, 'age': -1, 'mask': 0}, 'unitType': 1, 'alarmType': 1001003, 'channelSeq': 24, 'orgCode': '001001001', 'channelName': '窑头平台值班室', 'alarmStat': 1, 'isEvent': True}, 'subsystem': 'evo-face', 'userIds': None, 'sid': None, 'domainId': None, 'infoArray': None, 'protocol': None}
|
||||||
dispatch_dahua_event(data=data)
|
dispatch_dahua_event(data=data)
|
||||||
return Response()
|
return Response()
|
||||||
|
|
||||||
|
|
|
@ -115,24 +115,28 @@ def save_voice_and_speak(event: Event):
|
||||||
Args:
|
Args:
|
||||||
event (Event): _description_
|
event (Event): _description_
|
||||||
"""
|
"""
|
||||||
main_cate = event.cates.all().order_by('priority', 'create_time').first()
|
try:
|
||||||
v_p, v_num = main_cate.voice_person, main_cate.voice_num
|
main_cate = event.cates.all().order_by('priority', 'create_time').first()
|
||||||
_, event.voice, _ = generate_voice(event.voice_msg, v_p)
|
v_p, v_num = main_cate.voice_person, main_cate.voice_num
|
||||||
event.save()
|
_, event.voice, _ = generate_voice(event.voice_msg, v_p)
|
||||||
if main_cate.speaker_on:
|
event.save()
|
||||||
sps = []
|
if main_cate.speaker_on:
|
||||||
if event.area: # 如果事件存在发生区域
|
sps = []
|
||||||
sps = list(TDevice.objects.filter(area=event.area, type=TDevice.DEVICE_SPEAKER).values_list('code', flat=True))
|
if event.area: # 如果事件存在发生区域
|
||||||
if len(sps) == 0: # 如果当前区域没有喇叭就找覆盖区的喇叭
|
sps = list(TDevice.objects.filter(area=event.area,
|
||||||
sps = list(TDevice.objects.filter(areas=event.area,
|
type=TDevice.DEVICE_SPEAKER).values_list('code', flat=True))
|
||||||
type=TDevice.DEVICE_SPEAKER).values_list('code', flat=True))
|
if len(sps) == 0: # 如果当前区域没有喇叭就找覆盖区的喇叭
|
||||||
# 查找固定喇叭
|
sps = list(TDevice.objects.filter(areas=event.area,
|
||||||
for m in event.cates.all():
|
type=TDevice.DEVICE_SPEAKER).values_list('code', flat=True))
|
||||||
for n in m.speakers.all():
|
# 查找固定喇叭
|
||||||
if n.code not in sps:
|
for m in event.cates.all():
|
||||||
sps.append(n.code)
|
for n in m.speakers.all():
|
||||||
if sps:
|
if n.code not in sps:
|
||||||
spClient.speak(event.voice, sps, v_num)
|
sps.append(n.code)
|
||||||
|
if sps:
|
||||||
|
spClient.speak(event.voice, sps, v_num)
|
||||||
|
except Exception:
|
||||||
|
myLogger.error('喇叭播放失败', exc_info=True)
|
||||||
|
|
||||||
|
|
||||||
def create_remind(event: Event, params: dict):
|
def create_remind(event: Event, params: dict):
|
||||||
|
@ -147,7 +151,7 @@ def create_remind(event: Event, params: dict):
|
||||||
n_s = NotifySetting.objects.filter(event_cate__in=event.cates.all()).order_by('sort')
|
n_s = NotifySetting.objects.filter(event_cate__in=event.cates.all()).order_by('sort')
|
||||||
area_level = event.area.level
|
area_level = event.area.level
|
||||||
for i in n_s:
|
for i in n_s:
|
||||||
if i.user and area_level >= i.filter_area_level:
|
if i.user and area_level < i.filter_area_level:
|
||||||
Remind.objects.get_or_create(event=event, recipient=i.user,
|
Remind.objects.get_or_create(event=event, recipient=i.user,
|
||||||
defaults={
|
defaults={
|
||||||
'event': event,
|
'event': event,
|
||||||
|
@ -205,7 +209,6 @@ def create_remind(event: Event, params: dict):
|
||||||
for i in Remind.objects.filter(event=event):
|
for i in Remind.objects.filter(event=event):
|
||||||
if i.notify_setting.sms_enable and i.recipient.employee.phone:
|
if i.notify_setting.sms_enable and i.recipient.employee.phone:
|
||||||
# 发送短信通知
|
# 发送短信通知
|
||||||
|
|
||||||
Thread(target=send_sms, args=(i.recipient.employee.phone,
|
Thread(target=send_sms, args=(i.recipient.employee.phone,
|
||||||
1003, params), daemon=True).start()
|
1003, params), daemon=True).start()
|
||||||
if i.notify_setting.wechat_enable:
|
if i.notify_setting.wechat_enable:
|
||||||
|
|
|
@ -71,7 +71,7 @@ class NotifySettingViewSet(CustomModelViewSet):
|
||||||
ordering = ['sort', 'create_time']
|
ordering = ['sort', 'create_time']
|
||||||
|
|
||||||
|
|
||||||
class EventViewSet(ListModelMixin, RetrieveModelMixin, CustomGenericViewSet):
|
class EventViewSet(ListModelMixin, RetrieveModelMixin, DestroyModelMixin, CustomGenericViewSet):
|
||||||
perms_map = {'get': '*'}
|
perms_map = {'get': '*'}
|
||||||
queryset = Event.objects.all()
|
queryset = Event.objects.all()
|
||||||
serializer_class = EventSerializer
|
serializer_class = EventSerializer
|
||||||
|
|
|
@ -109,7 +109,7 @@ class SpClient:
|
||||||
if raise_exception:
|
if raise_exception:
|
||||||
raise ParseError(**err_detail)
|
raise ParseError(**err_detail)
|
||||||
return 'fail', dict(detail=detail, code='sp_'+str(ret['code']))
|
return 'fail', dict(detail=detail, code='sp_'+str(ret['code']))
|
||||||
# self.handle_log(result='success', response=ret)
|
self.handle_log(result='success', response=ret)
|
||||||
return 'success', ret
|
return 'success', ret
|
||||||
self.handle_log(result='error', errors=traceback.format_exc())
|
self.handle_log(result='error', errors=traceback.format_exc())
|
||||||
if raise_exception:
|
if raise_exception:
|
||||||
|
|
Loading…
Reference in New Issue