소스 검색

网关AI推送批量创建推送数据

locky 1 년 전
부모
커밋
7ebbc181dd
2개의 변경된 파일12개의 추가작업 그리고 2개의 파일을 삭제
  1. 6 1
      Controller/AiController.py
  2. 6 1
      Controller/gatewayController.py

+ 6 - 1
Controller/AiController.py

@@ -153,6 +153,8 @@ class AiView(View):
                 'border_coords': new_bounding_box_dict
             }
 
+            equipment_info_list = []
+            equipment_info_model = EquipmentInfoService.randoms_choice_equipment_info()
             for up in uid_push_list:
                 # 保存推送数据
                 tz = up['tz']
@@ -161,7 +163,7 @@ class AiView(View):
                 user_id = up['userID_id']
                 if user_id not in user_id_list:
                     equipment_info_kwargs['device_user_id'] = user_id
-                    EquipmentInfoService.randoms_insert_equipment_info(**equipment_info_kwargs)
+                    equipment_info_list.append(equipment_info_model(**equipment_info_kwargs))
                     user_id_list.append(user_id)
 
                 # 推送
@@ -207,7 +209,10 @@ class AiView(View):
                 except Exception as e:
                     LOGGING.info('ai推送消息异常,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
                     continue
+
             AiView.save_cloud_ai_tag(uid, int(n_time), event_type)
+            if equipment_info_list:
+                equipment_info_model.objects.bulk_create(equipment_info_list)
             return response.json(0)
 
         except Exception as e:

+ 6 - 1
Controller/gatewayController.py

@@ -109,6 +109,8 @@ class GatewayView(View):
             if not device_info_qs.exists():
                 return response.json(173)
 
+            equipment_info_list = []
+            equipment_info_model = EquipmentInfoService.randoms_choice_equipment_info()
             # 推送表存储数据
             equipment_info_kwargs = {
                 'device_uid': serial_number,
@@ -121,7 +123,7 @@ class GatewayView(View):
             for device_info in device_info_qs:
                 user_id = device_info['userID_id']
                 equipment_info_kwargs['device_user_id'] = user_id
-                EquipmentInfoService.randoms_insert_equipment_info(**equipment_info_kwargs)
+                equipment_info_list.append(equipment_info_model(**equipment_info_kwargs))
 
                 # 查询推送配置数据
                 gateway_push_qs = GatewayPush.objects.filter(user_id=user_id, logout=False). \
@@ -160,6 +162,9 @@ class GatewayView(View):
                         LOGGER.info('网关推送消息异常,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
                         continue
 
+            if equipment_info_list:
+                equipment_info_model.objects.bulk_create(equipment_info_list)
+
             return response.json(0)
         except Exception as e:
             LOGGER.info('---网关推送接口异常--- {}'.format(repr(e)))