Przeglądaj źródła

修改联通推送api,设备配置表新增联通4G字段

zhangdongming 3 lat temu
rodzic
commit
bad795afca

+ 4 - 1
Controller/EquipmentManagerV3.py

@@ -607,7 +607,8 @@ class EquipmentManagerV3(View):
                                                                     'TimeZone', 'TimeStatus', 'SpaceUsable',
                                                                     'SpaceSum', 'MirrorType', 'RecordType',
                                                                     'OutdoorModel', 'WIFIName', 'isDetector',
-                                                                    'DetectorRank', 'is_human', 'is_custom_voice', 'is_ptz', 'double_wifi', 'is_ai')
+                                                                    'DetectorRank', 'is_human', 'is_custom_voice',
+                                                                    'is_ptz', 'double_wifi', 'is_ai', 'mobile_4g')
         uv_dict = {}
         for us in us_qs:
             uv_dict[us['uid']] = {
@@ -634,6 +635,7 @@ class EquipmentManagerV3(View):
                 'is_custom_voice': us['is_custom_voice'],
                 'is_ptz': us['is_ptz'],
                 'double_wifi': us['double_wifi'],
+                'mobile4G': us['mobile_4g'],
                 'is_ai': us['is_ai']
             }
             # 从uid_channel里面取出通道配置信息
@@ -735,6 +737,7 @@ class EquipmentManagerV3(View):
                 p['is_ptz'] = uv_dict[p_uid]['is_ptz']
                 p['channels'] = uv_dict[p_uid]['channels']
                 p['double_wifi'] = uv_dict[p_uid]['double_wifi']
+                p['mobile4G'] = uv_dict[p_uid]['mobile4G']
                 p['is_ai'] = uv_dict[p_uid]['is_ai']
                 # 设备昵称 调用影子信息昵称,先阶段不可
                 if uv_dict[p_uid]['nickname']:

+ 3 - 0
Controller/ShadowController.py

@@ -102,6 +102,7 @@ def update_device_shadow(request):
         is_human = request_dict.get('is_human', None)
         is_custom_voice = request_dict.get('is_custom', None)
         double_wifi = request_dict.get('double_wifi', None)
+        mobile_4g = request_dict.get('mobile4G', None)
         is_ptz = request_dict.get('is_ptz', None)
         us_qs = UidSetModel.objects.filter(uid=uid)
         is_ai = request_dict.get('is_ai', None)
@@ -139,6 +140,8 @@ def update_device_shadow(request):
             qs_dict['is_custom_voice'] = is_custom_voice
         if double_wifi:
             qs_dict['double_wifi'] = double_wifi
+        if mobile_4g:
+            qs_dict['mobile_4g'] = int(mobile_4g)
         if is_ptz:
             qs_dict['is_ptz'] = is_ptz
         if is_ai:

+ 18 - 3
Controller/UnicomCombo/UnicomComboController.py

@@ -18,7 +18,7 @@ from django.http import HttpResponse, JsonResponse
 from django.views.generic.base import View
 
 from Model.models import UnicomDeviceInfo, UnicomCombo, Pay_Type, Order_Model, Store_Meal, AiStoreMeal, \
-    UnicomComboOrderInfo, UnicomComboExperienceHistory
+    UnicomComboOrderInfo, UnicomComboExperienceHistory, UnicomDeviceStatusChangePush
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Object.UnicomObject import UnicomObjeect
@@ -587,8 +587,23 @@ class UnicomComboView(View):
                 dict_data.pop('sign')
                 unicom_obj = UnicomObjeect()
                 generate_sign = unicom_obj.createSign(**dict_data)
-                logger.info('设备状态变更推送请求签名{}'.format(sign))
-                logger.info('设备状态变更推送生成签名{}'.format(generate_sign))
+                logger.info('联通设备状态变更推送请求签名{}'.format(sign))
+                logger.info('联通设备状态变更推送生成签名{}'.format(generate_sign))
+                assert generate_sign == sign
+                now_time = int(time.time())
+                re_data = {
+                    'iccid': dict_data['iccid'],
+                    'serial_no': dict_data['serialNo'],
+                    'sign': sign,
+                    'type': dict_data['type'],
+                    'previous_val': dict_data['previousVal'],
+                    'current_val': dict_data['currentVal'],
+                    'reason': dict_data['reason'],
+                    'time': dict_data['time'],
+                    'updated_time': now_time,
+                    'created_time': now_time
+                }
+                UnicomDeviceStatusChangePush.objects.create(**re_data)
             r_data = {'success': True, 'msg': '成功'}
             return HttpResponse(json.dumps(r_data, ensure_ascii=False), content_type="application/json,charset=utf-8")
         except Exception as e:

+ 3 - 2
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:开启
@@ -2726,7 +2727,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')
@@ -2744,7 +2745,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'变更类型')