|
@@ -198,10 +198,10 @@ class CloudStorageView(View):
|
|
else:
|
|
else:
|
|
qs = qs.filter(pay_type='10')
|
|
qs = qs.filter(pay_type='10')
|
|
|
|
|
|
- qs = qs.values("id", "title", "content", "price",
|
|
|
|
- "day", "currency", "bucket__storeDay",
|
|
|
|
- "bucket__bucket", "bucket__area",
|
|
|
|
- "commodity_code", "commodity_type", "is_discounts", "virtual_price", "expire")
|
|
|
|
|
|
+ qs = qs.values("id", "title", "content", "price","day", "currency", "bucket__storeDay",
|
|
|
|
+ "bucket__bucket", "bucket__area","commodity_code",
|
|
|
|
+ "commodity_type", "is_discounts", "virtual_price", "expire",
|
|
|
|
+ "discount_price", "discount_content")
|
|
|
|
|
|
if qs.exists():
|
|
if qs.exists():
|
|
ql = list(qs)
|
|
ql = list(qs)
|
|
@@ -892,7 +892,7 @@ class CloudStorageView(View):
|
|
print("Payment execute successfully")
|
|
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")
|
|
|
|
|
|
+ order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts")
|
|
UID = order_list[0]['UID']
|
|
UID = order_list[0]['UID']
|
|
channel = order_list[0]['channel']
|
|
channel = order_list[0]['channel']
|
|
rank = order_list[0]['rank']
|
|
rank = order_list[0]['rank']
|
|
@@ -905,17 +905,20 @@ class CloudStorageView(View):
|
|
# ##
|
|
# ##
|
|
ubqs = UID_Bucket.objects.filter(bucket__id=bucketId, uid=UID, channel=channel, endTime__gte=nowTime). \
|
|
ubqs = UID_Bucket.objects.filter(bucket__id=bucketId, uid=UID, channel=channel, endTime__gte=nowTime). \
|
|
values("bucket__storeDay", "bucket__region", "endTime")
|
|
values("bucket__storeDay", "bucket__region", "endTime")
|
|
|
|
+ expire = smqs[0]['expire']
|
|
|
|
+ if order_list[0]['isSelectDiscounts'] == 1:
|
|
|
|
+ expire = smqs[0]['expire'] * 2
|
|
if ubqs.exists():
|
|
if ubqs.exists():
|
|
ubqs_count = ubqs.count()
|
|
ubqs_count = ubqs.count()
|
|
print(ubqs_count)
|
|
print(ubqs_count)
|
|
ubq = ubqs[ubqs_count - 1]
|
|
ubq = ubqs[ubqs_count - 1]
|
|
- endTime = CommonService.calcMonthLater(smqs[0]['expire'],ubq['endTime'])
|
|
|
|
|
|
+ endTime = CommonService.calcMonthLater(expire,ubq['endTime'])
|
|
ub_cqs = ubqs.update \
|
|
ub_cqs = ubqs.update \
|
|
(uid=UID, channel=channel, bucket_id=bucketId,
|
|
(uid=UID, channel=channel, bucket_id=bucketId,
|
|
endTime=endTime)
|
|
endTime=endTime)
|
|
uid_bucket_id = ub_cqs.id
|
|
uid_bucket_id = ub_cqs.id
|
|
else:
|
|
else:
|
|
- endTime = CommonService.calcMonthLater(smqs[0]['expire'])
|
|
|
|
|
|
+ endTime = CommonService.calcMonthLater(expire)
|
|
ub_cqs = UID_Bucket.objects.create \
|
|
ub_cqs = UID_Bucket.objects.create \
|
|
(uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime)
|
|
(uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime)
|
|
uid_bucket_id = ub_cqs.id
|
|
uid_bucket_id = ub_cqs.id
|
|
@@ -974,6 +977,7 @@ class CloudStorageView(View):
|
|
channel = request_dict.get('channel', None)
|
|
channel = request_dict.get('channel', None)
|
|
pay_type = int(request_dict.get('pay_type', None))
|
|
pay_type = int(request_dict.get('pay_type', None))
|
|
rank = request_dict.get('rank', None)
|
|
rank = request_dict.get('rank', None)
|
|
|
|
+ is_select_discount = request_dict.get('is_select_discount', None)
|
|
|
|
|
|
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(13, '参数有误.')
|
|
return response.json(13, '参数有误.')
|
|
@@ -981,11 +985,15 @@ class CloudStorageView(View):
|
|
if not dv_qs.exists():
|
|
if not dv_qs.exists():
|
|
return response.json(12)
|
|
return response.json(12)
|
|
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', 'commodity_type', 'title', 'content', 'expire', 'commodity_code')
|
|
|
|
|
|
+ values('currency', 'price', 'content', 'day',
|
|
|
|
+ 'commodity_type', 'title', 'content',
|
|
|
|
+ 'expire', 'commodity_code', 'discount_price')
|
|
if not smqs.exists():
|
|
if not smqs.exists():
|
|
return response.json(10, '套餐不存在')
|
|
return response.json(10, '套餐不存在')
|
|
currency = smqs[0]['currency']
|
|
currency = smqs[0]['currency']
|
|
price = smqs[0]['price']
|
|
price = smqs[0]['price']
|
|
|
|
+ if is_select_discount == 1:
|
|
|
|
+ price = float(smqs[0]['price']) + float(smqs[0]['discount_price'])
|
|
content = smqs[0]['content']
|
|
content = smqs[0]['content']
|
|
day = smqs[0]['day']
|
|
day = smqs[0]['day']
|
|
commodity_code = smqs[0]['commodity_code']
|
|
commodity_code = smqs[0]['commodity_code']
|
|
@@ -1027,7 +1035,7 @@ class CloudStorageView(View):
|
|
Order_Model.objects.create(orderID=orderID, UID=uid, channel=channel, userID_id=userID,
|
|
Order_Model.objects.create(orderID=orderID, UID=uid, channel=channel, userID_id=userID,
|
|
desc=content, payType=pay_type, payTime=nowTime,
|
|
desc=content, payType=pay_type, payTime=nowTime,
|
|
price=price, currency=currency, addTime=nowTime, updTime=nowTime,
|
|
price=price, currency=currency, addTime=nowTime, updTime=nowTime,
|
|
- pay_url=approval_url,
|
|
|
|
|
|
+ pay_url=approval_url, isSelectDiscounts=is_select_discount,
|
|
commodity_code=commodity_code, commodity_type=commodity_type,rank_id=rank)
|
|
commodity_code=commodity_code, commodity_type=commodity_type,rank_id=rank)
|
|
return response.json(0, {"redirectUrl": approval_url, "orderID": orderID})
|
|
return response.json(0, {"redirectUrl": approval_url, "orderID": orderID})
|
|
return response.json(10, 'generate_order_false')
|
|
return response.json(10, 'generate_order_false')
|
|
@@ -1057,7 +1065,7 @@ class CloudStorageView(View):
|
|
Order_Model.objects.create(orderID=orderID, UID=uid, channel=channel, userID_id=userID,
|
|
Order_Model.objects.create(orderID=orderID, UID=uid, channel=channel, userID_id=userID,
|
|
desc=content, payType=pay_type, payTime=nowTime,
|
|
desc=content, payType=pay_type, payTime=nowTime,
|
|
price=price, currency=currency, addTime=nowTime, updTime=nowTime,
|
|
price=price, currency=currency, addTime=nowTime, updTime=nowTime,
|
|
- pay_url=redirectUrl,
|
|
|
|
|
|
+ pay_url=redirectUrl, isSelectDiscounts=is_select_discount,
|
|
commodity_code=commodity_code, commodity_type=commodity_type,rank_id=rank)
|
|
commodity_code=commodity_code, commodity_type=commodity_type,rank_id=rank)
|
|
return JsonResponse(status=200, data={'result_code': 0, 'reason': 'success',
|
|
return JsonResponse(status=200, data={'result_code': 0, 'reason': 'success',
|
|
'result': {"redirectUrl": redirectUrl, "orderID": orderID},
|
|
'result': {"redirectUrl": redirectUrl, "orderID": orderID},
|
|
@@ -1084,7 +1092,7 @@ class CloudStorageView(View):
|
|
Order_Model.objects.create(orderID=orderID, UID=uid, channel=channel, userID_id=userID,
|
|
Order_Model.objects.create(orderID=orderID, UID=uid, channel=channel, userID_id=userID,
|
|
desc=content, payType=pay_type, payTime=nowTime,
|
|
desc=content, payType=pay_type, payTime=nowTime,
|
|
price=price, currency=currency, addTime=nowTime, updTime=nowTime,
|
|
price=price, currency=currency, addTime=nowTime, updTime=nowTime,
|
|
- pay_url=notify_url,
|
|
|
|
|
|
+ pay_url=notify_url, isSelectDiscounts=is_select_discount,
|
|
commodity_code=commodity_code, commodity_type=commodity_type,rank_id=rank)
|
|
commodity_code=commodity_code, commodity_type=commodity_type,rank_id=rank)
|
|
return JsonResponse(status=200, data={'result_code': 0, 'reason': 'success',
|
|
return JsonResponse(status=200, data={'result_code': 0, 'reason': 'success',
|
|
'result': response,
|
|
'result': response,
|