|
@@ -13,7 +13,7 @@ from django.db.models import Q
|
|
|
from django.views.generic.base import View
|
|
|
|
|
|
from Model.models import Device_User, Device_Info, Order_Model, UID_Bucket, StsCrdModel, VodHlsModel, Unused_Uid_Meal, \
|
|
|
- VodBucketModel, UnicomDeviceInfo, LogModel, UidPushModel, AiService, UidSetModel
|
|
|
+ VodBucketModel, UnicomDeviceInfo, LogModel, UidPushModel, AiService, UidSetModel, UserFamily, FamilyRoomDevice
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
|
from Service.CommonService import CommonService
|
|
@@ -57,13 +57,14 @@ class cloudTestView(View):
|
|
|
oldUserID = request_dict.get("oldUserID", None)
|
|
|
username = request_dict.get("username", None)
|
|
|
uid = request_dict.get('uid', None)
|
|
|
- now_time = CommonService.timestamp_to_str(int(time.time()))
|
|
|
- # print('now_time: ', now_time)
|
|
|
+ lang = request_dict.get('lang', None)
|
|
|
+ now_time_stamp = int(time.time())
|
|
|
+ now_time = CommonService.timestamp_to_str(now_time_stamp)
|
|
|
|
|
|
try:
|
|
|
# 查询该userID下是否存在此设备
|
|
|
old_deviceInfo_qs = Device_Info.objects.filter(userID_id=oldUserID, UID=uid, isExist=1) \
|
|
|
- .values('isShare', 'vodPrimaryUserID', 'serial_number', 'userID__username')
|
|
|
+ .values('isShare', 'vodPrimaryUserID', 'serial_number', 'userID__username', 'id')
|
|
|
if not old_deviceInfo_qs.exists():
|
|
|
return response.json(10008)
|
|
|
old_user_name = old_deviceInfo_qs[0]['userID__username']
|
|
@@ -98,11 +99,16 @@ class cloudTestView(View):
|
|
|
if hasCycle.exists():
|
|
|
return response.json(10056)
|
|
|
|
|
|
- # 获取新设备的username
|
|
|
- newUserName = Device_User.objects.get(userID=newUserID).username
|
|
|
+ # 获取新设备的username、userEmail
|
|
|
+ newUserQs = Device_User.objects.get(userID=newUserID)
|
|
|
+ newUserName = newUserQs.username
|
|
|
+ newUserEmail = newUserQs.userEmail
|
|
|
vodPrimaryUserID = newUserID
|
|
|
vodPrimaryMaster = newUserName
|
|
|
|
|
|
+ # 获取用户家庭信息
|
|
|
+ device_id = old_deviceInfo_qs[0]['id']
|
|
|
+ user_family_qs = UserFamily.objects.filter(user_id=newUserID).values('id')
|
|
|
with transaction.atomic():
|
|
|
serial_number = old_deviceInfo_qs[0]['serial_number']
|
|
|
# 删除旧用户此设备的uid_push数据
|
|
@@ -122,6 +128,27 @@ class cloudTestView(View):
|
|
|
if u_dev_info_qs.exists():
|
|
|
now_time = int(time.time())
|
|
|
u_dev_info_qs.update(user_id=newUserID, updated_time=now_time)
|
|
|
+ # 转移设备到家庭
|
|
|
+ if user_family_qs.exists():
|
|
|
+ family_id = user_family_qs[0]['id']
|
|
|
+
|
|
|
+ else:
|
|
|
+ family_name = newUserName if newUserName else newUserEmail
|
|
|
+ family_name = family_name + "的家" if lang == 'cn' else family_name + " home"
|
|
|
+ user_family = UserFamily.objects.create(user_id=newUserID, name=family_name,
|
|
|
+ updated_time=now_time_stamp,
|
|
|
+ created_time=now_time_stamp)
|
|
|
+ family_id = user_family.id
|
|
|
+ family_device = FamilyRoomDevice.objects.filter(family_id=family_id, category=1).values('category_sort')
|
|
|
+ category_sort = family_device[0]['category_sort'] if family_device.exists() else 0
|
|
|
+ old_family_device = FamilyRoomDevice.objects.filter(device_id=device_id)
|
|
|
+ if old_family_device.exists():
|
|
|
+ old_family_device.update(family_id=family_id, category_sort=category_sort,
|
|
|
+ updated_time=now_time_stamp, room_id=0, sort=0)
|
|
|
+ else:
|
|
|
+ FamilyRoomDevice.objects.create(family_id=family_id, category=1, device_id=device_id,
|
|
|
+ updated_time=now_time_stamp, created_time=now_time_stamp)
|
|
|
+
|
|
|
# 记录设备转移日志
|
|
|
ip = CommonService.get_ip_address(request)
|
|
|
content = json.loads(json.dumps(request_dict))
|
|
@@ -144,7 +171,7 @@ class cloudTestView(View):
|
|
|
|
|
|
except Exception as e:
|
|
|
# print(e)
|
|
|
- return response.json(500, repr(e))
|
|
|
+ return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
else:
|
|
|
return response.json(0)
|
|
|
|