diff --git a/apps/ecm/service.py b/apps/ecm/service.py index 3d581800..1d754465 100644 --- a/apps/ecm/service.py +++ b/apps/ecm/service.py @@ -718,24 +718,25 @@ def snap_and_analyse(vchannel: TDevice, algo_codes: list, opl: Opl = None): ecs = [cate for cate in ecs if check_same_allow_minute_and_raise_event( cate, ep, None, obj_cate) is True] - event = Event() - event.global_img = ec_codes['global_img'] if ec_codes.get( - 'global_img', None) else save_dahua_pic(global_img_o) - event.global_img_compressed = compress_global_img(event.global_img) - event.vchannel = vchannel - event.area = vchannel.area - event.obj_cate = obj_cate - event.employee = ep - event.happen_time = happen_time - event.opl = opl - event.save() - for i in ecs: - Eventdo.objects.get_or_create(cate=i, event=event, defaults={ - 'cate': i, - 'event': event - }) - if event: - notify_event(event) + if ecs: + event = Event() + event.global_img = ec_codes['global_img'] if ec_codes.get( + 'global_img', None) else save_dahua_pic(global_img_o) + event.global_img_compressed = compress_global_img(event.global_img) + event.vchannel = vchannel + event.area = vchannel.area + event.obj_cate = obj_cate + event.employee = ep + event.happen_time = happen_time + event.opl = opl + event.save() + for i in ecs: + Eventdo.objects.get_or_create(cate=i, event=event, defaults={ + 'cate': i, + 'event': event + }) + if event: + notify_event(event) def handle_xx_event_3(name: str, area: Area):