Jelajahi Sumber

删除无用代码

lang 4 tahun lalu
induk
melakukan
68bc2c3c59
1 mengubah file dengan 31 tambahan dan 169 penghapusan
  1. 31 169
      Controller/CloudStorage.py

+ 31 - 169
Controller/CloudStorage.py

@@ -52,7 +52,7 @@ from django.db.models import Q, F
 
 from Service.ModelService import ModelService
 
-SERVER_DOMAIN = 'http://test.dvema.com/'
+# SERVER_DOMAIN = 'http://test.dvema.com/'
 
 '''
 生成订单
@@ -87,8 +87,6 @@ class CloudStorageView(View):
         response = ResponseObject()
         if operation is None:
             return response.json(444, 'error path')
-        elif operation == 'testpaly.m3u8':
-            return self.do_test_play_m3u8(request_dict, response)
         elif operation == 'dopaypalcallback':
             return self.do_pay_by_paypal_callback(request_dict, response)
         elif operation == 'doalicallback':
@@ -98,10 +96,6 @@ class CloudStorageView(View):
         elif operation == 'getsignsts':
             ip = CommonService.get_ip_address(request)
             return self.do_get_sign_sts(request_dict, ip, response)
-        elif operation == 'testgetsignsts':
-            ip = CommonService.get_ip_address(request)
-            return self.do_test_get_sign_sts(request_dict, ip, response)
-            # return self.do_get_sign_sts_test(request_dict, ip, response)
         elif operation == 'storeplaylist':
             return self.do_store_playlist(request_dict, response)
         elif operation == 'signplaym3u8':
@@ -145,28 +139,6 @@ class CloudStorageView(View):
             else:
                 return response.json(414)
 
-
-    def do_test_play_m3u8(self, request_dict, response):
-        playlist_entries = [
-            {
-                'name': 'https://azvod1.s3-ap-northeast-1.amazonaws.com/test/output000.ts',
-                'duration': 10,
-            },
-            {
-                'name': 'https://azvod1.s3-ap-northeast-1.amazonaws.com/test/output000.ts',
-                'duration': 10,
-            },
-            {
-                'name': 'https://azvod1.s3-ap-northeast-1.amazonaws.com/test/output000.ts',
-                'duration': 10,
-            },
-        ]
-        playlist = PlaylistGenerator(playlist_entries).generate()
-        # return HttpResponse(playlist)
-        # response = HttpResponse(playlist, content_type="application/octet-stream")
-        response = HttpResponse(playlist, content_type="application/vnd.apple.mpegurl")
-        return response
-
     def do_query_order(self, request_dict, userID, response):
         status = request_dict.get('status', None)
         page = int(request_dict.get('page', None))
@@ -288,23 +260,6 @@ class CloudStorageView(View):
         '''
         conn = session.client('s3')
         playlist_entries = []
-        # for i in range(fg):
-        #     thumbspng = '{uid}/vod{channel}/{time}/ts{i}.ts'. \
-        #         format(uid=uid, channel=channel, time=storeTime, i=i)
-        #     response_url = conn.generate_presigned_url(
-        #         'get_object',
-        #         Params={
-        #             'Bucket': bucket_name,
-        #             'Key': thumbspng
-        #         },
-        #         ExpiresIn=3600
-        #     )
-        #     # m3u8 = '{uid}/vod{channel}/{time}/{time}.m3u8'. \
-        #     #     format(uid=uid, channel=channel, time=vod['time'])
-        #     playlist_entries.append({
-        #         'name': response_url,
-        #         'duration': sec,
-        #     })
         fg = int(fg)
         ts_count = fg & 0xf
         for i in range(ts_count):
@@ -356,7 +311,7 @@ class CloudStorageView(View):
             sts_qs = StsCrdModel.objects.filter(uid=uid, channel=channel). \
                 values("addTime", "data")
             if sts_qs.exists():
-                endTime = int(sts_qs[0]["addTime"]) + 500
+                endTime = int(sts_qs[0]["addTime"]) + 5000
                 if endTime > now_time:
                     print(endTime)
                     print(now_time)
@@ -397,100 +352,7 @@ class CloudStorageView(View):
             response = boto3_sts.get_federation_token(
                 Name='{role_name}'.format(role_name=uid + '_' + str(channel)),
                 Policy=json.dumps(Policy),
-                DurationSeconds=900
-            )
-            ##############
-            res = {
-                'AccessKeyId': response['Credentials']['AccessKeyId'],
-                'AccessKeySecret': response['Credentials']['SecretAccessKey'],
-                'SessionToken': response['Credentials']['SessionToken'],
-                'Expiration': response['Credentials']['Expiration'],
-                'expire': 900,
-                'endpoint': endpoint,
-                'bucket_name': bucket_name,
-                'arn': response['FederatedUser']['Arn'],
-                'code': 0,
-                'storage': storage,
-                'endTime': ubqs[0]['endTime'],
-                'ip': ip,
-                'region': region_id,
-                'bucket_mold':ubqs[0]['bucket__mold']
-            }
-            if sts_qs.exists():
-                sts_qs.update(data=json.dumps(res, default=str), addTime=now_time)
-            else:
-                StsCrdModel.objects.create(uid=uid, channel=channel, data=json.dumps(res, default=str),
-                                           addTime=now_time, type=1)
-            return JsonResponse(status=200, data=res)
-            # else:
-            #     res = {'code': 404, 'msg': 'data not exists!'}
-            #     return HttpResponse(json.dumps(res, ensure_ascii=False), content_type="application/json,charset=utf-8")
-        res = {'code': 405, 'msg': 'Not purchased or expired!'}
-        return HttpResponse(json.dumps(res, ensure_ascii=False), content_type="application/json,charset=utf-8")
-
-    def do_test_get_sign_sts(self, request_dict, ip, response):
-        uidToken = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJYS1daU0M1RkNKWVQxOUI3MTExQSIsImNoYW5uZWwiOjF9.YvBCETPrKknw7B-RU3Mij-WJLKf46KGrDQvZMMN7dQk'
-        reset = request_dict.get('reset', 0)
-        utko = UidTokenObject(uidToken)
-        if utko.flag is False:
-            return response.json(444, 'uidToken')
-        uid = utko.UID
-        channel = utko.channel
-        now_time = int(time.time())
-        ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=now_time). \
-                   values("bucket__mold", "bucket__bucket", "bucket__endpoint",
-                          "bucket__region", "endTime").order_by('addTime')[:1]
-        if ubqs.exists():
-            # 亚马逊 s3 sts
-            sts_qs = StsCrdModel.objects.filter(uid=uid, channel=channel). \
-                values("addTime", "data")
-            if sts_qs.exists():
-                endTime = int(sts_qs[0]["addTime"]) + 300
-                # if reset == '0':
-                #     print(endTime)
-                #     print(now_time)
-                #     res = json.loads(sts_qs[0]["data"])
-                #     return JsonResponse(status=200, data=res)
-                if reset == '0' and endTime > now_time:
-                    print(endTime)
-                    print(now_time)
-                    res = json.loads(sts_qs[0]["data"])
-                    return JsonResponse(status=200, data=res)
-                # 套餐id
-            storage = '{uid}/test/'.format(uid=uid)
-            bucket_name = ubqs[0]['bucket__bucket']
-            endpoint = ubqs[0]['bucket__endpoint']
-            region_id = ubqs[0]['bucket__region']
-            try:
-                aws_access_key_id = AWS_ACCESS_KEY_ID[ubqs[0]["bucket__mold"]]
-                aws_secret_access_key = AWS_SECRET_ACCESS_KEY[ubqs[0]["bucket__mold"]]
-                aws_arn = AWS_ARN[ubqs[0]["bucket__mold"]]
-            except:
-                res = {'code': 404, 'msg': 'mold not exists!'}
-                return HttpResponse(json.dumps(res, ensure_ascii=False), content_type="application/json,charset=utf-8")
-
-            ###############
-            boto3_sts = boto3.client(
-                'sts',
-                aws_access_key_id=aws_access_key_id,
-                aws_secret_access_key=aws_secret_access_key,
-                region_name=region_id
-            )
-            Policy = {
-                "Version": "2012-10-17",
-                "Statement": [
-                    {
-                        "Effect": "Allow",
-                        "Action": "s3:*",
-                        "Resource": ["{aws_arn}:::{bucket_name}/{uid_channel}*".
-                                         format(aws_arn=aws_arn, bucket_name=bucket_name, uid_channel=storage)]
-                    }
-                ]
-            }
-            response = boto3_sts.get_federation_token(
-                Name='{role_name}'.format(role_name=uid + '_' + str(channel)),
-                Policy=json.dumps(Policy),
-                DurationSeconds=900
+                DurationSeconds=7200
             )
             ##############
             res = {
@@ -569,7 +431,7 @@ class CloudStorageView(View):
             )
             vod_url = '{server_domain}/cloudstorage/signplaym3u8?' \
                       'uid={uid}&channel={channel}&time={time}&sign=tktktktk'. \
-                format(server_domain=SERVER_DOMAIN, uid=TokenObject().encryption(data={'uid': uid}), channel=channel, time=vod['time'])
+                format(server_domain=SERVER_DOMAIN_SSL, uid=TokenObject().encryption(data={'uid': uid}), channel=channel, time=vod['time'])
             ts_num = int(vod['fg']) & 0xf
             vod_play_list.append({
                 'name': vod['time'],
@@ -655,10 +517,10 @@ class CloudStorageView(View):
             return response.json(0)
         utko = UidTokenObject()
         utko.generate(data={'uid': uid, 'channel': channel})
-        uidTkUrl = "{SERVER_DOMAIN}cloudstorage/getsignsts?uidToken={uidToken}". \
-            format(uidToken=utko.token, SERVER_DOMAIN=SERVER_DOMAIN)
-        storeHlsUrl = "{SERVER_DOMAIN}cloudstorage/storeplaylist?uidToken={uidToken}". \
-            format(uidToken=utko.token, SERVER_DOMAIN=SERVER_DOMAIN)
+        uidTkUrl = "{SERVER_DOMAIN_SSL}cloudstorage/getsignsts?uidToken={uidToken}". \
+            format(uidToken=utko.token, SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
+        storeHlsUrl = "{SERVER_DOMAIN_SSL}cloudstorage/storeplaylist?uidToken={uidToken}". \
+            format(uidToken=utko.token, SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
         return response.json(0, {'uidTkUrl': uidTkUrl, 'storeHlsUrl': storeHlsUrl})
 
     def do_pay_error(self):
@@ -919,17 +781,17 @@ class CloudStorageView(View):
                     order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
                     sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
                     self.do_vod_msg_Notice(UID, channel, userid, lang, sys_msg_text_list)
-                    red_url = "{SERVER_DOMAIN}web/paid2/success.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
+                    red_url = "{SERVER_DOMAIN_SSL}web/paid2/success.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
                     if lang != 'cn':
-                        red_url = "{SERVER_DOMAIN}web/paid2/en_success.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
+                        red_url = "{SERVER_DOMAIN_SSL}web/paid2/en_success.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
                     return HttpResponseRedirect(red_url)
             return response.json(0, signature)
         except Exception as e:
             if order_qs:
                 order_qs.update(status=10)
-            red_url = "{SERVER_DOMAIN}web/paid2/fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
+            red_url = "{SERVER_DOMAIN_SSL}web/paid2/fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
             if lang != 'cn':
-                red_url = "{SERVER_DOMAIN}web/paid2/en_fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
+                red_url = "{SERVER_DOMAIN_SSL}web/paid2/en_fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
             return HttpResponseRedirect(red_url)
 
     def do_pay_by_paypal_callback(self, request_dict, response):
@@ -941,9 +803,9 @@ class CloudStorageView(View):
             order_qs = Order_Model.objects.filter(orderID=orderID, status=0)
 
             if not orderID:
-                red_url = "{SERVER_DOMAIN}web/paid2/fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
+                red_url = "{SERVER_DOMAIN_SSL}web/paid2/fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
                 if lang != 'cn':
-                    red_url = "{SERVER_DOMAIN}web/paid2/en_fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
+                    red_url = "{SERVER_DOMAIN_SSL}web/paid2/en_fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
                 return HttpResponseRedirect(red_url)
             # else:
             #     order_qs.update(status=9)
@@ -953,9 +815,9 @@ class CloudStorageView(View):
             payres = payment.execute({"payer_id": PayerID})
             print(payres)
             if not payres:
-                red_url = "{SERVER_DOMAIN}web/paid2/fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
+                red_url = "{SERVER_DOMAIN_SSL}web/paid2/fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
                 if lang != 'cn':
-                    red_url = "{SERVER_DOMAIN}web/paid2/en_fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
+                    red_url = "{SERVER_DOMAIN_SSL}web/paid2/en_fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
                 return HttpResponseRedirect(red_url)
             print("Payment execute successfully")
 
@@ -1017,18 +879,18 @@ class CloudStorageView(View):
                 self.do_vod_msg_Notice(UID, channel, userid, lang, sys_msg_text_list)
 
                 # return response.json(0)
-                red_url = "{SERVER_DOMAIN}web/paid2/success.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
+                red_url = "{SERVER_DOMAIN_SSL}web/paid2/success.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
                 if lang != 'cn':
-                    red_url = "{SERVER_DOMAIN}web/paid2/en_success.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
+                    red_url = "{SERVER_DOMAIN_SSL}web/paid2/en_success.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
 
                 return HttpResponseRedirect(red_url)
         except Exception as e:
             print(repr(e))
             if order_qs:
                 order_qs.update(status=10)
-            red_url = "{SERVER_DOMAIN}web/paid2/fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
+            red_url = "{SERVER_DOMAIN_SSL}web/paid2/fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
             if lang != 'cn':
-                red_url = "{SERVER_DOMAIN}web/paid2/en_fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
+                red_url = "{SERVER_DOMAIN_SSL}web/paid2/en_fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
             return HttpResponseRedirect(red_url)
 
     def do_pay_by_wechat_callback(self, request, response):
@@ -1175,13 +1037,13 @@ class CloudStorageView(View):
         orderID = CommonService.createOrderID()
         if pay_type == 1:
 
-            cal_url = "{SERVER_DOMAIN}web/paid2/fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
+            cal_url = "{SERVER_DOMAIN_SSL}web/paid2/fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
             if lang != 'cn':
-                cal_url = "{SERVER_DOMAIN}web/paid2/en_fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
-            call_sub_url = "{SERVER_DOMAIN}cloudstorage/dopaypalcallback?orderID={orderID}&lang={lang}". \
-                format(SERVER_DOMAIN=SERVER_DOMAIN, orderID=orderID, lang=lang)
+                cal_url = "{SERVER_DOMAIN_SSL}web/paid2/en_fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
+            call_sub_url = "{SERVER_DOMAIN_SSL}cloudstorage/dopaypalcallback?orderID={orderID}&lang={lang}". \
+                format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL, orderID=orderID, lang=lang)
             # call_sub_url = "http://binbin.uicp.vip/cloudstorage/dopaypalcallback?orderID={orderID}".format(
-            # SERVER_DOMAIN=SERVER_DOMAIN, orderID=orderID)
+            # SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL, orderID=orderID)
             call_clc_url = cal_url
             paypalrestsdk.configure(PAYPAL_CRD)
             payment = paypalrestsdk.Payment({
@@ -1221,17 +1083,17 @@ class CloudStorageView(View):
                 #     "out_trade_no": orderID,
                 #     "total_amount": price,
                 #     "product_code": "QUICK_WAP_PAY",
-                #     "quit_url": "{SERVER_DOMAIN}web/paid2/fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN)
+                #     "quit_url": "{SERVER_DOMAIN_SSL}web/paid2/fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL)
                 #     # "qr_pay_mode":4
                 # }
                 order_string = alipay.api_alipay_trade_wap_pay(
                     out_trade_no=orderID,
                     total_amount=price,
                     subject=subject,
-                    return_url="{SERVER_DOMAIN}web/paid2/success.html".format(SERVER_DOMAIN=SERVER_DOMAIN),
+                    return_url="{SERVER_DOMAIN_SSL}web/paid2/success.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL),
                     notify_url="{SERVER_DOMAIN_SSL}cloudstorage/doalicallback".format(
                         SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL),
-                    quit_url="{SERVER_DOMAIN}web/paid2/fail.html".format(SERVER_DOMAIN=SERVER_DOMAIN),
+                    quit_url="{SERVER_DOMAIN_SSL}web/paid2/fail.html".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL),
                     passback_params=quote("lang="+lang)
                     # return_url="http://192.168.136.40/cloudstorage/payOK",
                     # notify_url="http://192.168.136.40/cloudstorage/aliPayCallback"
@@ -1377,14 +1239,14 @@ class CloudStorageView(View):
 
                 sys_msg_text_list = ['成功购买云存', 'Successful purchase of cloud storage']
                 # return response.json(0)
-                returnurl = "{SERVER_DOMAIN}cloudstorage/payOK?lang={lang}".format(SERVER_DOMAIN=SERVER_DOMAIN,lang=lang)
+                returnurl = "{SERVER_DOMAIN_SSL}cloudstorage/payOK?lang={lang}".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL,lang=lang)
                 if pay_type == 10:
                     ExperienceContextModel.objects.create(
                         experience_type=0,
                         uid=uid,
                         do_time=nowTime
                     )
-                    returnurl = "{SERVER_DOMAIN}cloudstorage/payOK?paytype=10&lang={lang}".format(SERVER_DOMAIN=SERVER_DOMAIN,lang=lang)
+                    returnurl = "{SERVER_DOMAIN_SSL}cloudstorage/payOK?paytype=10&lang={lang}".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL,lang=lang)
                     sys_msg_text_list = ['成功体验云存', 'Successful experience of cloud storage']
 
                 if pay_type == 11:
@@ -1392,7 +1254,7 @@ class CloudStorageView(View):
                     update_dict['is_activate'] = 1
                     update_dict['order'] = orderID
                     CDKcontextModel.objects.filter(cdk=cdk).update(**update_dict)
-                    returnurl = "{SERVER_DOMAIN}cloudstorage/payOK?paytype=11&lang={lang}".format(SERVER_DOMAIN=SERVER_DOMAIN,lang=lang)
+                    returnurl = "{SERVER_DOMAIN_SSL}cloudstorage/payOK?paytype=11&lang={lang}".format(SERVER_DOMAIN_SSL=SERVER_DOMAIN_SSL,lang=lang)
                     sys_msg_text_list = ['成功兑换云存', 'Successful exchange of cloud storage']