Selaa lähdekoodia

电子商城-提交订单

whitefang 1 vuosi sitten
vanhempi
sitoutus
a16fcd0097
1 muutettua tiedostoa jossa 13 lisäystä ja 4 poistoa
  1. 13 4
      app/common/service/pay/WorkerWeChatPayService.php

+ 13 - 4
app/common/service/pay/WorkerWeChatPayService.php

@@ -5,6 +5,7 @@ use app\common\enum\user\UserTerminalEnum;
 use app\common\logic\PayNotifyLogic;
 use app\common\model\master_worker\MasterWorkerAuth;
 use app\common\model\recharge\RechargeOrder;
+use app\common\model\shops\ShopOrders;
 use app\common\model\user\UserAuth;
 use app\common\service\wechat\WeChatConfigService;
 use app\common\service\wechat\WorkerWeChatConfigService;
@@ -195,18 +196,26 @@ class WorkerWeChatPayService extends BasePayService
                 $extra['transaction_id'] = $message['transaction_id'];
                 $attach = $message['attach'];
                 $message['out_trade_no'] = mb_substr($message['out_trade_no'], 0, 18);
-                $order = RechargeOrder::where(['sn' => $message['out_trade_no']])->findOrEmpty();
-                if($order->isEmpty() || $order->pay_status == PayEnum::ISPAID) {
-                    return true;
-                }
                 switch ($attach) {
                     case 'recharge':
+                        $order = RechargeOrder::where(['sn' => $message['out_trade_no']])->findOrEmpty();
+                        if($order->isEmpty() || $order->pay_status == PayEnum::ISPAID) {
+                            return true;
+                        }
                         PayNotifyLogic::handle('recharge', $message['out_trade_no'], $extra);
                         break;
                     case 'goods':
+                        $order = RechargeOrder::where(['sn' => $message['out_trade_no']])->findOrEmpty();
+                        if($order->isEmpty() || $order->pay_status == PayEnum::ISPAID) {
+                            return true;
+                        }
                         PayNotifyLogic::handle('goods', $message['out_trade_no'], $extra);
                         break;
                     case 'shop_goods':
+                        $order = ShopOrders::where(['sn' => $message['out_trade_no']])->findOrEmpty();
+                        if($order->isEmpty() || $order->pay_status == PayEnum::ISPAID) {
+                            return true;
+                        }
                         PayNotifyLogic::handle('shop_goods', $message['out_trade_no'], $extra);
                         break;
                 }