Эх сурвалжийг харах

fix:云存储套餐升级,key路径不一致,设备token未过期原因导致

chenjunkai 6 жил өмнө
parent
commit
bf27cf2d84

+ 6 - 5
Ansjer/test/osssigput.py

@@ -20,12 +20,13 @@ from aliyunsdksts.request.v20150401 import AssumeRoleRequest
 import json
 import json
 import oss2
 import oss2
 import base64
 import base64
+
 '''
 '''
 http://test.dvema.com/cloudVod/getSts?uidToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjaGFubmVsIjoiNCIsInVpZCI6IkZUU0xMOEhNNDM3WjM4V1UxMTFBIn0.wkrwYvIYf5qEukOSTxALSAgSqop-gNBdEvSwScOgYB8
 http://test.dvema.com/cloudVod/getSts?uidToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjaGFubmVsIjoiNCIsInVpZCI6IkZUU0xMOEhNNDM3WjM4V1UxMTFBIn0.wkrwYvIYf5qEukOSTxALSAgSqop-gNBdEvSwScOgYB8
 '''
 '''
 
 
-
-tokenss ={"storage":"VVDHCVBYDKFMJRWA111A/vod1/","SecurityToken":"CAIS9AJ1q6Ft5B2yfSjIr4vNf9GFg7Rt2LWgOkvL0TMBRMFhhKThmzz2IHFIf3NhAe0bv/kzm2lX7/YYlr1NdbNlbnLuXOdTwLF1yzyIOtOYkpRjAyHzaNj3d1KIAjvXgeV+CoeQFaELE5XAQlTAkTAJkNmeXD6+XlujHISUgJp8FLo+VRW5ajw0TbUzIRB5+vcHKVzbN/umLnyShXHLXmZlvgdghER166m03re4iHzkgUb91/UeqqnoP5GgdLMMBppkVMqv1+EELsiH2SVLuR9R7/U03u4W8jHZud3ERGdvzzWtDcDl3v5BCS1DWYFjQvdt6+b7maQ/+JaX9eXW0z9BMftYSD+lIImr25n/H/6zPdsYbcSCWROUiIjJbMKq9Vp5PjRCZF9oA4NwciYrVUZzG2uGdvH7oQzwD139G/Tf4sYfyoFoyljkx92OKmWUTq+RuSRiYc5gNBl5b0NLjDG9LfZZKlwWaT18G62SVp5jypvDLGYoZWYagAFqWQxzeu3nYVPR51pf1gvTX5hCksi9Xu+9WUMqC2YXPy6iHPjKQ+4Al/IfMwb3WZ/uY60LHuATrQUn4oYgYm7sW6NkrveNtiH7bEvZgoVMEx1VDLoL1gk83cxbyoEi436VZFPtfkX+7zZM3U1kUBNHTF+PnA9vmpc2EmpVbwNvEA==","expire":"3600","code":0,"AccessKeySecret":"njEzCG2HcBKFEzLBm1VozanwHUGRFddYPbjf1MSty5a","ip":"120.237.157.184","arn":"acs:ram::1901342792446414:role/stsoss/VVDHCVBYDKFMJRWA111A","endpoint":"oss-cn-shenzhen.aliyuncs.com","bucket_name":"cnvod1","Expiration":"2019-01-25T07:50:39Z","AccessKeyId":"STS.NHx4k1nkLowK8mz53THNMkaJy"}
+# tokenss ={"arn": "acs:ram::1901342792446414:role/stsoss/P2WNGJRD2EHA5EU9111A", "expire": "3600", "Expiration": "2019-02-25T07:03:40Z", "endpoint": "oss-cn-shenzhen.aliyuncs.com", "ip": "120.237.157.181", "storage": "P2WNGJRD2EHA5EU9111A/vod1/", "AccessKeySecret": "ErbGnFyPWPcfNBPRkcpZBJNBVpsX73q2u5vgJYownBQd", "SecurityToken": "CAIS9AJ1q6Ft5B2yfSjIr4vWBsLMjLBI0q2haFD/pTUgb8RvqL3pqDz2IHFIf3NhAe0bv/kzm2lX7/YYlr1LEaBjam7+QZFdzr0K3D7wOtOYkpRIRwn3ctj3d1KIAjvXgeV+CoeQFaELE5XAQlTAkTAJkNmeXD6+XlujHISUgJp8FLo+VRW5ajw0TbUzIRB5+vcHKVzbN/umLnyShXHLXmZlvgdghER166m03re4iHzkgUb91/UeqqnoP5GgdLMMBppkVMqv1+EELsiH2SVLuR9R7/U03u4W8jHZud3ERGEL3DOpEdD4qPBPBVJUW/ljQvdt6+b7maQ/+JaX9eXW0z9BMftYSD+lIImr25n/H/6zPdsYbcSCWROUiIjJbMKq9Vp5PjRCZFpoA4NwciYrVUZzG2uGdvH7oQzwD139G/Tf4sYfyoFoyljkx92OKmWUTq+RuSRiYc5gNBl5b0NLjDG9LfZZKlwWaT18G62SVp5jypvDLGYoZWYagAGOO+MMAjzgPaDMySC/exBy3d1Lp0iCGLeY6HYgMhel1YjuC2+vaPxvIaTgp4n9+QmQi+i1wtRhCVk8bwY0YCgNO5nZds4E0J5g7xTfnMfm30FaRs5s3rJohwEwp4cnsxgqsDGwwvqpOAefRd/hscpw3frgyPEVG6b6XRY4na+xpA==", "AccessKeyId": "STS.NHcMxxaoieoJjvNA5ucKCGxBJ", "bucket_name": "cnvod1", "code": 0}
+tokenss = {"arn": "acs:ram::1901342792446414:role/stsoss/P2WNGJRD2EHA5EU9111A", "expire": "3600", "endpoint": "oss-cn-shenzhen.aliyuncs.com", "AccessKeySecret": "ErbGnFyPWPcfNBPRkcpZBJNBVpsX73q2u5vgJYownBQd", "ip": "120.237.157.181", "storage": "P2WNGJRD2EHA5EU9111A/vod1/", "Expiration": "2019-02-25T07:03:40Z", "SecurityToken": "CAIS9AJ1q6Ft5B2yfSjIr4vWBsLMjLBI0q2haFD/pTUgb8RvqL3pqDz2IHFIf3NhAe0bv/kzm2lX7/YYlr1LEaBjam7+QZFdzr0K3D7wOtOYkpRIRwn3ctj3d1KIAjvXgeV+CoeQFaELE5XAQlTAkTAJkNmeXD6+XlujHISUgJp8FLo+VRW5ajw0TbUzIRB5+vcHKVzbN/umLnyShXHLXmZlvgdghER166m03re4iHzkgUb91/UeqqnoP5GgdLMMBppkVMqv1+EELsiH2SVLuR9R7/U03u4W8jHZud3ERGEL3DOpEdD4qPBPBVJUW/ljQvdt6+b7maQ/+JaX9eXW0z9BMftYSD+lIImr25n/H/6zPdsYbcSCWROUiIjJbMKq9Vp5PjRCZFpoA4NwciYrVUZzG2uGdvH7oQzwD139G/Tf4sYfyoFoyljkx92OKmWUTq+RuSRiYc5gNBl5b0NLjDG9LfZZKlwWaT18G62SVp5jypvDLGYoZWYagAGOO+MMAjzgPaDMySC/exBy3d1Lp0iCGLeY6HYgMhel1YjuC2+vaPxvIaTgp4n9+QmQi+i1wtRhCVk8bwY0YCgNO5nZds4E0J5g7xTfnMfm30FaRs5s3rJohwEwp4cnsxgqsDGwwvqpOAefRd/hscpw3frgyPEVG6b6XRY4na+xpA==", "AccessKeyId": "STS.NHcMxxaoieoJjvNA5ucKCGxBJ", "bucket_name": "cnvod1", "code": 0}
 # 使用RAM账号的AccessKeyId和AccessKeySecret向STS申请临时token。
 # 使用RAM账号的AccessKeyId和AccessKeySecret向STS申请临时token。
 
 
 # 使用临时token中的认证信息初始化StsAuth实例。
 # 使用临时token中的认证信息初始化StsAuth实例。
@@ -55,11 +56,11 @@ bucket = oss2.Bucket(auth, tokenss['endpoint'], tokenss['bucket_name'])
 # # 上传一个字符串。
 # # 上传一个字符串。
 # bucket.delete_object('a-3.txt')
 # bucket.delete_object('a-3.txt')
 # exit()
 # exit()
-patht=tokenss['storage']+'asfsdafsdafdsa'
+patht = tokenss['storage'] + 'asfsdafsdafdsa'
 print(patht)
 print(patht)
 print(endpoint)
 print(endpoint)
-print(bucket.put_object(patht, b'asdfasdfsadfdsafsdfdsaf'))
+print(bucket.put_object(patht, b'ddd'))
 # bucket.put_object('FTSLL8HM437Z38WU111A/vod4/1234.txt', b'12345646',headers)
 # bucket.put_object('FTSLL8HM437Z38WU111A/vod4/1234.txt', b'12345646',headers)
 exit()
 exit()
-res = bucket.get_object('1234.txt')
+res = bucket.get_object('ddd.txt')
 print(res.read())
 print(res.read())

+ 5 - 0
Controller/CloudVod.py

@@ -443,6 +443,8 @@ class CloudVodView(View):
                         ctcTime = ubqs[0]['endTime'] - nowTime
                         ctcTime = ubqs[0]['endTime'] - nowTime
                         multiple = math.ceil(upgrade_storeDay / origin_storeDay)
                         multiple = math.ceil(upgrade_storeDay / origin_storeDay)
                         ubqs.update(endTime=ctcTime / multiple + addTime + ubqs[0]['endTime'], bucket_id=bucketId)
                         ubqs.update(endTime=ctcTime / multiple + addTime + ubqs[0]['endTime'], bucket_id=bucketId)
+                        # 付款成功把oss token删除
+                        OssCrdModel.objects.filter(uid=UID, channel=channel).delete()
         # 新增模式
         # 新增模式
         else:
         else:
             print('create')
             print('create')
@@ -493,6 +495,9 @@ class CloudVodView(View):
         print(channel)
         print(channel)
         print(UID)
         print(UID)
         nowTime = int(time.time())
         nowTime = int(time.time())
+        if not OssCrdModel.objects.filter(uid=UID, channel=channel).exists():
+            res = {'code': 404, 'msg': '设备未购买'}
+            return HttpResponse(json.dumps(res, ensure_ascii=False), content_type="application/json,charset=utf-8")
         qs = UID_Bucket.objects.filter(uid=UID, channel=channel, status=1, endTime__gte=nowTime). \
         qs = UID_Bucket.objects.filter(uid=UID, channel=channel, status=1, endTime__gte=nowTime). \
             values("channel", "bucket__storeDay", "bucket_id")
             values("channel", "bucket__storeDay", "bucket_id")
         if not qs.exists():
         if not qs.exists():

+ 3 - 2
Controller/Test.py

@@ -30,7 +30,7 @@ class Test(View):
         alipay_public_key_string = open(BASE_DIR + '/Controller/alipay_public_2048.pem').read()
         alipay_public_key_string = open(BASE_DIR + '/Controller/alipay_public_2048.pem').read()
         orderID = int(time.time())+int(time.time())
         orderID = int(time.time())+int(time.time())
         alipay = AliPay(
         alipay = AliPay(
-            appid="2017080107983629",
+            appid="2016092200569234",
             app_notify_url=None,  # the default notify path
             app_notify_url=None,  # the default notify path
             app_private_key_string=app_private_key_string,
             app_private_key_string=app_private_key_string,
             # alipay public key, do not use your own public key!
             # alipay public key, do not use your own public key!
@@ -41,7 +41,7 @@ class Test(View):
         order_string = alipay.api_alipay_trade_wap_pay(
         order_string = alipay.api_alipay_trade_wap_pay(
             out_trade_no=str(orderID),
             out_trade_no=str(orderID),
             total_amount=0.01,
             total_amount=0.01,
-            subject="实用性充气玩具",
+            subject="实用性充气玩具",
             return_url="https://test.dvema.com",
             return_url="https://test.dvema.com",
             # notify_url="https://example.com/notify"  # this is optional
             # notify_url="https://example.com/notify"  # this is optional
         )
         )
@@ -49,6 +49,7 @@ class Test(View):
         from django.http import HttpResponseRedirect
         from django.http import HttpResponseRedirect
         # return response.json(0,"https://openapi.alipay.com/gateway.do? + {order_string}".format(order_string=order_string))
         # return response.json(0,"https://openapi.alipay.com/gateway.do? + {order_string}".format(order_string=order_string))
         print(order_string)
         print(order_string)
+        return HttpResponseRedirect("https://openapi.alipaydev.com/gateway.do?"+order_string)
         return HttpResponseRedirect("https://openapi.alipay.com/gateway.do?"+order_string)
         return HttpResponseRedirect("https://openapi.alipay.com/gateway.do?"+order_string)
     #     # 增加
     #     # 增加
     # def get(self, request, *args, **kwargs):
     # def get(self, request, *args, **kwargs):

+ 1 - 1
Controller/alipay_private_2048.pem

@@ -1,3 +1,3 @@
 -----BEGIN RSA PRIVATE KEY-----
 -----BEGIN RSA PRIVATE KEY-----
-MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAJ4D0X+Acm0doFGhdHZMj9fCH63UKqVUHrOpHJrwBiQCo0CErQxX2xeLZn1/aJxSKAZjb799UaSYAyF1yk8vICNdLjADkvmor817hvnISv2N3015jdPgQagGBrk6NOPQtR/XQvs4yOCt11ywoTb9dAbzH/Z3y2Zz9L7TVZz4Mn9LAgMBAAECgYB9dUam1xMC85zQc0KGkq86fVStrWDWt31Q5BpkIeKeQMHhffXvcOnxPar4RWqHgutodxbIkPV7m34Q2Pbx+9alPMQ5REz2jIgbCMkYchLntKhUEp+gjXEGyvOrxIGxU/nIir15AQSRaXFSJsQfPZmNJYjjt08lHxuHnXikHGmYIQJBANt0tloEDtJnPw3S/mRpshmCyXdQErjb/D9o9aUQ0awqCjWiTrBm8NKFiF3znyaj/+td5O8e5DSQUHNYsDQLYfMCQQC4U+jUM9YyH8heyQ/9IIafeBK4KNHTs9s0Ei8cNBxE+rkxx4rHtAmWaJIri0++roUAvf+f5rVnMNaDfQpCsWtJAkAEC4qw7hI33p9S6ei2gRw/TCHaiSdPMP7dTFn6yOyUd9HoWy2IIt2dg8iXsr3kQHGfLQPjRHaAYYiaF7BnxS3xAkBgntNP0HA5zAEq9jfkVpVaqAUf9X2ve/quO83n+cTLv6Ut28v6THwuFFhybM77Q93B+tYwyi1Sjv4S5ItpVDjJAkEAz1AETePkD/SzkWi4YFH58fUyZSDT132Fai0Yki8p4WpEE1RJN8s4xeG5us/BfamtD36m9pNETb3xpVhuDzurZw==
+MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAJln2lJwRHikmZEx1zYkGTr+0Wa65hEzHZMDjqEMpXSKIuVq6AnNnPolM+0PSghpotSdrYfMHO0Q9J4FdM6TxAlPMsVcYFrOAXUEjK88/DBoYkdIgNtwDyE8sKjMrk59YwMcv2PvsjoPv2/peFoaYopM3K0s/1wZn5h4gLsTPxFbAgMBAAECgYEAim1eYrmP79WIBa8V5nMYmVXLm4nXhXm8nCa/k7AXtVvZNXAMxpvVpRvhCW+cfI7mMjm+lyWmjH2aXuXJi4dngxn2kgKW0zPo9RmUfRyBzlCQqkLhtg4QsMf2HjAQO+LRDAEPzxEvCAXQZSbUPXXM/ii5Yc8tVZc9KPZ6Psc+WuECQQDy1T9+Y+4NZuzN285rRoszrutHskAd8/WPZSJktlFb7YcVQoaswMpLs3A66zDZbh+dXsaDXj2klEyUGMPqzvdzAkEAoblE00pGoRa/pYvNiL0EpZw9XY6qWfs+9qgXuaBfeBnvKvEg0m+H7zrQxN+mjoI0TsCh5FdPAddgEPZPaIR0eQJAbvv53glMJsHw3xFkIXGHc6Kxk/4rAcWbaONfOcp+GtbP026pYNFoY/rqA3O0yttjBajob+glok/JRDKhcHMRcwJBAJ9kSkE044fBNAGlWF18bigLZS/gfGVTCytvYHLDbVShuudH4GGHKyLNhRWEmFO8YHF9yhGTO3tFGpmdKYaJhYECQQCHvaOoxBe2bsPMCVEf+HUSS0ZOLGgKhnF4yUG3GibkoqR2IMsvfxJb5cHvBGXSmw3Jn3/oCRQ7f1AmH6cWCGep
 -----END RSA PRIVATE KEY-----
 -----END RSA PRIVATE KEY-----

+ 1 - 1
Controller/alipay_public_2048.pem

@@ -1,3 +1,3 @@
 -----BEGIN PUBLIC KEY-----
 -----BEGIN PUBLIC KEY-----
-MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDI6d306Q8fIfCOaTXyiUeJHkrIvYISRcc73s3vF1ZT7XN8RNPwJxo8pWaJMmvyTn9N4HQ632qJBVHf8sxHi/fEsraprwCtzvzQETrNRwVxLO5jVmRGi60j8Ue1efIlzPXV9je9mkjzOmdssymZkh2QhUrCmZYI/FCEa3/cNMW0QIDAQAB
+MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIgHnOn7LLILlKETd6BFRJ0GqgS2Y3mn1wMQmyh9zEyWlz5p1zrahRahbXAfCfSqshSNfqOmAQzSHRVjCqjsAw1jyqrXaPdKBmr90DIpIxmIyKXv4GGAkPyJ/6FTFY99uhpiq0qadD/uSzQsefWo0aTvP/65zi3eof7TcZ32oWpwIDAQAB
 -----END PUBLIC KEY-----
 -----END PUBLIC KEY-----