|
@@ -49,7 +49,6 @@ class cloudTestView(View):
|
|
def deviceTransfer(self, request_dict, response):
|
|
def deviceTransfer(self, request_dict, response):
|
|
# 设备转移
|
|
# 设备转移
|
|
oldUserID = request_dict.get("oldUserID", None)
|
|
oldUserID = request_dict.get("oldUserID", None)
|
|
- # username = request_dict.get("username", None)
|
|
|
|
loginName = request_dict.get("username", None)
|
|
loginName = request_dict.get("username", None)
|
|
uid = request_dict.get('uid', None)
|
|
uid = request_dict.get('uid', None)
|
|
|
|
|
|
@@ -59,7 +58,8 @@ class cloudTestView(View):
|
|
if not old_deviceInfo_qs.exists():
|
|
if not old_deviceInfo_qs.exists():
|
|
return response.json(10008)
|
|
return response.json(10008)
|
|
# 登录方式可能为用户名,手机号或邮箱登录
|
|
# 登录方式可能为用户名,手机号或邮箱登录
|
|
- deviceUser_qs = Device_User.objects.filter(Q(username=loginName) | Q(phone=loginName) | Q(userEmail=loginName)).values('userID')
|
|
|
|
|
|
+ deviceUser_qs = Device_User.objects.filter(
|
|
|
|
+ Q(username=loginName) | Q(phone=loginName) | Q(userEmail=loginName)).values('userID')
|
|
userID = deviceUser_qs[0]['userID']
|
|
userID = deviceUser_qs[0]['userID']
|
|
# 判断该用户的userID是否跟转移的一样
|
|
# 判断该用户的userID是否跟转移的一样
|
|
if userID == oldUserID:
|
|
if userID == oldUserID:
|
|
@@ -93,10 +93,21 @@ class cloudTestView(View):
|
|
# 只能转移购买的的套餐(支付类型为体验套餐和激活码不能转移,即pay_type不能为10,11)
|
|
# 只能转移购买的的套餐(支付类型为体验套餐和激活码不能转移,即pay_type不能为10,11)
|
|
old_orderModel_qs = Order_Model.objects.filter(userID_id=userID, UID=old_uid).values('payType',
|
|
old_orderModel_qs = Order_Model.objects.filter(userID_id=userID, UID=old_uid).values('payType',
|
|
'uid_bucket_id')
|
|
'uid_bucket_id')
|
|
- payType = old_orderModel_qs[0]['payType']
|
|
|
|
- old_uid_bucket_id = old_orderModel_qs[0]['uid_bucket_id']
|
|
|
|
- if payType == 10 or payType == 11:
|
|
|
|
- return response.json(10014)
|
|
|
|
|
|
+ if old_orderModel_qs.exists():
|
|
|
|
+ payType = old_orderModel_qs[0]['payType']
|
|
|
|
+ old_uid_bucket_id = old_orderModel_qs[0]['uid_bucket_id']
|
|
|
|
+ if payType == 10 or payType == 11:
|
|
|
|
+ return response.json(10014)
|
|
|
|
+ # old_UIDbucket_qs = UID_Bucket.objects.filter(id=old_uid_bucket_id, endTime__lt=nowTime)
|
|
|
|
+ old_UIDbucket_qs = UID_Bucket.objects.filter(id=old_uid_bucket_id).values('endTime')
|
|
|
|
+ old_endTime = old_UIDbucket_qs[0]['endTime']
|
|
|
|
+ if old_endTime < nowTime:
|
|
|
|
+ return response.json(10015)
|
|
|
|
+ else:
|
|
|
|
+ # 多次转移,根据vod_uid_bucket的uid和endTime查找是否有未过期套餐
|
|
|
|
+ old_UIDbucket_qs = UID_Bucket.objects.filter(uid=old_uid, endTime__gt=nowTime)
|
|
|
|
+ if not old_UIDbucket_qs.exists():
|
|
|
|
+ return response.json(10015)
|
|
|
|
|
|
# 转出设备套餐未过期或已删除或不在线才能进行转移
|
|
# 转出设备套餐未过期或已删除或不在线才能进行转移
|
|
old_isExist = old_deviceInfo_qs[0]['isExist']
|
|
old_isExist = old_deviceInfo_qs[0]['isExist']
|
|
@@ -104,21 +115,14 @@ class cloudTestView(View):
|
|
new_isExist = new_deviceInfo_qs[0]['isExist']
|
|
new_isExist = new_deviceInfo_qs[0]['isExist']
|
|
if old_isExist or old_Online or not new_isExist:
|
|
if old_isExist or old_Online or not new_isExist:
|
|
return response.json(10011)
|
|
return response.json(10011)
|
|
- old_UIDbucket_qs = UID_Bucket.objects.filter(id=old_uid_bucket_id).values('endTime')
|
|
|
|
- old_endTime = old_UIDbucket_qs[0]['endTime']
|
|
|
|
- if old_endTime < nowTime:
|
|
|
|
- return response.json(10015)
|
|
|
|
|
|
|
|
# 确认转入设备套餐是否开通过套餐和套餐已过期
|
|
# 确认转入设备套餐是否开通过套餐和套餐已过期
|
|
new_orderModel_qs = Order_Model.objects.filter(userID_id=userID, UID=new_uid).values('uid_bucket_id')
|
|
new_orderModel_qs = Order_Model.objects.filter(userID_id=userID, UID=new_uid).values('uid_bucket_id')
|
|
if new_orderModel_qs.exists():
|
|
if new_orderModel_qs.exists():
|
|
new_uid_bucket_id = new_orderModel_qs[0]['uid_bucket_id']
|
|
new_uid_bucket_id = new_orderModel_qs[0]['uid_bucket_id']
|
|
- new_UIDbucket_qs = UID_Bucket.objects.filter(id=new_uid_bucket_id).values('endTime')
|
|
|
|
- if not new_UIDbucket_qs.exists():
|
|
|
|
- return response.json(10012)
|
|
|
|
- # nowTime = int(time.time())
|
|
|
|
- new_endTime = new_UIDbucket_qs[0]['endTime']
|
|
|
|
- if new_endTime > nowTime:
|
|
|
|
|
|
+ new_UIDbucket_qs = UID_Bucket.objects.filter(id=new_uid_bucket_id, endTime__gt=nowTime).values(
|
|
|
|
+ 'endTime')
|
|
|
|
+ if new_UIDbucket_qs.exists():
|
|
return response.json(10013)
|
|
return response.json(10013)
|
|
|
|
|
|
with transaction.atomic():
|
|
with transaction.atomic():
|
|
@@ -142,7 +146,7 @@ class cloudTestView(View):
|
|
if UID_Bucket_id:
|
|
if UID_Bucket_id:
|
|
nowTime = int(time.time())
|
|
nowTime = int(time.time())
|
|
try:
|
|
try:
|
|
- UID_Bucket.objects.filter(id=UID_Bucket_id).update(endTime=nowTime - 1)
|
|
|
|
|
|
+ UID_Bucket.objects.filter(id=UID_Bucket_id).update(endTime=nowTime-1)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
# print(e)
|
|
# print(e)
|
|
return response.json(500, repr(e))
|
|
return response.json(500, repr(e))
|