dispath dahua event 大改后bug
This commit is contained in:
parent
32cdb2ad59
commit
12d86ae839
|
|
@ -305,7 +305,7 @@ def dispatch_dahua_event(data: dict):
|
||||||
area = vchannel.area
|
area = vchannel.area
|
||||||
obj_cate = 'other'
|
obj_cate = 'other'
|
||||||
ep = None
|
ep = None
|
||||||
if alarm_type in [1001003, 1001000]:
|
if alarm_type in [1001003, 1001000]:
|
||||||
obj_cate = 'people'
|
obj_cate = 'people'
|
||||||
face_img_o = dhClient.get_full_pic(data['info']['alarmPicture'])
|
face_img_o = dhClient.get_full_pic(data['info']['alarmPicture'])
|
||||||
global_img_o = dhClient.get_full_pic(data['info']['extend']['globalScenePicUrl'])
|
global_img_o = dhClient.get_full_pic(data['info']['extend']['globalScenePicUrl'])
|
||||||
|
|
@ -313,7 +313,7 @@ def dispatch_dahua_event(data: dict):
|
||||||
global_img_o = dhClient.get_full_pic(data['info']['alarmPicture'])
|
global_img_o = dhClient.get_full_pic(data['info']['alarmPicture'])
|
||||||
happen_time = timestamp_to_time(int(data['info']['alarmDate']))
|
happen_time = timestamp_to_time(int(data['info']['alarmDate']))
|
||||||
algo_channels = AlgoChannel.objects.filter(vchannel=vchannel, algo__self_algo=True).exclude(
|
algo_channels = AlgoChannel.objects.filter(vchannel=vchannel, algo__self_algo=True).exclude(
|
||||||
algo__code=None).order_by('algo__priority', 'algo__create_time').values('id', 'algo', 'algo__code')
|
algo__code=None).order_by('algo__priority', 'algo__create_time').values('id', 'algo', 'algo__code')
|
||||||
cates = [] # 触发的事件种类
|
cates = [] # 触发的事件种类
|
||||||
algo_codes = [] # 需要执行的ai算法
|
algo_codes = [] # 需要执行的ai算法
|
||||||
for i in algo_channels:
|
for i in algo_channels:
|
||||||
|
|
@ -328,12 +328,12 @@ def dispatch_dahua_event(data: dict):
|
||||||
if m == n['algo__code']:
|
if m == n['algo__code']:
|
||||||
cates.append(n['algo'])
|
cates.append(n['algo'])
|
||||||
if alarm_type == 1001003 and area: # 内部人员需要执行未带定位卡算法
|
if alarm_type == 1001003 and area: # 内部人员需要执行未带定位卡算法
|
||||||
ep = Employee.objects.filter(id_number=data['info']['extend']['candidateInfo'][0]['id']).first()
|
ep = Employee.objects.filter(id_number=data['info']['extend']['candidateInfo'][0]['id']).first()
|
||||||
# 检查是否携带定位卡只针对内部员工和相关方
|
# 检查是否携带定位卡只针对内部员工和相关方
|
||||||
if 'miss_lcard' in algo_codes and ep:
|
if 'miss_lcard' in algo_codes and ep:
|
||||||
is_happend = check_miss_lcard(ep=ep, area=area)
|
is_happend = check_miss_lcard(ep=ep, area=area)
|
||||||
if is_happend:
|
if is_happend:
|
||||||
cates.append(EventCate.objects.get(code='miss_lcard').first().id)
|
cates.append(EventCate.objects.filter(code='miss_lcard').first().id)
|
||||||
event = Event()
|
event = Event()
|
||||||
event.global_img = save_dahua_pic(global_img_o)
|
event.global_img = save_dahua_pic(global_img_o)
|
||||||
event.area = area
|
event.area = area
|
||||||
|
|
@ -436,7 +436,8 @@ def loc_change(data):
|
||||||
# 触发超时滞留事件
|
# 触发超时滞留事件
|
||||||
code_name = 'stand_area'
|
code_name = 'stand_area'
|
||||||
if code_name: # 2分钟不再次触发
|
if code_name: # 2分钟不再次触发
|
||||||
last_event = Event.objects.filter(cates__code=code_name, employee=blts.employee).order_by('-create_time').first()
|
last_event = Event.objects.filter(
|
||||||
|
cates__code=code_name, employee=blts.employee).order_by('-create_time').first()
|
||||||
if last_event and last_event.create_time + timedelta(minutes=2) > timezone.now():
|
if last_event and last_event.create_time + timedelta(minutes=2) > timezone.now():
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue