|
@@ -19,7 +19,7 @@ from Controller.UnicomCombo.UnicomComboController import UnicomComboView
|
|
|
from Controller.UnicomCombo.WXTechController import WXTechControllerView
|
|
|
from Model.models import Device_Info, UID_Bucket, UID_Preview, UidSetModel, UidChannelSetModel, \
|
|
|
Device_User, iotdeviceInfoModel, UIDCompanySerialModel, UnicomDeviceInfo, CountryModel, \
|
|
|
- DeviceCloudPhotoInfo, UidPushModel, ExperienceContextModel, LogModel
|
|
|
+ DeviceCloudPhotoInfo, UidPushModel, ExperienceContextModel, LogModel, UserAudioVideoPush
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
|
from Service.CommonService import CommonService
|
|
@@ -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,9 +306,17 @@ 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,
|
|
|
+ View_Password=View_Password, Type=Type, ChannelIndex=ChannelIndex,
|
|
|
+ version=version,
|
|
|
vodPrimaryUserID=vodPrimaryUserID, vodPrimaryMaster=vodPrimaryMaster)
|
|
|
userDevice.save()
|
|
|
+ # 保存用户推送按钮信息
|
|
|
+ button_qs = UserAudioVideoPush.objects.filter(uid=UID)
|
|
|
+ if button_qs.exists():
|
|
|
+ button_qs.update(buttonUser1=userID, buttonUser2=userID)
|
|
|
+ else:
|
|
|
+ UserAudioVideoPush.objects.create(uid=UID, buttonUser1=userID, buttonUser2=userID,
|
|
|
+ created_time=nowTime, updated_time=nowTime)
|
|
|
# 添加到家庭房间
|
|
|
if family_id:
|
|
|
EquipmentFamilyView.family_room_device_save(family_id, room_id, userDevice.id, Type)
|
|
@@ -332,8 +344,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 +1174,63 @@ 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:
|
|
|
+ now_time = int(time.time())
|
|
|
+ if button_user1:
|
|
|
+ button_qs = UserAudioVideoPush.objects.filter(uid=uid)
|
|
|
+ if button_qs.exists():
|
|
|
+ button_qs.update(buttonUser1=button_user1, updated_time=now_time)
|
|
|
+ else:
|
|
|
+ UserAudioVideoPush.objects.create(uid=uid, buttonUser1=button_user1, created_time=now_time,
|
|
|
+ updated_time=now_time)
|
|
|
+ if button_user2:
|
|
|
+ button_qs = UserAudioVideoPush.objects.filter(uid=uid)
|
|
|
+ if button_qs.exists():
|
|
|
+ button_qs.update(buttonUser2=button_user2, updated_time=now_time)
|
|
|
+ else:
|
|
|
+ UserAudioVideoPush.objects.create(uid=uid, buttonUser2=button_user2, created_time=now_time,
|
|
|
+ updated_time=now_time)
|
|
|
+ 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', 'userID__username', 'noteName')
|
|
|
+ button_qs = UserAudioVideoPush.objects.filter(uid=uid).values('buttonUser1', 'buttonUser2')
|
|
|
+ res = []
|
|
|
+ for item in device_qs:
|
|
|
+ noteName = item['noteName'] if item['noteName'] else item['userID__username']
|
|
|
+ temp_dict = {'userId': item['userID'], 'username': item['userID__username'],
|
|
|
+ 'noteName': noteName}
|
|
|
+ if not button_qs.exists():
|
|
|
+ res.append(temp_dict)
|
|
|
+ continue
|
|
|
+ if item['userID'] == button_qs[0]['buttonUser1']:
|
|
|
+ temp_dict['audioVideoButton'] = '1'
|
|
|
+ if item['userID'] == button_qs[0]['buttonUser2']:
|
|
|
+ temp_dict['audioVideoButton'] = '2'
|
|
|
+ if item['userID'] == button_qs[0]['buttonUser1'] and item['userID'] == button_qs[0]['buttonUser2']:
|
|
|
+ temp_dict['audioVideoButton'] = '1,2'
|
|
|
+ res.append(temp_dict)
|
|
|
+ return response.json(0, res)
|
|
|
+ except Exception as e:
|
|
|
+ return response.json(500, repr(e))
|