瀏覽代碼

更新联通4G数据表

zhangdongming 3 年之前
父節點
當前提交
dbe05f6a21
共有 1 個文件被更改,包括 140 次插入21 次删除
  1. 140 21
      Model/models.py

+ 140 - 21
Model/models.py

@@ -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"