Browse Source

新增20个推送表

locky 1 năm trước cách đây
mục cha
commit
0b36b46cbd
3 tập tin đã thay đổi với 619 bổ sung14 xóa
  1. 0 4
      Controller/Cron/CronTaskController.py
  2. 580 0
      Model/models.py
  3. 39 10
      Service/EquipmentInfoService.py

+ 0 - 4
Controller/Cron/CronTaskController.py

@@ -7,10 +7,6 @@ from django.views import View
 
 from Object.RedisObject import RedisObject
 from Object.ResponseObject import ResponseObject
-from Model.models import EquipmentInfo1, EquipmentInfo2, EquipmentInfo3, \
-    EquipmentInfo4, EquipmentInfo5, EquipmentInfo6, EquipmentInfo7, EquipmentInfo8, EquipmentInfo9, EquipmentInfo10, \
-    EquipmentInfo11, EquipmentInfo12, EquipmentInfo13, EquipmentInfo14, EquipmentInfo15, EquipmentInfo16, \
-    EquipmentInfo17, EquipmentInfo18, EquipmentInfo19, EquipmentInfo20
 from Service.EquipmentInfoService import EQUIPMENT_INFO_DICT, EQUIPMENT_INFO_KEY_LIST
 
 # 每次写入的数据条数

+ 580 - 0
Model/models.py

@@ -890,6 +890,586 @@ class EquipmentInfo20(models.Model):
         app_label = 'db2'
 
 
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
+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 = 'db2'
+
+
 class Ai_Push_Info(models.Model):
     id = models.AutoField(primary_key=True, verbose_name=u'自增标记ID')
     devUid = models.CharField(default='', db_index=True, blank=True, max_length=32, verbose_name=u'设备ID')

+ 39 - 10
Service/EquipmentInfoService.py

@@ -12,19 +12,33 @@ from AnsjerPush.config import LOGGER
 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_LIST = [
     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_KEY_LIST = [
     '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_DICT = {
     'EquipmentInfo1': EquipmentInfo1,
     'EquipmentInfo2': EquipmentInfo2,
@@ -45,7 +59,27 @@ EQUIPMENT_INFO_DICT = {
     'EquipmentInfo17': EquipmentInfo17,
     'EquipmentInfo18': EquipmentInfo18,
     'EquipmentInfo19': EquipmentInfo19,
-    'EquipmentInfo20': EquipmentInfo20
+    'EquipmentInfo20': EquipmentInfo20,
+    'EquipmentInfo21': EquipmentInfo21,
+    'EquipmentInfo22': EquipmentInfo22,
+    'EquipmentInfo23': EquipmentInfo23,
+    'EquipmentInfo24': EquipmentInfo24,
+    'EquipmentInfo25': EquipmentInfo25,
+    'EquipmentInfo26': EquipmentInfo26,
+    'EquipmentInfo27': EquipmentInfo27,
+    'EquipmentInfo28': EquipmentInfo28,
+    'EquipmentInfo29': EquipmentInfo29,
+    'EquipmentInfo30': EquipmentInfo30,
+    'EquipmentInfo31': EquipmentInfo31,
+    'EquipmentInfo32': EquipmentInfo32,
+    'EquipmentInfo33': EquipmentInfo33,
+    'EquipmentInfo34': EquipmentInfo34,
+    'EquipmentInfo35': EquipmentInfo35,
+    'EquipmentInfo36': EquipmentInfo36,
+    'EquipmentInfo37': EquipmentInfo37,
+    'EquipmentInfo38': EquipmentInfo38,
+    'EquipmentInfo39': EquipmentInfo39,
+    'EquipmentInfo40': EquipmentInfo40
 }
 
 
@@ -56,13 +90,8 @@ class EquipmentInfoService:
         """
         随机一个推送数据表存储数据
         """
-        equipment_info_list = [
-            EquipmentInfo1, EquipmentInfo2, EquipmentInfo3, EquipmentInfo4, EquipmentInfo5, EquipmentInfo6,
-            EquipmentInfo7, EquipmentInfo8, EquipmentInfo9, EquipmentInfo10,
-            EquipmentInfo11, EquipmentInfo12, EquipmentInfo13, EquipmentInfo14, EquipmentInfo15, EquipmentInfo16,
-            EquipmentInfo17, EquipmentInfo18, EquipmentInfo19, EquipmentInfo20]
         try:
-            random_model = random.choice(equipment_info_list)
+            random_model = random.choice(EQUIPMENT_INFO_LIST)
             LOGGER.info('随机存表参数:{},表:{}'.format(kwargs, random_model))
             random_model.objects.create(**kwargs)
         except Exception as e: