#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved. @AUTHOR: ASJRD018 @NAME: AnsjerFormal @software: PyCharm @DATE: 2020/4/7 10:29 @Version: python3.6 @MODIFY DECORD:ansjer dev @file: CloudStroage.py @Contact: chanjunkai@163.com """ from Object.ResponseObject import ResponseObject from Object.TokenObject import TokenObject from Model.models import Store_Meal, Device_Info,UID_Bucket from Service.CommonService import CommonService import time # def query_cloud_storage(request): # request.encoding = 'utf-8' # response = ResponseObject() # if request.method == 'POST': # request_dict = request.POST # elif request.method == 'GET': # request_dict = request.GET # else: # return response.json(444) # token = request_dict.get('token', None) # tko = TokenObject(token) # response.lang = tko.lang # if tko.code == 0: # qs = Store_Meal.objects.filter(bucket__mold=1) # qs = qs.values("id", "title", "price", "content", "day", # "add_time", "update_time", "currency", # "type", "bucket_id", "bucket__bucket", # "bucket__storeDay") # res = CommonService.qs_to_list(qs) # return response.json(0, res) # else: # return response.json(tko.code) # # # def cloud_storage_buy(request): # request.encoding = 'utf-8' # response = ResponseObject() # if request.method == 'POST': # request_dict = request.POST # elif request.method == 'GET': # request_dict = request.GET # else: # return response.json(444) # token = request_dict.get('token', None) # tko = TokenObject(token) # response.lang = tko.lang # if tko.code != 0: # return response.json(tko.code) # uid = request_dict.get('uid', None) # rank = request_dict.get('rank', None) # channel = request_dict.get('channel', None) # if not uid or not channel or not rank: # return response.json(444, 'channel,rank') # userID = tko.userID # qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False) # if not qs.exists(): # return response.json(12) # smqs = Store_Meal.objects.filter(id=rank).\ # values("currency", "price", "content", "day", "bucket__storeDay", "bucket__region", "type") # if not smqs.exists(): # return response.json(10, '套餐不存在') # if smqs[0]['type'] != 0: # return response.json(10, '套餐不支持paypal支付') # currency = smqs[0]['currency'] # price = smqs[0]['price'] # content = smqs[0]['content'] # day = smqs[0]['day'] # nowTime = int(time.time()) # ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=nowTime). \ # values("bucket__storeDay", "bucket__region") # if ubqs.exists(): # if ubqs[0]['bucket__region'] != smqs[0]['bucket__region']: # return response.json(712) # 区域不一致 # # elif ubqs[0]['bucket__storeDay'] > smqs[0]['bucket__storeDay']: # # return response.json(711) # 不可降级 # elif ubqs[0]['bucket__storeDay'] != smqs[0]['bucket__storeDay']: # return response.json(713) # 不可更改套餐 # # 续费流程 # nowTime = int(time.time()) # # 判断是否存在未完成订单 # # hasOrder = Order_Model.objects.filter(UID=uid, channel=channel, addTime__gte=nowTime - 3600, status=0, # # rank_id=rank, userID_id=userID).values('paypal') # # if hasOrder.exists(): # # approval_url = hasOrder[0]['paypal'] # # return response.json(0, {"redirectUrl": approval_url}) # # 新增流程 # orderID = CommonService.createOrderID() # call_sub_url = "{SERVER_DOMAIN}cloudVod/payExecute?orderID={orderID}". \ # format(SERVER_DOMAIN=SERVER_DOMAIN, orderID=orderID) # # call_sub_url = "http://192.168.136.40:8077/cloudVod/payExecute?orderID={orderID}".format( # # SERVER_DOMAIN=SERVER_DOMAIN, orderID=orderID) # call_clc_url = "{SERVER_DOMAIN}cloudVod/payError".format(SERVER_DOMAIN=SERVER_DOMAIN) # paypalrestsdk.configure(PAYPAL_CRD) # payment = paypalrestsdk.Payment({ # "intent": "sale", # "payer": {"payment_method": "paypal"}, # "redirect_urls": {"return_url": call_sub_url, "cancel_url": call_clc_url}, # "transactions": [{ # "item_list": { # "items": [{"name": "Cloud video", "sku": "1", "price": price, "currency": "USD", "quantity": 1}]}, # "amount": {"total": price, "currency": currency}, # "description": content # }]}) # if payment.create(): # print("Payment created successfully") # else: # print(payment.error) # return response.json(10, payment.error) # print(payment) # for link in payment.links: # if link.rel == "approval_url": # approval_url = str(link.href) # print("Redirect for approval: %s" % (approval_url)) # Order_Model.objects.create(orderID=orderID, UID=uid, channel=channel, userID_id=userID, desc=content, # price=price, currency=currency, addTime=nowTime, updTime=nowTime, # endTime=nowTime + int(day) * 3600 * 24, # rank_id=rank, # paypal=approval_url) # return response.json(0, {"redirectUrl": approval_url, "orderID": orderID}) # return response.json(10, 'generate_order_false') # /cloudstorage/commodity/buy # def query_cloud_storage5(request): # request.encoding = 'utf-8' # response = ResponseObject() # if request.method == 'POST': # request_dict = request.POST # elif request.method == 'GET': # request_dict = request.GET # else: # return response.json(444) # token = request_dict.get('token', None) # tko = TokenObject(token) # response.lang = tko.lang # if tko.code == 0: # qs = Store_Meal.objects.filter(bucket__mold=1) # qs = qs.values("id", "title", "price", "content", "day", # "add_time", "update_time", "currency", # "type", "bucket_id", "bucket__bucket", # "bucket__storeDay") # res = CommonService.qs_to_list(qs) # return response.json(0, res) # else: # return response.json(tko.code)