Quellcode durchsuchen

增加推送数据表21~40

locky vor 1 Jahr
Ursprung
Commit
8dd6f96a02
4 geänderte Dateien mit 598 neuen und 8 gelöschten Zeilen
  1. 2 1
      Controller/Cron/CronTaskController.py
  2. 1 2
      Controller/TestApi.py
  3. 580 0
      Model/models.py
  4. 15 5
      Service/EquipmentInfoService.py

+ 2 - 1
Controller/Cron/CronTaskController.py

@@ -34,6 +34,7 @@ from Object.ResponseObject import ResponseObject
 from Object.utils import LocalDateTimeUtil
 from Object.utils.PayPalUtil import PayPalService
 from Service.CommonService import CommonService
+from Service.EquipmentInfoService import EQUIPMENT_INFO_MODEL_LIST
 from Service.VodHlsService import SplitVodHlsObject
 from Object.UnicomObject import UnicomObjeect
 from Object.WechatPayObject import WechatPayObject
@@ -300,7 +301,7 @@ class CronDelDataView(View):
         # 每次删除条数
         size = 5000
 
-        for i in range(1, 21):
+        for i in range(1, len(EQUIPMENT_INFO_MODEL_LIST)+1):
             sql = "DELETE FROM equipment_info_{} WHERE add_time< %s LIMIT %s ".format(i)
             cursor.execute(sql, [expiration_time, size])
 

+ 1 - 2
Controller/TestApi.py

@@ -974,8 +974,7 @@ class testView(View):
             LogModel.objects.create(**log)
             return response.json(0, results_data)
         except Exception as e:
-            LOGGER.info("异常详情,errLine:{}, errMsg:{}".format(e.__traceback__.tb_lineno, repr(e)))
-            return response.json(500)
+            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
 
     @classmethod
     def find_device_serial(cls, request_dict, response):

+ 580 - 0
Model/models.py

@@ -915,6 +915,586 @@ class EquipmentInfo20(models.Model):
         app_label = 'PushModel'
 
 
+class EquipmentInfo21(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_21'
+        verbose_name = '推送数据表21'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo22(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_22'
+        verbose_name = '推送数据表22'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo23(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_23'
+        verbose_name = '推送数据表23'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo24(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_24'
+        verbose_name = '推送数据表24'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo25(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_25'
+        verbose_name = '推送数据表25'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo26(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_26'
+        verbose_name = '推送数据表26'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo27(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_27'
+        verbose_name = '推送数据表27'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo28(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_28'
+        verbose_name = '推送数据表28'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo29(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_29'
+        verbose_name = '推送数据表29'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo30(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_30'
+        verbose_name = '推送数据表30'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo31(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_31'
+        verbose_name = '推送数据表31'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo32(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_32'
+        verbose_name = '推送数据表32'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo33(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_33'
+        verbose_name = '推送数据表33'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo34(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_34'
+        verbose_name = '推送数据表34'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo35(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_35'
+        verbose_name = '推送数据表35'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo36(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_36'
+        verbose_name = '推送数据表36'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo37(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_37'
+        verbose_name = '推送数据表37'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo38(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_38'
+        verbose_name = '推送数据表38'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo39(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_39'
+        verbose_name = '推送数据表39'
+        app_label = 'PushModel'
+
+
+class EquipmentInfo40(models.Model):
+    id = models.BigAutoField(primary_key=True, verbose_name='主键')
+    device_user_id = models.CharField(default='', max_length=32, db_index=True, verbose_name='用户id')
+    device_uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='设备uid')
+    device_nick_name = models.CharField(default='', max_length=32, verbose_name='设备昵称')
+    channel = models.PositiveSmallIntegerField(default=1, verbose_name='设备通道')
+    # 0:空字符,1:ai人,2:ai动物,3:车,123:组合类型(人/车/动物),
+    # 51:移动侦测,52:传感器报警,53:影像遗失,54:PIR,55:门磁报警,56:外部发报,57:人型报警,
+    # 702:摄像头休眠,703:摄像头唤醒,704:电量过低
+    event_type = models.IntegerField(default=0, verbose_name='事件类型')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(default='', max_length=128, db_index=True, verbose_name='事件标签')
+    alarm = models.CharField(default='', max_length=256, verbose_name='报警信息')
+    # 0:无图, 1:单图, 3:多图
+    is_st = models.PositiveSmallIntegerField(default=0, verbose_name='图片信息')
+    # 1: 阿里云, 2: AWS
+    storage_location = models.PositiveSmallIntegerField(default=1, verbose_name='存储桶位置')
+    border_coords = models.TextField(default='', verbose_name='ai类型图片边框位置信息')
+    status = models.BooleanField(default=False, verbose_name='已读状态')   # 0: 未读, 1: 已读
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
+    event_time = models.CharField(default='', max_length=10, db_index=True, verbose_name='上报时间')
+    add_time = models.IntegerField(default=0, db_index=True, verbose_name='添加时间')
+
+    class Meta:
+        db_table = 'equipment_info_40'
+        verbose_name = '推送数据表40'
+        app_label = 'PushModel'
+
+
 class PushInaccurateFeedback(models.Model):
     id = models.AutoField(primary_key=True, verbose_name='主键id')
     equipment_info_id = models.CharField(default='', max_length=32, verbose_name='推送表id')

+ 15 - 5
Service/EquipmentInfoService.py

@@ -12,12 +12,22 @@ from django.db.models import Value, CharField, Q
 from Model.models import EquipmentInfo1, EquipmentInfo2, EquipmentInfo3, EquipmentInfo4, EquipmentInfo5, \
     EquipmentInfo6, EquipmentInfo7, EquipmentInfo8, EquipmentInfo9, EquipmentInfo10, \
     EquipmentInfo11, EquipmentInfo12, EquipmentInfo13, EquipmentInfo14, EquipmentInfo15, EquipmentInfo16, \
-    EquipmentInfo17, EquipmentInfo18, EquipmentInfo19, EquipmentInfo20
+    EquipmentInfo17, EquipmentInfo18, EquipmentInfo19, EquipmentInfo20, \
+    EquipmentInfo21, EquipmentInfo22, EquipmentInfo23, EquipmentInfo24, EquipmentInfo25, EquipmentInfo26, \
+    EquipmentInfo27, EquipmentInfo28, EquipmentInfo29, EquipmentInfo30, \
+    EquipmentInfo31, EquipmentInfo32, EquipmentInfo33, EquipmentInfo34, EquipmentInfo35, EquipmentInfo36, \
+    EquipmentInfo37, EquipmentInfo38, EquipmentInfo39, EquipmentInfo40
 
-EQUIPMENT_INFO_MODEL_LIST = [EquipmentInfo1, EquipmentInfo2, EquipmentInfo3, EquipmentInfo4, EquipmentInfo5,
-                             EquipmentInfo6, EquipmentInfo7, EquipmentInfo8, EquipmentInfo9, EquipmentInfo10,
-                             EquipmentInfo11, EquipmentInfo12, EquipmentInfo13, EquipmentInfo14, EquipmentInfo15,
-                             EquipmentInfo16, EquipmentInfo17, EquipmentInfo18, EquipmentInfo19, EquipmentInfo20]
+EQUIPMENT_INFO_MODEL_LIST = [
+    EquipmentInfo1, EquipmentInfo2, EquipmentInfo3, EquipmentInfo4, EquipmentInfo5, EquipmentInfo6,
+    EquipmentInfo7, EquipmentInfo8, EquipmentInfo9, EquipmentInfo10,
+    EquipmentInfo11, EquipmentInfo12, EquipmentInfo13, EquipmentInfo14, EquipmentInfo15, EquipmentInfo16,
+    EquipmentInfo17, EquipmentInfo18, EquipmentInfo19, EquipmentInfo20,
+    EquipmentInfo21, EquipmentInfo22, EquipmentInfo23, EquipmentInfo24, EquipmentInfo25, EquipmentInfo26,
+    EquipmentInfo27, EquipmentInfo28, EquipmentInfo29, EquipmentInfo30,
+    EquipmentInfo31, EquipmentInfo32, EquipmentInfo33, EquipmentInfo34, EquipmentInfo35, EquipmentInfo36,
+    EquipmentInfo37, EquipmentInfo38, EquipmentInfo39, EquipmentInfo40
+]
 
 
 class EquipmentInfoService: