|
@@ -31,7 +31,7 @@ from django.views.generic.base import View
|
|
from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_ARN, SERVER_DOMAIN, PAYPAL_CRD, \
|
|
from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, OSS_ROLE_ARN, SERVER_DOMAIN, PAYPAL_CRD, \
|
|
SERVER_DOMAIN_SSL
|
|
SERVER_DOMAIN_SSL
|
|
from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel, \
|
|
from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel, \
|
|
- ExperienceContextModel, Pay_Type, CDKcontextModel
|
|
|
|
|
|
+ ExperienceContextModel, Pay_Type, CDKcontextModel, Device_User
|
|
from Object.AliPayObject import AliPayObject
|
|
from Object.AliPayObject import AliPayObject
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.TokenObject import TokenObject
|
|
from Object.TokenObject import TokenObject
|
|
@@ -120,11 +120,11 @@ class CloudStorageView(View):
|
|
elif operation == 'experiencereset':
|
|
elif operation == 'experiencereset':
|
|
return self.do_experience_reset(request_dict, userID, response)
|
|
return self.do_experience_reset(request_dict, userID, response)
|
|
elif operation == 'deletevodlist':
|
|
elif operation == 'deletevodlist':
|
|
- return self.deleteVodList(request_dict, response)
|
|
|
|
|
|
+ return self.deleteVodList(request_dict, userID, response)
|
|
elif operation == 'devicecommodity':
|
|
elif operation == 'devicecommodity':
|
|
- return self.device_commodity(request_dict, response)
|
|
|
|
|
|
+ return self.device_commodity(request_dict, userID, response)
|
|
elif operation == 'switchdevicecommodity':
|
|
elif operation == 'switchdevicecommodity':
|
|
- return self.switch_device_commodity(request_dict, response)
|
|
|
|
|
|
+ return self.switch_device_commodity(request_dict, userID, response)
|
|
else:
|
|
else:
|
|
return response.json(414)
|
|
return response.json(414)
|
|
|
|
|
|
@@ -474,11 +474,11 @@ class CloudStorageView(View):
|
|
uid = request_dict.get('uid', None)
|
|
uid = request_dict.get('uid', None)
|
|
channel = request_dict.get('channel', None)
|
|
channel = request_dict.get('channel', None)
|
|
|
|
|
|
- dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False).values('primaryUserID',
|
|
|
|
- 'primaryMaster')
|
|
|
|
|
|
+ dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False).values('vodPrimaryUserID',
|
|
|
|
+ 'vodPrimaryMaster')
|
|
if not dv_qs.exists():
|
|
if not dv_qs.exists():
|
|
return response.json(12)
|
|
return response.json(12)
|
|
- if dv_qs[0]['primaryUserID'] != '' and dv_qs[0]['primaryUserID'] != userID:
|
|
|
|
|
|
+ if dv_qs[0]['vodPrimaryUserID'] != '' and dv_qs[0]['vodPrimaryUserID'] != userID:
|
|
return response.json(10034)
|
|
return response.json(10034)
|
|
now_time = int(time.time())
|
|
now_time = int(time.time())
|
|
bv_qs = UID_Bucket.objects.filter(uid=uid,channel=channel, endTime__gte=now_time).order_by('addTime')
|
|
bv_qs = UID_Bucket.objects.filter(uid=uid,channel=channel, endTime__gte=now_time).order_by('addTime')
|
|
@@ -512,6 +512,7 @@ class CloudStorageView(View):
|
|
vod_play_list.append({'name': vod['time'], 'sign_url': vod_play_url,
|
|
vod_play_list.append({'name': vod['time'], 'sign_url': vod_play_url,
|
|
'thumb': thumb, 'sec': vod['sec'], 'vod_id': vod['id']})
|
|
'thumb': thumb, 'sec': vod['sec'], 'vod_id': vod['id']})
|
|
elif bucket__mold == 1:
|
|
elif bucket__mold == 1:
|
|
|
|
+
|
|
# aws_access_key_id = 'AKIA2E67UIMD45Y3HL53'
|
|
# aws_access_key_id = 'AKIA2E67UIMD45Y3HL53'
|
|
# aws_secret_access_key = 'ckYLg4Lo9ZXJIcJEAKkzf2rWvs8Xth1FCjqiAqUw'
|
|
# aws_secret_access_key = 'ckYLg4Lo9ZXJIcJEAKkzf2rWvs8Xth1FCjqiAqUw'
|
|
# session = Session(
|
|
# session = Session(
|
|
@@ -520,7 +521,7 @@ class CloudStorageView(View):
|
|
# region_name=bucket__region
|
|
# region_name=bucket__region
|
|
# )
|
|
# )
|
|
# conn = session.client('s3')
|
|
# conn = session.client('s3')
|
|
-
|
|
|
|
|
|
+ #
|
|
# thumbspng = '{uid}/vod{channel}/{time}/Thumb.jpeg'. \
|
|
# thumbspng = '{uid}/vod{channel}/{time}/Thumb.jpeg'. \
|
|
# format(uid=uid, channel=channel, time=vod['time'])
|
|
# format(uid=uid, channel=channel, time=vod['time'])
|
|
# response_url = conn.generate_presigned_url(
|
|
# response_url = conn.generate_presigned_url(
|
|
@@ -532,7 +533,6 @@ class CloudStorageView(View):
|
|
# ExpiresIn=3600
|
|
# ExpiresIn=3600
|
|
# )
|
|
# )
|
|
# thumb_url = response_url
|
|
# thumb_url = response_url
|
|
- # format(uid=uid, channel=channel, time=vod['time'])
|
|
|
|
|
|
|
|
vod_url = '{server_domain}/cloudstorage/signplaym3u8?' \
|
|
vod_url = '{server_domain}/cloudstorage/signplaym3u8?' \
|
|
'uid={uid}&channel={channel}&time={time}&sign=tktktktk'. \
|
|
'uid={uid}&channel={channel}&time={time}&sign=tktktktk'. \
|
|
@@ -620,36 +620,6 @@ class CloudStorageView(View):
|
|
res = {'code': 404, 'msg': '设备未购买'}
|
|
res = {'code': 404, 'msg': '设备未购买'}
|
|
return HttpResponse(json.dumps(res, ensure_ascii=False), content_type="application/json,charset=utf-8")
|
|
return HttpResponse(json.dumps(res, ensure_ascii=False), content_type="application/json,charset=utf-8")
|
|
|
|
|
|
- # def do_change_vod_status(self, request_dict, userID, response):
|
|
|
|
- # uid = request_dict.get('uid', None)
|
|
|
|
- # status = request_dict.get('status', None)
|
|
|
|
- # channel = request_dict.get('channel', None)
|
|
|
|
- # if all([uid, status, channel]):
|
|
|
|
- # dv_qs = Device_Info.objects.filter(UID=uid, userID_id=userID, isShare=False, isExist=1)
|
|
|
|
- # if dv_qs.exists():
|
|
|
|
- # now_time = int(time.time())
|
|
|
|
- # ub_qs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=now_time)
|
|
|
|
- # if ub_qs.exists():
|
|
|
|
- # ub_qs.status = status
|
|
|
|
- # ub_qs.save()
|
|
|
|
- # if status == 0:
|
|
|
|
- # return response.json(0)
|
|
|
|
- # else:
|
|
|
|
- # utko = UidTokenObject()
|
|
|
|
- # utko.generate(data={'uid': uid, 'channel': channel})
|
|
|
|
- # uidTK = utko.token
|
|
|
|
- # uidTkUrl = "{SERVER_DOMAIN}cloudstorage/getsignsts?uidToken={uidToken}". \
|
|
|
|
- # format(uidToken=uidTK, SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
- # storeHlsUrl = "{SERVER_DOMAIN}cloudstorage/storeplaylist?uidToken={uidToken}". \
|
|
|
|
- # format(uidToken=uidTK, SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
- # return response.json(0, {'uidTkUrl': uidTkUrl, 'storeHlsUrl': storeHlsUrl})
|
|
|
|
- # else:
|
|
|
|
- # return response.json(10, '未购买')
|
|
|
|
- # else:
|
|
|
|
- # return response.json(12)
|
|
|
|
- # else:
|
|
|
|
- # return response.json(444, 'uid,status,channel')
|
|
|
|
-
|
|
|
|
def do_change_vod_status(self, request_dict, userID, response):
|
|
def do_change_vod_status(self, request_dict, userID, response):
|
|
uid = request_dict.get('uid', None)
|
|
uid = request_dict.get('uid', None)
|
|
status = request_dict.get('status', None)
|
|
status = request_dict.get('status', None)
|
|
@@ -901,11 +871,11 @@ class CloudStorageView(View):
|
|
(uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime, addTime=nowTime, updateTime=nowTime)
|
|
(uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime, addTime=nowTime, updateTime=nowTime)
|
|
uid_bucket_id = ub_cqs.id
|
|
uid_bucket_id = ub_cqs.id
|
|
|
|
|
|
- dvq = Device_Info.objects.filter(UID=UID, primaryUserID='', primaryMaster='')
|
|
|
|
|
|
+ dvq = Device_Info.objects.filter(UID=UID, vodPrimaryUserID='', vodPrimaryMaster='')
|
|
if dvq.exists():
|
|
if dvq.exists():
|
|
dvq_set_update_dict = {
|
|
dvq_set_update_dict = {
|
|
- 'primaryUserID': userid,
|
|
|
|
- 'primaryMaster': username
|
|
|
|
|
|
+ 'vodPrimaryUserID': userid,
|
|
|
|
+ 'vodPrimaryMaster': username
|
|
}
|
|
}
|
|
dvq.update(**dvq_set_update_dict)
|
|
dvq.update(**dvq_set_update_dict)
|
|
|
|
|
|
@@ -918,18 +888,18 @@ class CloudStorageView(View):
|
|
paymentId = request_dict.get('paymentId', None)
|
|
paymentId = request_dict.get('paymentId', None)
|
|
PayerID = request_dict.get('PayerID', None)
|
|
PayerID = request_dict.get('PayerID', None)
|
|
orderID = request_dict.get('orderID', None)
|
|
orderID = request_dict.get('orderID', None)
|
|
- # if not paymentId or not PayerID or not orderID:
|
|
|
|
- # red_url = "{SERVER_DOMAIN}cloudstorage/payError".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
- # return HttpResponseRedirect(red_url)
|
|
|
|
- # paypalrestsdk.configure(PAYPAL_CRD)
|
|
|
|
- # # ID of the payment. This ID is provided when creating payment.
|
|
|
|
- # payment = paypalrestsdk.Payment.find(paymentId)
|
|
|
|
- # payres = payment.execute({"payer_id": PayerID})
|
|
|
|
- # print(payres)
|
|
|
|
- # if not payres:
|
|
|
|
- # red_url = "{SERVER_DOMAIN}cloudstorage/payError".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
- # return HttpResponseRedirect(red_url)
|
|
|
|
- # print("Payment execute successfully")
|
|
|
|
|
|
+ if not paymentId or not PayerID or not orderID:
|
|
|
|
+ red_url = "{SERVER_DOMAIN}cloudstorage/payError".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
+ return HttpResponseRedirect(red_url)
|
|
|
|
+ paypalrestsdk.configure(PAYPAL_CRD)
|
|
|
|
+ # ID of the payment. This ID is provided when creating payment.
|
|
|
|
+ payment = paypalrestsdk.Payment.find(paymentId)
|
|
|
|
+ payres = payment.execute({"payer_id": PayerID})
|
|
|
|
+ print(payres)
|
|
|
|
+ if not payres:
|
|
|
|
+ red_url = "{SERVER_DOMAIN}cloudstorage/payError".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
|
+ return HttpResponseRedirect(red_url)
|
|
|
|
+ print("Payment execute successfully")
|
|
order_qs = Order_Model.objects.filter(orderID=orderID)
|
|
order_qs = Order_Model.objects.filter(orderID=orderID)
|
|
nowTime = int(time.time())
|
|
nowTime = int(time.time())
|
|
order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts", "userID__userID",
|
|
order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts", "userID__userID",
|
|
@@ -963,11 +933,11 @@ class CloudStorageView(View):
|
|
(uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime, addTime=nowTime, updateTime=nowTime)
|
|
(uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime, addTime=nowTime, updateTime=nowTime)
|
|
uid_bucket_id = ub_cqs.id
|
|
uid_bucket_id = ub_cqs.id
|
|
|
|
|
|
- dvq = Device_Info.objects.filter(UID=UID, primaryUserID='', primaryMaster='')
|
|
|
|
|
|
+ dvq = Device_Info.objects.filter(UID=UID, vodPrimaryUserID='', vodPrimaryMaster='')
|
|
if dvq.exists():
|
|
if dvq.exists():
|
|
dvq_set_update_dict = {
|
|
dvq_set_update_dict = {
|
|
- 'primaryUserID': userid,
|
|
|
|
- 'primaryMaster': username
|
|
|
|
|
|
+ 'vodPrimaryUserID': userid,
|
|
|
|
+ 'vodPrimaryMaster': username
|
|
}
|
|
}
|
|
dvq.update(**dvq_set_update_dict)
|
|
dvq.update(**dvq_set_update_dict)
|
|
order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
|
|
order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
|
|
@@ -1017,11 +987,11 @@ class CloudStorageView(View):
|
|
(uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime, addTime=nowTime, updateTime=nowTime)
|
|
(uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime, addTime=nowTime, updateTime=nowTime)
|
|
uid_bucket_id = ub_cqs.id
|
|
uid_bucket_id = ub_cqs.id
|
|
|
|
|
|
- dvq = Device_Info.objects.filter(UID=UID, primaryUserID='', primaryMaster='')
|
|
|
|
|
|
+ dvq = Device_Info.objects.filter(UID=UID, vodPrimaryUserID='', vodPrimaryMaster='')
|
|
if dvq.exists():
|
|
if dvq.exists():
|
|
dvq_set_update_dict = {
|
|
dvq_set_update_dict = {
|
|
- 'primaryUserID': userid,
|
|
|
|
- 'primaryMaster': username
|
|
|
|
|
|
+ 'vodPrimaryUserID': userid,
|
|
|
|
+ 'vodPrimaryMaster': username
|
|
}
|
|
}
|
|
dvq.update(**dvq_set_update_dict)
|
|
dvq.update(**dvq_set_update_dict)
|
|
order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
|
|
order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
|
|
@@ -1036,13 +1006,25 @@ class CloudStorageView(View):
|
|
is_select_discount = request_dict.get('is_select_discount', 0)
|
|
is_select_discount = request_dict.get('is_select_discount', 0)
|
|
if not uid or not channel or not pay_type or not rank:
|
|
if not uid or not channel or not pay_type or not rank:
|
|
return response.json(444)
|
|
return response.json(444)
|
|
- dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False, isExist=1).values('primaryUserID',
|
|
|
|
- 'primaryMaster')
|
|
|
|
|
|
+ dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False, isExist=1).values('vodPrimaryUserID',
|
|
|
|
+ 'vodPrimaryMaster')
|
|
if not dv_qs.exists():
|
|
if not dv_qs.exists():
|
|
return response.json(12)
|
|
return response.json(12)
|
|
|
|
|
|
- if dv_qs[0]['primaryUserID'] != '' and dv_qs[0]['primaryUserID'] != userID:
|
|
|
|
- return response.json(10033)
|
|
|
|
|
|
+ dvq = Device_Info.objects.filter(UID=uid)
|
|
|
|
+ dvq = dvq.filter(~Q(vodPrimaryUserID='')).values('vodPrimaryUserID')
|
|
|
|
+ if dvq.exists():
|
|
|
|
+ if dvq[0]['vodPrimaryUserID'] != userID:
|
|
|
|
+ return response.json(10033)
|
|
|
|
+
|
|
|
|
+ nowTime = int(time.time())
|
|
|
|
+
|
|
|
|
+ # uq = UID_Bucket.objects.filter(uid=uid,endTime__gt=str(nowTime)).values('endTime')
|
|
|
|
+ # if uq.exists():
|
|
|
|
+ # return response.json(10033)
|
|
|
|
+
|
|
|
|
+ # if dv_qs[0]['vodPrimaryUserID'] != '' and dv_qs[0]['vodPrimaryUserID'] != userID:
|
|
|
|
+ # return response.json(10033)
|
|
smqs = Store_Meal.objects.filter(id=rank, pay_type=pay_type). \
|
|
smqs = Store_Meal.objects.filter(id=rank, pay_type=pay_type). \
|
|
values('currency', 'price', 'content', 'day',
|
|
values('currency', 'price', 'content', 'day',
|
|
'commodity_type', 'title', 'content',
|
|
'commodity_type', 'title', 'content',
|
|
@@ -1063,7 +1045,7 @@ class CloudStorageView(View):
|
|
# ubqs_count = ubqs.count()
|
|
# ubqs_count = ubqs.count()
|
|
# ubq = ubqs[ubqs_count - 1, ubqs_count]
|
|
# ubq = ubqs[ubqs_count - 1, ubqs_count]
|
|
# new_starTime = ubq['endTime'] + 1
|
|
# new_starTime = ubq['endTime'] + 1
|
|
- nowTime = int(time.time())
|
|
|
|
|
|
+
|
|
orderID = CommonService.createOrderID()
|
|
orderID = CommonService.createOrderID()
|
|
if pay_type == 1:
|
|
if pay_type == 1:
|
|
call_sub_url = "{SERVER_DOMAIN}cloudstorage/dopaypalcallback?orderID={orderID}". \
|
|
call_sub_url = "{SERVER_DOMAIN}cloudstorage/dopaypalcallback?orderID={orderID}". \
|
|
@@ -1177,64 +1159,58 @@ class CloudStorageView(View):
|
|
|
|
|
|
if uid == None or channel == None or commodity_code == None or pay_type == None or rank == None:
|
|
if uid == None or channel == None or commodity_code == None or pay_type == None or rank == None:
|
|
return response.json(13, '参数有误.')
|
|
return response.json(13, '参数有误.')
|
|
|
|
+
|
|
|
|
+ dvq = Device_Info.objects.filter(UID=uid)
|
|
|
|
+ dvq=dvq.filter(~Q(vodPrimaryUserID='')).values('vodPrimaryUserID')
|
|
|
|
+ if dvq.exists():
|
|
|
|
+ if dvq[0]['vodPrimaryUserID']!=userID:
|
|
|
|
+ if pay_type==10:
|
|
|
|
+ return response.json(10035)
|
|
|
|
+ if pay_type==11:
|
|
|
|
+ return response.json(10036)
|
|
|
|
+
|
|
dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False, isExist=1)
|
|
dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False, isExist=1)
|
|
if not dv_qs.exists():
|
|
if not dv_qs.exists():
|
|
return response.json(12)
|
|
return response.json(12)
|
|
- smqs = Store_Meal.objects.filter(commodity_code=commodity_code, pay_type=pay_type). \
|
|
|
|
- values('currency', 'price', 'content', 'day', 'commodity_type', 'title', 'content')
|
|
|
|
- if not smqs.exists():
|
|
|
|
- return response.json(10, '套餐不存在')
|
|
|
|
- currency = smqs[0]['currency']
|
|
|
|
- price = smqs[0]['price']
|
|
|
|
- content = smqs[0]['content']
|
|
|
|
- day = smqs[0]['day']
|
|
|
|
- commodity_type = smqs[0]['commodity_type']
|
|
|
|
- # ubqs = UID_Bucket.objects.filter(uid=uid, channel=channel, endTime__gte=nowTime). \
|
|
|
|
- # values("bucket__storeDay", "bucket__region", "endTime")
|
|
|
|
- # if ubqs.exists():
|
|
|
|
- # ubqs_count = ubqs.count()
|
|
|
|
- # ubq = ubqs[ubqs_count - 1, ubqs_count]
|
|
|
|
- # new_starTime = ubq['endTime'] + 1
|
|
|
|
- nowTime = int(time.time())
|
|
|
|
- orderID = CommonService.createOrderID()
|
|
|
|
|
|
|
|
- Order_Model.objects.create(orderID=orderID, UID=uid, channel=channel, userID_id=userID,
|
|
|
|
- desc=content, payType=pay_type, payTime=nowTime,
|
|
|
|
- price=price, currency=currency, addTime=nowTime, updTime=nowTime,
|
|
|
|
- pay_url="体验版",
|
|
|
|
- commodity_code=commodity_code, commodity_type=commodity_type,
|
|
|
|
- rank_id=rank)
|
|
|
|
-
|
|
|
|
- order_qs = Order_Model.objects.filter(orderID=orderID)
|
|
|
|
|
|
+ orderID = CommonService.createOrderID()
|
|
nowTime = int(time.time())
|
|
nowTime = int(time.time())
|
|
- order_list = order_qs.values("UID", "channel", "commodity_code")
|
|
|
|
- UID = order_list[0]['UID']
|
|
|
|
- channel = order_list[0]['channel']
|
|
|
|
- commodity_code = order_list[0]['commodity_code']
|
|
|
|
- smqs = Store_Meal.objects.filter(commodity_code=commodity_code). \
|
|
|
|
- values("day", "bucket_id", "bucket__storeDay")
|
|
|
|
- bucketId = smqs[0]['bucket_id']
|
|
|
|
|
|
+ smqs = Store_Meal.objects.filter(id=rank). \
|
|
|
|
+ values("day", "bucket_id", "bucket__storeDay", "expire", 'content', 'price', 'currency', 'commodity_type')
|
|
if not smqs.exists():
|
|
if not smqs.exists():
|
|
- return response.json(0, '套餐已删除')
|
|
|
|
- addTime = int(smqs[0]["day"]) * 24 * 3600
|
|
|
|
|
|
+ return response.json(173)
|
|
|
|
+ bucketId = smqs[0]['bucket_id']
|
|
# ##
|
|
# ##
|
|
- ubqs = UID_Bucket.objects.filter(uid=UID, channel=channel, endTime__gte=nowTime). \
|
|
|
|
- values("bucket__storeDay", "bucket__region", "endTime")
|
|
|
|
|
|
+ ubqs = UID_Bucket.objects.filter(bucket__id=bucketId, uid=uid, channel=channel, endTime__gte=nowTime). \
|
|
|
|
+ values("id", "bucket__storeDay", "bucket__region", "endTime").order_by('addTime')[:1]
|
|
|
|
+ expire = smqs[0]['expire']
|
|
if ubqs.exists():
|
|
if ubqs.exists():
|
|
- ubqs_count = ubqs.count()
|
|
|
|
- print(ubqs_count)
|
|
|
|
- ubq = ubqs[ubqs_count - 1]
|
|
|
|
- print(ubq)
|
|
|
|
- new_starTime = ubq['endTime'] + 1
|
|
|
|
- ub_cqs = UID_Bucket.objects.create \
|
|
|
|
- (uid=UID, channel=channel, bucket_id=bucketId,
|
|
|
|
- endTime=new_starTime + addTime)
|
|
|
|
- uid_bucket_id = ub_cqs.id
|
|
|
|
|
|
+ ubq = ubqs[0]
|
|
|
|
+ endTime = CommonService.calcMonthLater(expire,ubq['endTime'])
|
|
|
|
+ ub_cqs = UID_Bucket.objects.filter(id=ubq['id']).update \
|
|
|
|
+ (uid=uid, channel=channel, bucket_id=bucketId,
|
|
|
|
+ endTime=endTime,updateTime=nowTime)
|
|
|
|
+ uid_bucket_id = ubq['id']
|
|
else:
|
|
else:
|
|
|
|
+ endTime = CommonService.calcMonthLater(expire)
|
|
ub_cqs = UID_Bucket.objects.create \
|
|
ub_cqs = UID_Bucket.objects.create \
|
|
- (uid=UID, channel=channel, bucket_id=bucketId, endTime=nowTime + addTime)
|
|
|
|
|
|
+ (uid=uid, channel=channel, bucket_id=bucketId, endTime=endTime, addTime=nowTime, updateTime=nowTime)
|
|
uid_bucket_id = ub_cqs.id
|
|
uid_bucket_id = ub_cqs.id
|
|
- order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
|
|
|
|
|
|
+ Order_Model.objects.create(orderID=orderID, UID=uid, channel=channel, userID_id=userID,
|
|
|
|
+ desc=smqs[0]['content'], payType=pay_type, payTime=nowTime,
|
|
|
|
+ price=smqs[0]['price'], currency=smqs[0]['currency'], addTime=nowTime, updTime=nowTime,
|
|
|
|
+ pay_url="体验版",
|
|
|
|
+ commodity_code=commodity_code, commodity_type=smqs[0]['commodity_type'],
|
|
|
|
+ rank_id=rank,status=1, uid_bucket_id=uid_bucket_id)
|
|
|
|
+
|
|
|
|
+ duq = Device_User.objects.filter(userID=userID).values('username')
|
|
|
|
+ dvq = Device_Info.objects.filter(UID=uid, vodPrimaryUserID='', vodPrimaryMaster='')
|
|
|
|
+ if dvq.exists():
|
|
|
|
+ dvq_set_update_dict = {
|
|
|
|
+ 'vodPrimaryUserID': userID,
|
|
|
|
+ 'vodPrimaryMaster': duq[0]['username']
|
|
|
|
+ }
|
|
|
|
+ dvq.update(**dvq_set_update_dict)
|
|
|
|
|
|
# return response.json(0)
|
|
# return response.json(0)
|
|
returnurl = "{SERVER_DOMAIN}cloudstorage/payOK".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
returnurl = "{SERVER_DOMAIN}cloudstorage/payOK".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
@@ -1279,8 +1255,12 @@ class CloudStorageView(View):
|
|
return response.json(0,'重置云存体验成功')
|
|
return response.json(0,'重置云存体验成功')
|
|
|
|
|
|
|
|
|
|
- def deleteVodList(self, request_dict, response):
|
|
|
|
|
|
+ def deleteVodList(self, request_dict, userID, response):
|
|
uid = request_dict.get('uid',None)
|
|
uid = request_dict.get('uid',None)
|
|
|
|
+ dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False, isExist=1) \
|
|
|
|
+ .values('vodPrimaryUserID')
|
|
|
|
+ if not dv_qs.exists() or dv_qs[0]['vodPrimaryUserID'] != userID:
|
|
|
|
+ return response.json(12)
|
|
vod_id_list = json.loads(request_dict.get('vod_id_list', None))
|
|
vod_id_list = json.loads(request_dict.get('vod_id_list', None))
|
|
is_del_all = request_dict.get('is_del_all',0)
|
|
is_del_all = request_dict.get('is_del_all',0)
|
|
try:
|
|
try:
|
|
@@ -1296,11 +1276,15 @@ class CloudStorageView(View):
|
|
return response.json(0)
|
|
return response.json(0)
|
|
|
|
|
|
#设备关联套餐列表
|
|
#设备关联套餐列表
|
|
- def device_commodity(self, request_dict, response):
|
|
|
|
|
|
+ def device_commodity(self, request_dict, userID, response):
|
|
uid = request_dict.get('uid',None)
|
|
uid = request_dict.get('uid',None)
|
|
|
|
+ dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False, isExist=1) \
|
|
|
|
+ .values('vodPrimaryUserID')
|
|
|
|
+ if not dv_qs.exists() or dv_qs[0]['vodPrimaryUserID'] != userID:
|
|
|
|
+ return response.json(12)
|
|
now_time = int(time.time())
|
|
now_time = int(time.time())
|
|
uid_bucket = UID_Bucket.objects.filter(uid=uid, endTime__gte=now_time).values("id", "uid", "endTime",
|
|
uid_bucket = UID_Bucket.objects.filter(uid=uid, endTime__gte=now_time).values("id", "uid", "endTime",
|
|
- "bucket__content").order_by('addTime')
|
|
|
|
|
|
+ "bucket__content").order_by('addTime')
|
|
if not uid_bucket.exists():
|
|
if not uid_bucket.exists():
|
|
return response.json(10030)
|
|
return response.json(10030)
|
|
for index, value in enumerate(uid_bucket):
|
|
for index, value in enumerate(uid_bucket):
|
|
@@ -1309,9 +1293,13 @@ class CloudStorageView(View):
|
|
value['is_use'] = 1
|
|
value['is_use'] = 1
|
|
return response.json(0,list(uid_bucket))
|
|
return response.json(0,list(uid_bucket))
|
|
|
|
|
|
- #切换设备关联套餐
|
|
|
|
- def switch_device_commodity(self, request_dict, response):
|
|
|
|
|
|
+ #提前使用设备关联套餐
|
|
|
|
+ def switch_device_commodity(self, request_dict, userID, response):
|
|
uid = request_dict.get('uid',None)
|
|
uid = request_dict.get('uid',None)
|
|
|
|
+ dv_qs = Device_Info.objects.filter(userID_id=userID, UID=uid, isShare=False, isExist=1) \
|
|
|
|
+ .values('vodPrimaryUserID')
|
|
|
|
+ if not dv_qs.exists() or dv_qs[0]['vodPrimaryUserID'] != userID:
|
|
|
|
+ return response.json(12)
|
|
switch_commodity_id = request_dict.get('switch_commodity_id',None)
|
|
switch_commodity_id = request_dict.get('switch_commodity_id',None)
|
|
if switch_commodity_id:
|
|
if switch_commodity_id:
|
|
#切换设备套餐关联
|
|
#切换设备套餐关联
|