| 
					
				 | 
			
			
				@@ -422,21 +422,46 @@ class CloudStorageView(View): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return HttpResponse(json.dumps(res, ensure_ascii=False), content_type="application/json,charset=utf-8") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def do_query_vod_list(self, request_dict, userID, response):  # 获取视频播放列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logger = logging.getLogger('info') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        intoTime = int(time.time()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         startTime = int(request_dict.get('startTime', None)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         endTime = int(request_dict.get('endTime', None)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         uid = request_dict.get('uid', None) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         channel = request_dict.get('channel', None) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if uid == 'UWE2ZJ52SE4FX75U111A': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.info({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "intoTime":intoTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False).values('vodPrimaryUserID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                                                             'vodPrimaryMaster') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if not dv_qs.exists(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return response.json(12) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        dvQsModelTimeOver = int(time.time()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if uid == 'UWE2ZJ52SE4FX75U111A': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.info({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "intoTime": intoTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "dvQsModelOverTime": dvQsModelTimeOver, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if dv_qs[0]['vodPrimaryUserID'] != userID: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return response.json(10034) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         now_time = int(time.time()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         bv_qs = UID_Bucket.objects.filter(uid=uid, endTime__gte=now_time ,channel=channel).values('bucket_id').order_by('addTime') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if not bv_qs.exists(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return response.json(10030) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        UidBucketModelTimeOver = int(time.time()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logger.info({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "intoTime": intoTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dvQsModelOverTime": dvQsModelTimeOver, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "UidBucketModelOverTime": UidBucketModelTimeOver, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # vh_qs = VodHlsModel.objects.filter \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         #     (uid=uid, channel=channel, endTime__gte=now_time,time__range=(startTime, endTime), bucket_id=bv_qs[0]['bucket_id']). \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         #     values("id", "time", "sec", "bucket__bucket", "fg", "bucket__endpoint", "bucket__region", "bucket__mold") 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -447,6 +472,15 @@ class CloudStorageView(View): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         vod_play_list = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if not vh_qs.exists(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return response.json(0, vod_play_list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        vodHlsModelTimeOver = int(time.time()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logger.info({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "intoTime": intoTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dvQsModelOverTime": dvQsModelTimeOver, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "UidBucketModelOverTime": UidBucketModelTimeOver, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "vodHlsModelOverTime": vodHlsModelTimeOver, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         aws_access_key_id = AWS_ACCESS_KEY_ID[vh_qs[0]["bucket__mold"]] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         aws_secret_access_key = AWS_SECRET_ACCESS_KEY[vh_qs[0]["bucket__mold"]] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         session = Session( 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -456,6 +490,16 @@ class CloudStorageView(View): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         conn = session.client('s3') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         uidToken = TokenObject().encryption(data={'uid': uid}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        awsObjectOverTime = int(time.time()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logger.info({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "intoTime": intoTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "dvQsModelOverTime": dvQsModelTimeOver, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "UidBucketModelOverTime": UidBucketModelTimeOver, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "vodHlsModelOverTime": vodHlsModelTimeOver, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "awsObjectOverTime": awsObjectOverTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for vod in vh_qs: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             # bucket__mold = vod["bucket__mold"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             bucket_name = vod["bucket__bucket"] 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -483,6 +527,18 @@ class CloudStorageView(View): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'ts_num': ts_num, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 'vod_id': vod['id'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        generatePresignedOverTime = int(time.time()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if uid == 'UWE2ZJ52SE4FX75U111A': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.info({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "intoTime":intoTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "dvQsModelOverTime":dvQsModelTimeOver, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "UidBucketModelOverTime":UidBucketModelTimeOver, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "vodHlsModelOverTime":vodHlsModelTimeOver, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "awsObjectOverTime":awsObjectOverTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                "generatePresignedOverTime":generatePresignedOverTime, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return response.json(0, vod_play_list) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def do_store_playlist(self, request_dict, response):  # 设备调用,上传视频到s3,同时把视频数据信息传给服务器,服务器存储播放内容 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -863,10 +919,15 @@ class CloudStorageView(View): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return HttpResponseRedirect(red_url) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def do_pay_by_paypal_callback(self, request_dict, response):  # paypal支付回调 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logger = logging.getLogger('info') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logger.info('---------进入paypay异步回调') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         paymentId = request_dict.get('paymentId', None) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         PayerID = request_dict.get('PayerID', None) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         orderID = request_dict.get('orderID', None) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         lang = request_dict.get('lang', 'en') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logger.info("paymentID={paymentId},payerID={PayerID}".format(paymentId=paymentId,PayerID=PayerID)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # redis加锁,防止订单重复 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         redisObj = RedisObject() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         isLock = redisObj.CONN.setnx(orderID + 'do_notify', 1) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -887,6 +948,10 @@ class CloudStorageView(View): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             # ID of the payment. This ID is provided when creating payment. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             payment = paypalrestsdk.Payment.find(paymentId) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             print(payment) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.info("payment------") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.info(payment) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             payres = payment.execute({"payer_id": PayerID}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             print(payres) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if not payres: 
			 |