peng 1 жил өмнө
parent
commit
59030219f2

+ 45 - 4
Controller/EquipmentManagerV3.py

@@ -76,6 +76,10 @@ class EquipmentManagerV3(View):
             return self.do_get_device_features(request_dict, response)
         elif operation == 'deviceRouse':
             return self.device_rouse(request_dict, response)
+        elif operation == 'saveButtonUser':
+            return self.save_button_user(request_dict, response)
+        elif operation == 'getButtonUser':
+            return self.get_button_user(request_dict, response)
         else:
             return response.json(414)
 
@@ -302,8 +306,10 @@ class EquipmentManagerV3(View):
                         UidChannelSetModel.objects.bulk_create(UidChannelSet_bulk)
 
                 userDevice = Device_Info(id=id, userID_id=userID, UID=UID, NickName=NickName, View_Account=View_Account,
-                                         View_Password=View_Password, Type=Type, ChannelIndex=ChannelIndex, version=version,
-                                         vodPrimaryUserID=vodPrimaryUserID, vodPrimaryMaster=vodPrimaryMaster)
+                                         View_Password=View_Password, Type=Type, ChannelIndex=ChannelIndex,
+                                         version=version,
+                                         vodPrimaryUserID=vodPrimaryUserID, vodPrimaryMaster=vodPrimaryMaster,
+                                         audioVideoButton=1)
                 userDevice.save()
                 # 添加到家庭房间
                 if family_id:
@@ -332,8 +338,9 @@ class EquipmentManagerV3(View):
                         if uid_channel_set_qs.exists():
                             # 多通道设备名为 UidChannelSetModel 的 channel_name
                             for uid_channel_set in uid_channel_set_qs:
-                                data_list.append({'userID': userID, 'UID': UID, 'uid_nick': uid_channel_set['channel_name'],
-                                                  'channel': uid_channel_set['channel'], 'password': encrypt_pass})
+                                data_list.append(
+                                    {'userID': userID, 'UID': UID, 'uid_nick': uid_channel_set['channel_name'],
+                                     'channel': uid_channel_set['channel'], 'password': encrypt_pass})
                     else:
                         data_list = [{'userID': userID, 'UID': UID, 'uid_nick': NickName, 'password': encrypt_pass}]
 
@@ -1161,3 +1168,37 @@ class EquipmentManagerV3(View):
         except Exception as e:
             LOGGER.info('EquipmentManagerV3.async_del_message,{},error_line:{}, error_msg:{}'
                         .format(uid, e.__traceback__.tb_lineno, repr(e)))
+
+    @staticmethod
+    def save_button_user(request_dict, response):
+        """
+        设置推送按钮用户
+        """
+        uid = request_dict.get('uid', None)
+        button_user1 = request_dict.get('buttonUser1', None)
+        button_user2 = request_dict.get('buttonUser2', None)
+        if not uid:
+            return response.json(444)
+        try:
+            Device_Info.objects.filter(UID=uid).update(audioVideoButton=0)
+            if button_user1:
+                Device_Info.objects.filter(UID=uid, userID=button_user1).update(audioVideoButton=1)
+            if button_user2:
+                Device_Info.objects.filter(UID=uid, userID=button_user2).update(audioVideoButton=2)
+            return response.json(0)
+        except Exception as e:
+            return response.json(500, repr(e))
+
+    @staticmethod
+    def get_button_user(request_dict, response):
+        """
+        获取推送按钮用户
+        """
+        uid = request_dict.get('uid', None)
+        if not uid:
+            return response.json(444)
+        try:
+            device_qs = Device_Info.objects.filter(UID=uid).values('userID', 'audioVideoButton')
+            return response.json(0, list(device_qs))
+        except Exception as e:
+            return response.json(500, repr(e))

+ 1 - 0
Model/models.py

@@ -266,6 +266,7 @@ class Device_Info(models.Model):
     isExist = models.SmallIntegerField(blank=True, default=1, verbose_name='是否被删除')  # 是否被删除了(需主用户交互) 1存在,0不存在,2设备被重置
     isCameraOpenCloud = models.SmallIntegerField(blank=True, default=1, verbose_name='是否开启云存')  # 0:不开启  1:开启
     serial_number = models.CharField(blank=True, max_length=9, default='', verbose_name='关联序列号')
+    audioVideoButton = models.SmallIntegerField(default=0, verbose_name='音视频通话按钮')
     ###
     REQUIRED_FIELDS = []