Forráskód Böngészése

新增算法小店新版数据表、智能插座数据表、推送标签字段、超级密码语言字段

zhangdongming 2 éve
szülő
commit
c8975e90d1
1 módosított fájl, 155 hozzáadás és 2 törlés
  1. 155 2
      Model/models.py

+ 155 - 2
Model/models.py

@@ -347,12 +347,15 @@ class EquipmentInfoMonday(models.Model):
                                                   u'702:摄像头休眠,703:摄像头唤醒,'
                                                   u'704:电量过低)')
     status = models.BooleanField(blank=True, default=False, verbose_name=u'事件状态(0,1)')
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
     alarm = models.CharField(blank=True, max_length=256, verbose_name=u'报警信息')
     event_time = models.CharField(blank=True, db_index=True, default='', max_length=16, verbose_name=u'设备报警时间')
     receive_time = models.CharField(blank=True, default='', max_length=16, verbose_name=u'接收到报警时间')
     is_st = models.SmallIntegerField(default=0, verbose_name='是否截图(0:否,1:图片,2:视频)')  # 0 否,1 是图,2,视频
     storage_location = models.SmallIntegerField(default=1, verbose_name='数据信息存储位置。1:阿里云oss,2:aws')
     border_coords = models.TextField(default='', blank=True, verbose_name=u'ai类型图片边框位置信息')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(blank=True, default='', db_index=True, max_length=128, verbose_name=u'事件标签')
     add_time = models.IntegerField(verbose_name='添加时间', db_index=True, default=0)
 
     def __str__(self):
@@ -378,12 +381,15 @@ class EquipmentInfoTuesday(models.Model):
                                                   u'702:摄像头休眠,703:摄像头唤醒,'
                                                   u'704:电量过低)')
     status = models.BooleanField(blank=True, default=False, verbose_name=u'事件状态(0,1)')
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
     alarm = models.CharField(blank=True, max_length=256, verbose_name=u'报警信息')
     event_time = models.CharField(blank=True, db_index=True, default='', max_length=16, verbose_name=u'设备报警时间')
     receive_time = models.CharField(blank=True, default='', max_length=16, verbose_name=u'接收到报警时间')
     is_st = models.SmallIntegerField(default=0, verbose_name='是否截图(0:否,1:图片,2:视频)')  # 0 否,1 是图,2,视频
     storage_location = models.SmallIntegerField(default=1, verbose_name='数据信息存储位置。1:阿里云oss,2:aws')
     border_coords = models.TextField(default='', blank=True, verbose_name=u'ai类型图片边框位置信息')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(blank=True, default='', db_index=True, max_length=128, verbose_name=u'事件标签')
     add_time = models.IntegerField(verbose_name='添加时间', db_index=True, default=0)
 
     def __str__(self):
@@ -409,12 +415,15 @@ class EquipmentInfoWednesday(models.Model):
                                                   u'702:摄像头休眠,703:摄像头唤醒,'
                                                   u'704:电量过低)')
     status = models.BooleanField(blank=True, default=False, verbose_name=u'事件状态(0,1)')
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
     alarm = models.CharField(blank=True, max_length=256, verbose_name=u'报警信息')
     event_time = models.CharField(blank=True, db_index=True, default='', max_length=16, verbose_name=u'设备报警时间')
     receive_time = models.CharField(blank=True, default='', max_length=16, verbose_name=u'接收到报警时间')
     is_st = models.SmallIntegerField(default=0, verbose_name='是否截图(0:否,1:图片,2:视频)')  # 0 否,1 是图,2,视频
     storage_location = models.SmallIntegerField(default=1, verbose_name='数据信息存储位置。1:阿里云oss,2:aws')
     border_coords = models.TextField(default='', blank=True, verbose_name=u'ai类型图片边框位置信息')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(blank=True, default='', db_index=True, max_length=128, verbose_name=u'事件标签')
     add_time = models.IntegerField(verbose_name='添加时间', db_index=True, default=0)
 
     def __str__(self):
@@ -440,12 +449,15 @@ class EquipmentInfoThursday(models.Model):
                                                   u'702:摄像头休眠,703:摄像头唤醒,'
                                                   u'704:电量过低)')
     status = models.BooleanField(blank=True, default=False, verbose_name=u'事件状态(0,1)')
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
     alarm = models.CharField(blank=True, max_length=256, verbose_name=u'报警信息')
     event_time = models.CharField(blank=True, db_index=True, default='', max_length=16, verbose_name=u'设备报警时间')
     receive_time = models.CharField(blank=True, default='', max_length=16, verbose_name=u'接收到报警时间')
     is_st = models.SmallIntegerField(default=0, verbose_name='是否截图(0:否,1:图片,2:视频)')  # 0 否,1 是图,2,视频
     storage_location = models.SmallIntegerField(default=1, verbose_name='数据信息存储位置。1:阿里云oss,2:aws')
     border_coords = models.TextField(default='', blank=True, verbose_name=u'ai类型图片边框位置信息')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(blank=True, default='', db_index=True, max_length=128, verbose_name=u'事件标签')
     add_time = models.IntegerField(verbose_name='添加时间', db_index=True, default=0)
 
     def __str__(self):
@@ -471,12 +483,15 @@ class EquipmentInfoFriday(models.Model):
                                                   u'702:摄像头休眠,703:摄像头唤醒,'
                                                   u'704:电量过低)')
     status = models.BooleanField(blank=True, default=False, verbose_name=u'事件状态(0,1)')
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
     alarm = models.CharField(blank=True, max_length=256, verbose_name=u'报警信息')
     event_time = models.CharField(blank=True, db_index=True, default='', max_length=16, verbose_name=u'设备报警时间')
     receive_time = models.CharField(blank=True, default='', max_length=16, verbose_name=u'接收到报警时间')
     is_st = models.SmallIntegerField(default=0, verbose_name='是否截图(0:否,1:图片,2:视频)')  # 0 否,1 是图,2,视频
     storage_location = models.SmallIntegerField(default=1, verbose_name='数据信息存储位置。1:阿里云oss,2:aws')
     border_coords = models.TextField(default='', blank=True, verbose_name=u'ai类型图片边框位置信息')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(blank=True, default='', db_index=True, max_length=128, verbose_name=u'事件标签')
     add_time = models.IntegerField(verbose_name='添加时间', db_index=True, default=0)
 
     def __str__(self):
@@ -502,12 +517,15 @@ class EquipmentInfoSaturday(models.Model):
                                                   u'702:摄像头休眠,703:摄像头唤醒,'
                                                   u'704:电量过低)')
     status = models.BooleanField(blank=True, default=False, verbose_name=u'事件状态(0,1)')
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
     alarm = models.CharField(blank=True, max_length=256, verbose_name=u'报警信息')
     event_time = models.CharField(blank=True, db_index=True, default='', max_length=16, verbose_name=u'设备报警时间')
     receive_time = models.CharField(blank=True, default='', max_length=16, verbose_name=u'接收到报警时间')
     is_st = models.SmallIntegerField(default=0, verbose_name='是否截图(0:否,1:图片,2:视频)')  # 0 否,1 是图,2,视频
     storage_location = models.SmallIntegerField(default=1, verbose_name='数据信息存储位置。1:阿里云oss,2:aws')
     border_coords = models.TextField(default='', blank=True, verbose_name=u'ai类型图片边框位置信息')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(blank=True, default='', db_index=True, max_length=128, verbose_name=u'事件标签')
     add_time = models.IntegerField(verbose_name='添加时间', db_index=True, default=0)
 
     def __str__(self):
@@ -533,12 +551,15 @@ class EquipmentInfoSunday(models.Model):
                                                   u'702:摄像头休眠,703:摄像头唤醒,'
                                                   u'704:电量过低)')
     status = models.BooleanField(blank=True, default=False, verbose_name=u'事件状态(0,1)')
+    answer_status = models.BooleanField(default=False, verbose_name='接听状态')  # 0: 未接听,1: 已接听
     alarm = models.CharField(blank=True, max_length=256, verbose_name=u'报警信息')
     event_time = models.CharField(blank=True, db_index=True, default='', max_length=16, verbose_name=u'设备报警时间')
     receive_time = models.CharField(blank=True, default='', max_length=16, verbose_name=u'接收到报警时间')
     is_st = models.SmallIntegerField(default=0, verbose_name='是否截图(0:否,1:图片,2:视频)')  # 0 否,1 是图,2,视频
     storage_location = models.SmallIntegerField(default=1, verbose_name='数据信息存储位置。1:阿里云oss,2:aws')
     border_coords = models.TextField(default='', blank=True, verbose_name=u'ai类型图片边框位置信息')
+    # (51,)表示一个事件标签。(51,57,)两个事件标签
+    event_tag = models.CharField(blank=True, default='', db_index=True, max_length=128, verbose_name=u'事件标签')
     add_time = models.IntegerField(verbose_name='添加时间', db_index=True, default=0)
 
     def __str__(self):
@@ -1444,6 +1465,9 @@ class UidChannelSetModel(models.Model):
     voice_end_time = models.IntegerField(default=0, verbose_name='语音执行的结束时间')
     voice_repeat_day = models.IntegerField(default=127, verbose_name='语音执行的日期,周几')
     voice_direction = models.IntegerField(default=0, verbose_name='语音方向。')
+    # 0:移动侦测,1:人形检测,2:挥手识别,3:人脸检测,4:异声感知,5:车辆检测,7:宠物检测,6:哭声检测,8:徘徊检测
+    # 9:区域闯入,10:区域闯出,11:长时间无人检测,12:往来检测,13:云相册
+    algorithm_type = models.SmallIntegerField(default=99, verbose_name='关联算法类型')
 
     class Meta:
         db_table = 'uid_channel'
@@ -1850,6 +1874,9 @@ class VoicePromptModel(models.Model):
     classification = models.SmallIntegerField(default=1, verbose_name='语音分类。0:系统,1:自定义')
     add_time = models.IntegerField(default=0, verbose_name='添加时间')
     uid = models.CharField(max_length=20, default='0', verbose_name='关联设备UID')
+    # 0:移动侦测,1:人形检测,2:挥手识别,3:人脸检测,4:异声感知,5:车辆检测,7:宠物检测,6:哭声检测,8:徘徊检测
+    # 9:区域闯入,10:区域闯出,11:长时间无人检测,12:往来检测,13:云相册
+    algorithm_type = models.SmallIntegerField(default=99, verbose_name='关联算法类型')
     channel = models.IntegerField(default=0, verbose_name='通道号')
     status = models.SmallIntegerField(default=1, verbose_name='是否启用。0:不启用,1:启用')
 
@@ -2135,6 +2162,7 @@ class CountryModel(models.Model):
     region = models.ForeignKey(RegionModel, to_field='id', on_delete=models.DO_NOTHING, verbose_name='关联区域表')
     country_code = models.CharField(max_length=2, default='', verbose_name='国家iso2代码')
     country_name = models.CharField(max_length=20, default='', verbose_name='国家名')
+    international_area_code = models.IntegerField(default=0, verbose_name='国际区号')
 
     class Meta:
         db_table = 'tb_country'
@@ -2997,12 +3025,63 @@ class UnicomFlowPush(models.Model):
         app_label = "PushModel"
 
 
+class DeviceAppScenario(models.Model):
+    id = models.AutoField(primary_key=True)
+    # 0:用作显示banner图使用,1:店铺,2:照看长辈,3:看护儿童,4:逗宠专属
+    type = models.SmallIntegerField(default=0, verbose_name='场景类型')
+    sort = models.SmallIntegerField(default=0, verbose_name=u'排序,越小越靠前')
+    cver_url = models.CharField(max_length=128, default='', verbose_name='封面图地址')
+    banner_url = models.CharField(max_length=128, default='', verbose_name='横幅图片地址')
+    created_time = models.IntegerField(default=0, verbose_name='创建时间')
+    updated_time = models.IntegerField(default=0, verbose_name='修改时间')
+
+    class Meta:
+        db_table = 'device_app_scenario'
+        verbose_name = '设备应用场景'
+        verbose_name_plural = verbose_name
+
+
+class DeviceScenarioLangInfo(models.Model):
+    id = models.AutoField(primary_key=True)
+    name = models.CharField(max_length=32, default='', verbose_name='场景内容')
+    content = models.CharField(max_length=100, default='', verbose_name='场景内容')
+    scenario_id = models.IntegerField(default=0, verbose_name=u'应用场景id')
+    lang = models.CharField(default='', max_length=20, db_index=True, verbose_name='语言/国家')
+    created_time = models.IntegerField(default=0, verbose_name='创建时间')
+    updated_time = models.IntegerField(default=0, verbose_name='修改时间')
+
+    class Meta:
+        db_table = 'device_scenario_lang_info'
+        verbose_name = '设备场景语言信息'
+        verbose_name_plural = verbose_name
+
+
+class DeviceAlgorithmScenario(models.Model):
+    id = models.AutoField(primary_key=True)
+    algorithm_id = models.IntegerField(default=0, db_index=True, verbose_name='算法id')
+    scenario_id = models.IntegerField(default=0, db_index=True, verbose_name='场景id')
+    sort = models.IntegerField(default=99, verbose_name=u'排序,越小越靠前')
+    created_time = models.IntegerField(default=0, verbose_name='创建时间')
+    updated_time = models.IntegerField(default=0, verbose_name='修改时间')
+
+    class Meta:
+        db_table = 'device_algorithm_scenario'
+        verbose_name = '设备算法关联应用场景'
+        verbose_name_plural = verbose_name
+
+
 class DeviceAlgorithmType(models.Model):
     id = models.AutoField(primary_key=True)
-    # 0:移动侦测,1:人形检测,2:挥手识别,3:人脸检测,4:异声感知,5:车辆检测,6:宠物检测,7:绊线入侵,8:离岗检测,9:徘徊检测
+    # 0:移动侦测,1:人形检测,2:挥手识别,3:人脸检测,4:异声感知,5:车辆检测,7:宠物检测,6:哭声检测,8:徘徊检测
+    # 9:区域闯入,10:区域闯出,11:长时间无人检测,12:往来检测,13:云相册
     type = models.SmallIntegerField(default=0, verbose_name='算法类型')
     memory = models.CharField(max_length=32, default='', verbose_name='所需内存')
     down_count = models.IntegerField(default=0, verbose_name='下载次数')
+    # 0:默认,1:HOT,2:Beta
+    tag = models.SmallIntegerField(default=0, verbose_name='标签')
+    # 0:免费,1:限时免费,2:付费
+    status = models.SmallIntegerField(default=0, verbose_name='算法使用状态')
+    expire_time = models.IntegerField(verbose_name='限时免费到期时间', default=0)
     sort = models.IntegerField(default=0, verbose_name=u'排序,越小越靠前')
     basic_function = models.TextField(blank=True, default='', verbose_name=u'基础功能(json格式)')
     image_url = models.CharField(max_length=255, default='', verbose_name='图片地址')
@@ -3037,6 +3116,7 @@ class DeviceAlgorithmExplain(models.Model):
                                        verbose_name=u'关联算法类型')
     title = models.CharField(max_length=32, default='', verbose_name='标题')
     subtitle = models.CharField(max_length=100, default='', verbose_name='副标题')
+    price = models.DecimalField(default=0, max_digits=10, decimal_places=2, verbose_name='价格')
     introduction = models.TextField(blank=True, default='', verbose_name='功能介绍')
     install_explain = models.TextField(blank=True, default='', verbose_name=u'安装说明')
     concerning = models.CharField(blank=True, max_length=64, default='', verbose_name=u'关于(文本标题)')
@@ -3324,11 +3404,12 @@ class DeviceSuperPassword(models.Model):
     id = models.AutoField(primary_key=True, verbose_name='自增id')
     uid = models.CharField(blank=True, db_index=True, max_length=32, verbose_name=u'设备UID')
     userID = models.ForeignKey(Device_User, blank=True, to_field='userID', on_delete=models.CASCADE)
+    lang = models.CharField(default='', max_length=20, db_index=True, verbose_name='语言/国家')
     orderID = models.CharField(max_length=30, db_index=True, verbose_name='订单ID', blank=True, default='')
     describe = models.CharField(max_length=128, blank=True, verbose_name='需求描述', default=0)
     purchase_channel = models.CharField(max_length=128, blank=True, verbose_name='购买渠道描述', default='')
     addTime = models.IntegerField(default=0, verbose_name='添加时间')
-    status = models.SmallIntegerField(default=0, verbose_name='0:未通过,1:通过')
+    status = models.SmallIntegerField(default=0, verbose_name=u'状态{0:未通过,1:通过}')
     buyTime = models.IntegerField(default=0, verbose_name='购买时间')
     hint = models.CharField(max_length=128, blank=True, verbose_name='温馨提示', default='')
 
@@ -3376,3 +3457,75 @@ class TestSerialRepetition(models.Model):
         verbose_name = '测试序列号重复问题'
         verbose_name_plural = verbose_name
 
+
+class TestDeviceFindSerial(models.Model):
+    id = models.AutoField(primary_key=True, verbose_name='自增id')
+    serial_number = models.CharField(blank=True, db_index=True, max_length=20, default='',
+                                     verbose_name='序列号')
+    firmware_time_code = models.CharField(max_length=128, unique=True, default='', verbose_name='PC固件码+时间')
+    created_time = models.IntegerField(default=0, verbose_name='创建时间')
+
+    class Meta:
+        db_table = 'test_device_find_serial'
+        verbose_name = '查找设备序列号'
+        verbose_name_plural = verbose_name
+
+
+class SocketPowerStatistics(models.Model):
+    id = models.AutoField(primary_key=True, verbose_name='自增id')
+    device_id = models.CharField(max_length=32, default='', verbose_name='设备id')
+    serial_number = models.CharField(db_index=True, max_length=20, default='',
+                                     verbose_name='序列号')
+    electricity = models.DecimalField(default=0, max_digits=10, decimal_places=6, verbose_name='设备当日用电KWh')
+    # 设备根据策略上报的w值,然后当日存在数据则累加
+    watt = models.DecimalField(default=0, max_digits=10, decimal_places=2, verbose_name='每分钟消耗功率(瓦)')
+    power = models.DecimalField(default=0, max_digits=10, decimal_places=2, verbose_name='负载功率w')
+    accumulated_time = models.SmallIntegerField(default=0, verbose_name='当天累计时长(分钟)')
+    created_time = models.IntegerField(default=0, verbose_name='创建时间')
+    updated_time = models.IntegerField(default=0, verbose_name='创建时间')
+
+    class Meta:
+        db_table = 's_socket_power_statistics'
+        verbose_name = '插座电量统计'
+        verbose_name_plural = verbose_name
+
+
+class SocketInfo(models.Model):
+    id = models.AutoField(primary_key=True, verbose_name='自增id')
+    device_id = models.CharField(max_length=32, default='', verbose_name='设备id')
+    serial_number = models.CharField(db_index=True, max_length=20,
+                                     verbose_name='序列号')
+    online = models.BooleanField(default=False, verbose_name='在线状态False:不在线,True:在线')
+    type_switch = models.SmallIntegerField(default=0,
+                                           verbose_name='开关类型 0:总开关,1:倒计时开关')
+    status = models.BooleanField(default=False, verbose_name='开关状态 0:关闭,1:开启')
+    start = models.BooleanField(default=False, verbose_name='倒计时状态 0:关闭,1:开启')
+    count_down_time = models.IntegerField(default=0, verbose_name='倒计时时间戳')
+    created_time = models.IntegerField(default=0, verbose_name='创建时间')
+    updated_time = models.IntegerField(default=0, verbose_name='创建时间')
+
+    class Meta:
+        db_table = 's_socket_info'
+        verbose_name = '插座信息'
+        verbose_name_plural = verbose_name
+
+
+class SocketSchedule(models.Model):
+    id = models.AutoField(primary_key=True, verbose_name='自增id')
+    device_id = models.CharField(max_length=32, default='', verbose_name='设备id')
+    serial_number = models.CharField(db_index=True, max_length=20, default='',
+                                     verbose_name='序列号')
+    time_type = models.SmallIntegerField(default=0, verbose_name='排查时间类型 1:按时间 2:按时间段划分')
+    switch_status = models.BooleanField(default=False, verbose_name='开关状态 0:关闭,1:开启')
+    task_status = models.BooleanField(default=False, verbose_name='任务状态状态 0:关闭,1:启动')
+    start_time = models.IntegerField(default=0, verbose_name='开始时间')
+    end_time = models.IntegerField(default=0, verbose_name='结束时间')
+    repeat = models.SmallIntegerField(default=0,
+                                      verbose_name='重复周期用数值表示 设备转二进制例127则二进制1111111')
+    created_time = models.IntegerField(default=0, verbose_name='创建时间')
+    updated_time = models.IntegerField(default=0, verbose_name='创建时间')
+
+    class Meta:
+        db_table = 's_socket_schedule'
+        verbose_name = '插座排程'
+        verbose_name_plural = verbose_name