|
@@ -958,67 +958,79 @@ class CloudStorageView(View):
|
|
|
result_code = request_dict.get('result_code', None)
|
|
|
asy = threading.Thread(target=ModelService.add_log,
|
|
|
args=('回调',
|
|
|
- '回调',result_code))
|
|
|
+ '回调','微信回调成功'))
|
|
|
asy.start()
|
|
|
- if result_code == 'SUCCESS':
|
|
|
- check_sign = WechatPayObject.get_notifypay(request_dict)
|
|
|
- if not check_sign:
|
|
|
- return HttpResponse(WechatPayObject.xml_to_dict({'return_code':'FAIL', 'return_msg':'签名失败'}))
|
|
|
- orderID = request_dict.get('out_trade_no',None)
|
|
|
+ try:
|
|
|
+ if result_code == 'SUCCESS':
|
|
|
+ check_sign = WechatPayObject.get_notifypay(request_dict)
|
|
|
+ if not check_sign:
|
|
|
+ return HttpResponse(WechatPayObject.xml_to_dict({'return_code': 'FAIL', 'return_msg': '签名失败'}))
|
|
|
+ orderID = request_dict.get('out_trade_no', None)
|
|
|
+ asy = threading.Thread(target=ModelService.add_log,
|
|
|
+ args=(orderID,
|
|
|
+ '回调', '修改订单状态'))
|
|
|
+ asy.start()
|
|
|
+ self.callback_dostatus(orderID)
|
|
|
+ print("进来了,微信支付成功回调")
|
|
|
+
|
|
|
+ asy = threading.Thread(target=ModelService.add_log,
|
|
|
+ args=(orderID,
|
|
|
+ '回调', '进来了,微信支付成功回调'))
|
|
|
+ asy.start()
|
|
|
+ order_qs = Order_Model.objects.filter(orderID=orderID)
|
|
|
+ nowTime = int(time.time())
|
|
|
+ order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts",
|
|
|
+ "userID__userID", "userID__username")
|
|
|
+ userid = order_list[0]['userID__userID']
|
|
|
+ username = order_list[0]['userID__username']
|
|
|
+ UID = order_list[0]['UID']
|
|
|
+ channel = order_list[0]['channel']
|
|
|
+ rank = order_list[0]['rank']
|
|
|
+ smqs = Store_Meal.objects.filter(id=rank). \
|
|
|
+ values("day", "bucket_id", "bucket__storeDay", "expire")
|
|
|
+ bucketId = smqs[0]['bucket_id']
|
|
|
+ if not smqs.exists():
|
|
|
+ return HttpResponse(WechatPayObject.xml_to_dict({'return_code': 'FAIL', 'return_msg': '套餐不存在'}))
|
|
|
+ # ##
|
|
|
+ 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 order_list[0]['isSelectDiscounts'] == 1:
|
|
|
+ expire = smqs[0]['expire'] * 2
|
|
|
+ if ubqs.exists():
|
|
|
+ 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:
|
|
|
+ endTime = CommonService.calcMonthLater(expire)
|
|
|
+ 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, vodPrimaryUserID='', vodPrimaryMaster='')
|
|
|
+ if dvq.exists():
|
|
|
+ dvq_set_update_dict = {
|
|
|
+ 'vodPrimaryUserID': userid,
|
|
|
+ 'vodPrimaryMaster': 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': '参数格式校验错误'}))
|
|
|
+ except Exception as e:
|
|
|
+ print(repr(e))
|
|
|
asy = threading.Thread(target=ModelService.add_log,
|
|
|
- args=(orderID,
|
|
|
- '回调', '修改订单状态'))
|
|
|
+ args=('回调',
|
|
|
+ '回调报错', repr(e)))
|
|
|
asy.start()
|
|
|
- self.callback_dostatus(orderID)
|
|
|
- print("进来了,微信支付成功回调")
|
|
|
+ return response.json(10, repr(e))
|
|
|
+
|
|
|
|
|
|
- asy = threading.Thread(target=ModelService.add_log,
|
|
|
- args=(orderID,
|
|
|
- '回调', '进来了,微信支付成功回调'))
|
|
|
- asy.start()
|
|
|
- order_qs = Order_Model.objects.filter(orderID=orderID)
|
|
|
- nowTime = int(time.time())
|
|
|
- order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts",
|
|
|
- "userID__userID", "userID__username")
|
|
|
- userid = order_list[0]['userID__userID']
|
|
|
- username = order_list[0]['userID__username']
|
|
|
- UID = order_list[0]['UID']
|
|
|
- channel = order_list[0]['channel']
|
|
|
- rank = order_list[0]['rank']
|
|
|
- smqs = Store_Meal.objects.filter(id=rank). \
|
|
|
- values("day", "bucket_id", "bucket__storeDay", "expire")
|
|
|
- bucketId = smqs[0]['bucket_id']
|
|
|
- if not smqs.exists():
|
|
|
- return HttpResponse(WechatPayObject.xml_to_dict({'return_code':'FAIL', 'return_msg':'套餐不存在'}))
|
|
|
- # ##
|
|
|
- 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 order_list[0]['isSelectDiscounts'] == 1:
|
|
|
- expire = smqs[0]['expire'] * 2
|
|
|
- if ubqs.exists():
|
|
|
- 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:
|
|
|
- endTime = CommonService.calcMonthLater(expire)
|
|
|
- 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, vodPrimaryUserID='', vodPrimaryMaster='')
|
|
|
- if dvq.exists():
|
|
|
- dvq_set_update_dict = {
|
|
|
- 'vodPrimaryUserID': userid,
|
|
|
- 'vodPrimaryMaster': 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':'参数格式校验错误'}))
|
|
|
|
|
|
def do_create_pay_order(self, request_dict, userID, ip, response):
|
|
|
uid = request_dict.get('uid', None)
|