|
@@ -868,7 +868,10 @@ class CloudStorageView(View):
|
|
|
print("trade succeed")
|
|
|
order_qs = Order_Model.objects.filter(orderID=orderID)
|
|
|
nowTime = int(time.time())
|
|
|
- order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts")
|
|
|
+ order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts",
|
|
|
+ "userID__userID", "userID__username")
|
|
|
+ userid = order_list['userID__userID']
|
|
|
+ username = order_list['userID__username']
|
|
|
UID = order_list[0]['UID']
|
|
|
channel = order_list[0]['channel']
|
|
|
rank = order_list[0]['rank']
|
|
@@ -896,6 +899,14 @@ class CloudStorageView(View):
|
|
|
(uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime, addTime=nowTime, updateTime=nowTime)
|
|
|
uid_bucket_id = ub_cqs.id
|
|
|
|
|
|
+ dvq = Device_Info.objects.filter(uid=UID, primaryUserID='', primaryMaster='')
|
|
|
+ if dvq.exists():
|
|
|
+ dvq_set_update_dict = {
|
|
|
+ 'primaryUserID': userid,
|
|
|
+ 'primaryMaster': username
|
|
|
+ }
|
|
|
+ dvq.update(**dvq_set_update_dict)
|
|
|
+
|
|
|
order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
|
|
|
red_url = "{SERVER_DOMAIN}cloudstorage/payOK".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
return HttpResponseRedirect(red_url)
|
|
@@ -919,7 +930,10 @@ class CloudStorageView(View):
|
|
|
print("Payment execute successfully")
|
|
|
order_qs = Order_Model.objects.filter(orderID=orderID)
|
|
|
nowTime = int(time.time())
|
|
|
- order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts")
|
|
|
+ order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts", "userID__userID",
|
|
|
+ "userID__username")
|
|
|
+ userid = order_list['userID__userID']
|
|
|
+ username = order_list['userID__username']
|
|
|
UID = order_list[0]['UID']
|
|
|
channel = order_list[0]['channel']
|
|
|
rank = order_list[0]['rank']
|
|
@@ -946,13 +960,20 @@ class CloudStorageView(View):
|
|
|
ub_cqs = UID_Bucket.objects.create \
|
|
|
(uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime, addTime=nowTime, updateTime=nowTime)
|
|
|
uid_bucket_id = ub_cqs.id
|
|
|
+
|
|
|
+ dvq = Device_Info.objects.filter(uid=UID, primaryUserID='', primaryMaster='')
|
|
|
+ if dvq.exists():
|
|
|
+ dvq_set_update_dict = {
|
|
|
+ 'primaryUserID': userid,
|
|
|
+ 'primaryMaster': username
|
|
|
+ }
|
|
|
+ dvq.update(**dvq_set_update_dict)
|
|
|
order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
|
|
|
|
|
|
# return response.json(0)
|
|
|
red_url = "{SERVER_DOMAIN}cloudstorage/payOK".format(SERVER_DOMAIN=SERVER_DOMAIN)
|
|
|
return HttpResponseRedirect(red_url)
|
|
|
|
|
|
-
|
|
|
def do_pay_by_wechat_callback(self, request_dict, response):
|
|
|
result_code = request_dict.get('result_code', None)
|
|
|
if result_code == 'SUCCESS':
|
|
@@ -963,7 +984,10 @@ class CloudStorageView(View):
|
|
|
orderID = request_dict.get('out_trade_no',None)
|
|
|
order_qs = Order_Model.objects.filter(orderID=orderID)
|
|
|
nowTime = int(time.time())
|
|
|
- order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts")
|
|
|
+ order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts",
|
|
|
+ "userID__userID", "userID__username")
|
|
|
+ userid = order_list['userID__userID']
|
|
|
+ username = order_list['userID__username']
|
|
|
UID = order_list[0]['UID']
|
|
|
channel = order_list[0]['channel']
|
|
|
rank = order_list[0]['rank']
|
|
@@ -990,6 +1014,14 @@ class CloudStorageView(View):
|
|
|
ub_cqs = UID_Bucket.objects.create \
|
|
|
(uid=UID, channel=channel, bucket_id=bucketId, endTime=endTime, addTime=nowTime, updateTime=nowTime)
|
|
|
uid_bucket_id = ub_cqs.id
|
|
|
+
|
|
|
+ dvq = Device_Info.objects.filter(uid=UID, primaryUserID='', primaryMaster='')
|
|
|
+ if dvq.exists():
|
|
|
+ dvq_set_update_dict = {
|
|
|
+ 'primaryUserID': userid,
|
|
|
+ 'primaryMaster': username
|
|
|
+ }
|
|
|
+ dvq.update(**dvq_set_update_dict)
|
|
|
order_qs.update(status=1, updTime=nowTime, uid_bucket_id=uid_bucket_id)
|
|
|
return HttpResponse(WechatPayObject.xml_to_dict({'return_code':'SUCCESS', 'return_msg':'OK'}))
|
|
|
return HttpResponse(WechatPayObject.xml_to_dict({'return_code':'FAIL', 'return_msg':'参数格式校验错误'}))
|
|
@@ -1002,9 +1034,13 @@ class CloudStorageView(View):
|
|
|
is_select_discount = request_dict.get('is_select_discount', 0)
|
|
|
if not uid or not channel or not pay_type or not rank:
|
|
|
return response.json(444)
|
|
|
- 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).values('primaryUserID',
|
|
|
+ 'primaryMaster')
|
|
|
if not dv_qs.exists():
|
|
|
return response.json(12)
|
|
|
+
|
|
|
+ if dv_qs[0]['primaryUserID'] != '' and dv_qs[0]['primaryUserID'] != userID:
|
|
|
+ return response.json(13, '非设备主用户无法购买')
|
|
|
smqs = Store_Meal.objects.filter(id=rank, pay_type=pay_type). \
|
|
|
values('currency', 'price', 'content', 'day',
|
|
|
'commodity_type', 'title', 'content',
|