Bläddra i källkod

支付增加 处理中状态

chenshibin 4 år sedan
förälder
incheckning
ce4be8ec3f
2 ändrade filer med 14 tillägg och 11 borttagningar
  1. 13 10
      Controller/CloudStorage.py
  2. 1 1
      Model/models.py

+ 13 - 10
Controller/CloudStorage.py

@@ -823,12 +823,9 @@ class CloudStorageView(View):
 
     def do_pay_by_ali_callback(self, request):
 
-        print("进来了,阿里支付成功回调")
         response = ResponseObject()
         data = request.POST.dict()
-        asy = threading.Thread(target=ModelService.add_log,
-                               args=(CommonService.get_ip_address(request), data['out_trade_no'], '进来了,阿里支付成功回调'))
-        asy.start()
+
         signature = data["sign"]
         data.pop('sign')
         orderID = data['out_trade_no']
@@ -838,6 +835,8 @@ class CloudStorageView(View):
 
         if not order_qs.exists():
             return response.json(404)
+
+        self.callback_dostatus(orderID)
         print(json.dumps(data))
         print(signature)
         # verify
@@ -898,6 +897,8 @@ class CloudStorageView(View):
         if not paymentId or not PayerID or not orderID:
             red_url = "{SERVER_DOMAIN}cloudstorage/payError".format(SERVER_DOMAIN=SERVER_DOMAIN)
             return HttpResponseRedirect(red_url)
+
+        self.callback_dostatus(orderID)
         paypalrestsdk.configure(PAYPAL_CRD)
         # ID of the payment. This ID is provided when creating payment.
         payment = paypalrestsdk.Payment.find(paymentId)
@@ -955,18 +956,14 @@ class CloudStorageView(View):
 
     def do_pay_by_wechat_callback(self, request_dict, response):
         result_code = request_dict.get('result_code', None)
-        print("进来了,微信支付成功回调")
-        response = ResponseObject()
-        asy = threading.Thread(target=ModelService.add_log,
-                               args=('回调',
-                                     '回调', '进来了,微信支付成功回调'))
-        asy.start()
+
         if result_code == 'SUCCESS':
             response = HttpResponse()
             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)
+            self.callback_dostatus(orderID)
             order_qs = Order_Model.objects.filter(orderID=orderID)
             nowTime = int(time.time())
             order_list = order_qs.values("UID", "channel", "commodity_code", "rank", "isSelectDiscounts",
@@ -1338,6 +1335,12 @@ class CloudStorageView(View):
             return response.json(0)
         return response.json(444)
 
+
+    def callback_dostatus(self, orderid):
+        oq = Order_Model.objects.filter(orderID=orderid)
+        if oq.exists():
+            oq.update(status=9)
+
 #删除过期云存播放列表
 def deleteVodHls(request):
     # UID = 'DSXG7481JVA2JM94111A'

+ 1 - 1
Model/models.py

@@ -549,7 +549,7 @@ class Order_Model(models.Model):
     updTime = models.IntegerField(verbose_name='更新时间', default=0)
     # endTime = models.IntegerField(verbose_name='结束时间', default=0)
     isSelectDiscounts = models.SmallIntegerField(default=0, verbose_name=u'用户是否选择了第二年优惠 [0=否,1是]')
-    status = models.SmallIntegerField(default=0, verbose_name='付款状态')  # 0:待支付,1:成功,2:取消,3:已退款
+    status = models.SmallIntegerField(default=0, verbose_name='付款状态')  # 0:待支付,1:成功,2:取消,3:已退款, 9:处理中
     payType = models.SmallIntegerField(default=0, verbose_name='付款类型0:paypal,1:alipay')
     payTime = models.IntegerField(verbose_name='支付成功时间', default=0)
     rank = models.ForeignKey(Store_Meal, to_field='id', default='', on_delete=models.CASCADE, verbose_name='套餐类型')