|
@@ -1184,6 +1184,7 @@ class UidSetModel(models.Model):
|
|
|
is_human = models.IntegerField(default=0, verbose_name='是否支持人形追踪。0:不支持,1:支持')
|
|
|
is_custom_voice = models.IntegerField(default=0, verbose_name='是否支持自定义语音。0:不支持,1:支持')
|
|
|
double_wifi = models.IntegerField(default=0, verbose_name='是否支持双频wifi。0:不支持,1:支持')
|
|
|
+ mobile_4g = models.IntegerField(default=0, verbose_name='是否支持4g。0:不支持,1:支持')
|
|
|
is_ptz = models.IntegerField(default=0, verbose_name='是否支持云台。0:不支持,1:支持')
|
|
|
is_ai = models.IntegerField(default=2, verbose_name='是否支持ai') # 0,关闭,1开启,2,不支持
|
|
|
is_notification = models.IntegerField(blank=True, default=1, verbose_name='新加-消息提醒开关') # 0:关闭,1:开启
|
|
@@ -1218,6 +1219,25 @@ class UidPushModel(models.Model):
|
|
|
ordering = ('-id',)
|
|
|
|
|
|
|
|
|
+class GatewayPush(models.Model):
|
|
|
+ id = models.AutoField(primary_key=True, verbose_name='自增id')
|
|
|
+ user_id = models.CharField(default='', max_length=32, verbose_name=u'用户id')
|
|
|
+ app_bundle_id = models.CharField(default='', max_length=32, verbose_name=u'app包id')
|
|
|
+ app_type = models.IntegerField(default=0, verbose_name=u'app类型') # 1: ios, 2: 安卓
|
|
|
+ push_type = models.IntegerField(default=0, verbose_name=u'推送类型') # 0: apns, 1: 安卓gcm, 2: 极光
|
|
|
+ token_val = models.CharField(default='', max_length=500, verbose_name=u'设备验证令牌')
|
|
|
+ m_code = models.CharField(default='', max_length=64, verbose_name='手机唯一标识')
|
|
|
+ lang = models.CharField(default='en', max_length=8, verbose_name='推送语言')
|
|
|
+ tz = models.CharField(default='0', max_length=8, verbose_name='时区')
|
|
|
+ logout = models.BooleanField(default=False, verbose_name=u'退出登录')
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ db_table = 'gateway_push'
|
|
|
+ verbose_name = '网关推送'
|
|
|
+ verbose_name_plural = verbose_name
|
|
|
+ app_label = 'PushModel'
|
|
|
+
|
|
|
+
|
|
|
# 设备通道配置
|
|
|
class UidChannelSetModel(models.Model):
|
|
|
id = models.AutoField(primary_key=True, verbose_name='自增id')
|
|
@@ -2016,25 +2036,23 @@ class UIDCompanySerialModel(models.Model):
|
|
|
|
|
|
class iotdeviceInfoModel(models.Model):
|
|
|
id = models.AutoField(primary_key=True)
|
|
|
- serial_number = models.CharField(max_length=11, blank=True, default='', db_index=True,
|
|
|
- verbose_name=u'关联Device_Info表的序列号')
|
|
|
- uid = models.CharField(blank=True, max_length=32, default='', db_index=True, verbose_name=u'设备UID')
|
|
|
- certificate_id = models.CharField(blank=True, max_length=256, default='', verbose_name=u'证书id')
|
|
|
- certificate_pem = models.TextField(blank=True, default='', verbose_name=u'证书项目')
|
|
|
- public_key = models.TextField(blank=True, default='', verbose_name=u'公有密钥')
|
|
|
- private_key = models.TextField(blank=True, default='', verbose_name=u'私有密钥')
|
|
|
- thing_name = models.CharField(blank=True, max_length=256, default='', verbose_name=u'IoT Thing Name')
|
|
|
- thing_groups = models.CharField(blank=True, max_length=256, default='', verbose_name=u'IoT Thing Groups')
|
|
|
- endpoint = models.CharField(blank=True, max_length=256, db_index=True, default='', verbose_name=u'iot端点')
|
|
|
- token_iot_number = models.CharField(blank=True, db_index=True, default='', max_length=50, verbose_name='连接iot令牌')
|
|
|
- add_time = models.DateTimeField(blank=True, auto_now_add=True, verbose_name=u'添加时间')
|
|
|
- update_time = models.DateTimeField(blank=True, auto_now=True, verbose_name=u'更新时间')
|
|
|
+ serial_number = models.CharField(default='', max_length=9, db_index=True, verbose_name='序列号')
|
|
|
+ uid = models.CharField(default='', max_length=32, db_index=True, verbose_name='uid')
|
|
|
+ certificate_id = models.CharField(default='', max_length=128, verbose_name='证书id')
|
|
|
+ certificate_pem = models.TextField(default='', verbose_name='证书')
|
|
|
+ public_key = models.TextField(default='', verbose_name='公钥')
|
|
|
+ private_key = models.TextField(default='', verbose_name='私钥')
|
|
|
+ thing_name = models.CharField(default='', max_length=64, db_index=True, verbose_name='物品名')
|
|
|
+ thing_groups = models.CharField(default='', max_length=64, verbose_name='物品组')
|
|
|
+ endpoint = models.CharField(default='', max_length=100, db_index=True, verbose_name='终端节点')
|
|
|
+ token_iot_number = models.CharField(default='', db_index=True, max_length=50, verbose_name='签名令牌')
|
|
|
+ add_time = models.DateTimeField(auto_now_add=True, verbose_name='添加时间')
|
|
|
+ update_time = models.DateTimeField(auto_now=True, verbose_name='更新时间')
|
|
|
|
|
|
class Meta:
|
|
|
db_table = 'iot_deviceInfo'
|
|
|
verbose_name = 'iot设备信息表'
|
|
|
verbose_name_plural = verbose_name
|
|
|
- ordering = ('-add_time',)
|
|
|
|
|
|
|
|
|
class UIDMainUser(models.Model):
|
|
@@ -2538,7 +2556,8 @@ class GatewaySubDevice(models.Model):
|
|
|
ieee_addr = models.CharField(default='', max_length=64, verbose_name=u'长地址')
|
|
|
src_addr = models.CharField(default='', max_length=16, verbose_name=u'短地址')
|
|
|
status = models.SmallIntegerField(default=0, verbose_name='状态') # 0:关闭, 1:开启
|
|
|
- is_tampered = models.SmallIntegerField(default=0, verbose_name='拆动状态') # 0:正常, 1:被拆动
|
|
|
+ # 0:正常, 1:被拆动, 智能按钮紧急开关状态: 0:关闭, 1:开启
|
|
|
+ is_tampered = models.SmallIntegerField(default=0, verbose_name='拆动状态')
|
|
|
mac = models.CharField(default='', max_length=32, verbose_name=u'mac地址')
|
|
|
device_model = models.CharField(default='', max_length=16, verbose_name=u'设备型号')
|
|
|
manufacturer = models.CharField(default='', max_length=16, verbose_name=u'制造商')
|
|
@@ -2562,6 +2581,8 @@ class FamilyRoomDevice(models.Model):
|
|
|
verbose_name='关联设备信息id')
|
|
|
sub_device = models.IntegerField(default=0, blank=True, verbose_name='关联子设备信息id')
|
|
|
sort = models.IntegerField(default=0, blank=True, verbose_name=u'排序,越小越靠前')
|
|
|
+ category = models.SmallIntegerField(default=0, verbose_name='类别{0:网关传感器类;1:摄像头类}')
|
|
|
+ category_sort = models.IntegerField(default=0, blank=True, verbose_name='类别排序')
|
|
|
updated_time = models.IntegerField(default=0, verbose_name='更新时间')
|
|
|
created_time = models.IntegerField(default=0, verbose_name='创建时间')
|
|
|
|
|
@@ -2603,16 +2624,70 @@ class SensorRecord(models.Model):
|
|
|
app_label = 'PushModel'
|
|
|
|
|
|
|
|
|
+class SmartScene(models.Model):
|
|
|
+ id = models.AutoField(primary_key=True, verbose_name=u'自增标记id')
|
|
|
+ user = models.ForeignKey(Device_User, to_field='userID', default='', on_delete=models.CASCADE,
|
|
|
+ verbose_name='关联用户表id')
|
|
|
+ device_id = models.CharField(default='', max_length=32, verbose_name=u'关联设备信息id')
|
|
|
+ sub_device_id = models.IntegerField(default=0, verbose_name=u'关联子设备表id')
|
|
|
+ scene_name = models.CharField(default='', max_length=100, verbose_name=u'场景名称')
|
|
|
+ conditions = models.TextField(default='', verbose_name=u'条件')
|
|
|
+ tasks = models.TextField(default='', verbose_name=u'任务')
|
|
|
+ is_all_day = models.SmallIntegerField(default=0, verbose_name=u'是否全天') # 0: 不设置时间, 1: 全天, 2: 非全天
|
|
|
+ effective_time_id = models.IntegerField(default=0, verbose_name=u'关联场景执行时间id')
|
|
|
+ is_enable = models.BooleanField(default=True, verbose_name=u'是否开启')
|
|
|
+ device_data = models.TextField(default='', verbose_name=u'设备场景数据')
|
|
|
+ created_time = models.IntegerField(default=0, verbose_name='创建时间')
|
|
|
+ updated_time = models.IntegerField(default=0, verbose_name='更新时间')
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ db_table = 'smart_scene'
|
|
|
+ verbose_name = '智能场景'
|
|
|
+ verbose_name_plural = verbose_name
|
|
|
+
|
|
|
+
|
|
|
+class EffectiveTime(models.Model):
|
|
|
+ id = models.AutoField(primary_key=True, verbose_name=u'自增标记id')
|
|
|
+ start_time = models.SmallIntegerField(default=0, verbose_name=u'开始时间')
|
|
|
+ end_time = models.SmallIntegerField(default=0, verbose_name=u'结束时间')
|
|
|
+ repeat = models.SmallIntegerField(default=0, verbose_name=u'重复周期')
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ db_table = 'effective_time'
|
|
|
+ verbose_name = '场景执行时间'
|
|
|
+ verbose_name_plural = verbose_name
|
|
|
+
|
|
|
+
|
|
|
+class SceneLog(models.Model):
|
|
|
+ id = models.AutoField(primary_key=True, verbose_name='自增标记ID')
|
|
|
+ scene_name = models.CharField(default='', max_length=100, verbose_name='场景名称')
|
|
|
+ scene_id = models.IntegerField(default=0, verbose_name='关联场景id')
|
|
|
+ device_id = models.CharField(default='', max_length=32, verbose_name='关联网关id')
|
|
|
+ sub_device_id = models.IntegerField(default=0, verbose_name='关联子设备id')
|
|
|
+ tasks = models.TextField(default='', verbose_name=u'任务')
|
|
|
+ status = models.SmallIntegerField(default=0, verbose_name='场景状态')
|
|
|
+ created_time = models.IntegerField(default=0, verbose_name='场景触发时间')
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ db_table = 'scene_log'
|
|
|
+ verbose_name = '场景日志'
|
|
|
+ verbose_name_plural = verbose_name
|
|
|
+ app_label = 'PushModel'
|
|
|
+
|
|
|
+
|
|
|
class UnicomCombo(models.Model):
|
|
|
id = models.AutoField(primary_key=True, verbose_name=u'自增标记Id')
|
|
|
package_id = models.CharField(default='', max_length=32, verbose_name=u'联通套餐id')
|
|
|
combo_name = models.CharField(default='', max_length=32, verbose_name=u'套餐名称')
|
|
|
status = models.SmallIntegerField(default=0, verbose_name='状态{0:开启,1:停用}')
|
|
|
+ # 套餐类型 0:商用,1:初始化赠送
|
|
|
+ combo_type = models.SmallIntegerField(default=0, verbose_name='套餐类型')
|
|
|
flow_total = models.IntegerField(default=0, blank=True, verbose_name=u'流量总量值 单位(MB)')
|
|
|
expiration_days = models.IntegerField(default=0, blank=True, verbose_name=u'有效期天数')
|
|
|
expiration_type = models.SmallIntegerField(default=0, verbose_name=u'有效期类型,0=天,1=月,2=年')
|
|
|
pay_type = models.ManyToManyField(to='Pay_Type', verbose_name='付款类型', db_table='unicom_combo_pay_type')
|
|
|
price = models.CharField(blank=True, max_length=32, verbose_name=u'价格')
|
|
|
+ is_unlimited = models.SmallIntegerField(default=0, verbose_name=u'是否无限流量,,0:有限流量,1:无限流量')
|
|
|
sort = models.IntegerField(default=0, blank=True, verbose_name=u'排序,越小越靠前')
|
|
|
remark = models.TextField(blank=True, default='', verbose_name=u'描述信息')
|
|
|
updated_time = models.IntegerField(default=0, verbose_name='更新时间')
|
|
@@ -2629,12 +2704,20 @@ class UnicomCombo(models.Model):
|
|
|
class UnicomComboOrderInfo(models.Model):
|
|
|
id = models.AutoField(primary_key=True, verbose_name=u'自增标记Id')
|
|
|
iccid = models.CharField(default='', max_length=32, verbose_name=u'完整的20位纯数字ICCID')
|
|
|
- renew_list_id = models.CharField(default='', max_length=32, verbose_name=u'联通订购成功套餐队列id')
|
|
|
+ renew_list_id = models.CharField(blank=True, default='', max_length=32, verbose_name=u'联通订购成功套餐队列id')
|
|
|
status = models.SmallIntegerField(default=0, verbose_name='状态{0:未使用,1:已使用,2:已过期}')
|
|
|
- orders = models.ForeignKey(Order_Model, to_field='orderID', default='', on_delete=models.CASCADE,
|
|
|
- verbose_name='关联订单表')
|
|
|
+ order_id = models.CharField(blank=True, default='', max_length=32, verbose_name=u'关联订单表')
|
|
|
combo = models.ForeignKey(UnicomCombo, to_field='id', default='', on_delete=models.CASCADE,
|
|
|
verbose_name=u'联通套餐表')
|
|
|
+ year = models.IntegerField(default=0, verbose_name='使用年')
|
|
|
+ month = models.IntegerField(default=0, verbose_name='使用月')
|
|
|
+ flow_total_usage = models.CharField(blank=True, default='', max_length=32, verbose_name=u'激活时当月已用流量')
|
|
|
+ flow_exceed = models.DecimalField(default=0, max_digits=10, decimal_places=2, verbose_name=u'当前套餐已超流量值MB')
|
|
|
+ last_combo_flow_exceed = models.DecimalField(default=0, max_digits=10, decimal_places=2,
|
|
|
+ verbose_name=u'上一个流量套餐流量已超值(MB)')
|
|
|
+ is_flow_exceed = models.IntegerField(default=0, verbose_name=u'当前套餐是否已超流量,0:正常结算,1:已超需计入下一个流量套餐')
|
|
|
+ sort = models.IntegerField(default=99, blank=True, verbose_name=u'排序')
|
|
|
+ next_month_activate = models.BooleanField(blank=True, default=False, verbose_name=u'下月激活')
|
|
|
activation_time = models.IntegerField(default=0, verbose_name='激活时间')
|
|
|
expire_time = models.IntegerField(default=0, verbose_name='过期时间')
|
|
|
updated_time = models.IntegerField(default=0, verbose_name='更新时间')
|
|
@@ -2649,9 +2732,12 @@ class UnicomComboOrderInfo(models.Model):
|
|
|
|
|
|
class UnicomDeviceInfo(models.Model):
|
|
|
id = models.AutoField(primary_key=True, verbose_name=u'自增标记Id')
|
|
|
- iccid = models.CharField(default='', max_length=32, verbose_name=u'完整的20位纯数字ICCID')
|
|
|
+ iccid = models.CharField(db_index=True, unique=True, max_length=32, verbose_name=u'完整的20位纯数字ICCID')
|
|
|
+ status = models.SmallIntegerField(default=0, verbose_name=u'状态{0:可测试,1:测试完成,2:已使用}')
|
|
|
serial_no = models.CharField(default='', max_length=32, verbose_name=u'设备序列号')
|
|
|
user_id = models.CharField(blank=True, max_length=32, verbose_name=u'用户id')
|
|
|
+ card_type = models.SmallIntegerField(default=0, verbose_name=u'状态{0:联通,1:电信,2:移动}')
|
|
|
+ main_card = models.SmallIntegerField(default=0, verbose_name=u'状态{0:主卡,1:拔插卡}')
|
|
|
updated_time = models.IntegerField(default=0, verbose_name='更新时间')
|
|
|
created_time = models.IntegerField(default=0, verbose_name='创建时间')
|
|
|
|
|
@@ -2665,7 +2751,7 @@ class UnicomDeviceQueueMonitoringPush(models.Model):
|
|
|
id = models.AutoField(primary_key=True, verbose_name=u'自增标记Id')
|
|
|
iccid = models.CharField(default='', max_length=32, verbose_name=u'完整的20位纯数字ICCID')
|
|
|
serial_no = models.CharField(default='', max_length=32, verbose_name=u'序列号')
|
|
|
- sign = models.CharField(default='', max_length=32, verbose_name=u'验证签名')
|
|
|
+ sign = models.CharField(default='', max_length=128, verbose_name=u'验证签名')
|
|
|
time = models.CharField(default='', max_length=32, verbose_name=u'推送时间(yyyymmddhhmiss)')
|
|
|
type = models.CharField(default='', max_length=32, verbose_name=u'推送类型:DEVICE_QUEUE_MONITORING:设队列监控;')
|
|
|
current_renew_list_id = models.CharField(default='', max_length=32, verbose_name=u'队列ID')
|
|
@@ -2683,7 +2769,7 @@ class UnicomDeviceStatusChangePush(models.Model):
|
|
|
id = models.AutoField(primary_key=True, verbose_name=u'自增标记Id')
|
|
|
iccid = models.CharField(default='', max_length=32, verbose_name=u'完整的20位纯数字ICCID')
|
|
|
serial_no = models.CharField(default='', max_length=32, verbose_name=u'序列号')
|
|
|
- sign = models.CharField(default='', max_length=32, verbose_name=u'验证签名')
|
|
|
+ sign = models.CharField(default='', max_length=128, verbose_name=u'验证签名')
|
|
|
time = models.CharField(default='', max_length=32, verbose_name=u'推送时间(yyyymmddhhmiss)')
|
|
|
# 变更类型: DEVICE_REAL_NAME_STATUS_CHANGE:实名状态变更;DEVICE_STATUS_CHANGE:设备状态变更;
|
|
|
type = models.CharField(default='', max_length=32, verbose_name=u'变更类型')
|
|
@@ -2699,3 +2785,36 @@ class UnicomDeviceStatusChangePush(models.Model):
|
|
|
db_table = 'unicom_device_status_change_push'
|
|
|
verbose_name = '联通设备状态变更推送表'
|
|
|
verbose_name_plural = verbose_name
|
|
|
+
|
|
|
+
|
|
|
+class UnicomComboExperienceHistory(models.Model):
|
|
|
+ id = models.AutoField(primary_key=True)
|
|
|
+ # 0: 免费体验, 1: 激活码
|
|
|
+ experience_type = models.SmallIntegerField(default=0, verbose_name='体验类型')
|
|
|
+ iccid = models.CharField(max_length=32, default='', verbose_name='联通20位ICCID')
|
|
|
+ do_time = models.IntegerField(default=0, verbose_name='激活时间')
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ db_table = 'unicom_combo_experience_history'
|
|
|
+ verbose_name = '联通套餐体验历史表'
|
|
|
+ verbose_name_plural = verbose_name
|
|
|
+
|
|
|
+
|
|
|
+class UnicomFlowPush(models.Model):
|
|
|
+ id = models.AutoField(primary_key=True)
|
|
|
+ user_id = models.CharField(default='', max_length=32, verbose_name=u'用户id')
|
|
|
+ # 0: 剩余10%流量预警, 1: 流量到期
|
|
|
+ type = models.SmallIntegerField(default=0, verbose_name='流量推送类型')
|
|
|
+ combo_order_id = models.CharField(max_length=32, default='', verbose_name='当前订单套餐id')
|
|
|
+ serial_no = models.CharField(max_length=32, default='', verbose_name='序列号')
|
|
|
+ flow_total_usage = models.DecimalField(default=0, max_digits=10, decimal_places=2, verbose_name=u'当月实际流量用量 单位(MB)')
|
|
|
+ flow_total = models.DecimalField(default=0, max_digits=10, decimal_places=2, verbose_name=u'流量总量 单位(MB)')
|
|
|
+ status = models.SmallIntegerField(default=0, verbose_name=u'状态{0:待推送,1:已推送}')
|
|
|
+ updated_time = models.IntegerField(default=0, verbose_name='更新时间')
|
|
|
+ created_time = models.IntegerField(default=0, verbose_name='创建时间')
|
|
|
+
|
|
|
+ class Meta:
|
|
|
+ db_table = 'unicom_flow_push'
|
|
|
+ verbose_name = '联通流量用量推送'
|
|
|
+ verbose_name_plural = verbose_name
|
|
|
+ app_label = "PushModel"
|