| 
					
				 | 
			
			
				@@ -49,7 +49,6 @@ class cloudTestView(View): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def deviceTransfer(self, request_dict, response): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # 设备转移 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         oldUserID = request_dict.get("oldUserID", None) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        # username = request_dict.get("username", None) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         loginName = request_dict.get("username", None) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         uid = request_dict.get('uid', None) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -59,7 +58,8 @@ class cloudTestView(View): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if not old_deviceInfo_qs.exists(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 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是否跟转移的一样 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if userID == oldUserID: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -93,10 +93,21 @@ class cloudTestView(View): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             # 只能转移购买的的套餐(支付类型为体验套餐和激活码不能转移,即pay_type不能为10,11) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             old_orderModel_qs = Order_Model.objects.filter(userID_id=userID, UID=old_uid).values('payType', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                                                                  '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'] 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -104,21 +115,14 @@ class cloudTestView(View): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             new_isExist = new_deviceInfo_qs[0]['isExist'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if old_isExist or old_Online or not new_isExist: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 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') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if new_orderModel_qs.exists(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 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) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             with transaction.atomic(): 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -142,7 +146,7 @@ class cloudTestView(View): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if UID_Bucket_id: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             nowTime = int(time.time()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             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: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # print(e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return response.json(500, repr(e)) 
			 |