Jelajahi Sumber

修改拼团

dongxiaoqin 1 tahun lalu
induk
melakukan
5a43f48611

+ 1 - 1
app/api/logic/GroupActivityLogic.php

@@ -201,7 +201,7 @@ class GroupActivityLogic extends BaseLogic
 
             //生成用户拼单订单
             $data = [
-                'sn' => $groupOrder['sn'],
+                'sn' => generate_sn(groupUserOrder::class, 'sn'),
                 'group_order_id' => $groupOrder['id'],
                 'group_activity_id' => $params['group_activity_id'],
                 'user_id' => $params['user_id'],

+ 14 - 4
app/common/service/pay/WeChatPayService.php

@@ -22,6 +22,7 @@ use app\common\logic\PayNotifyLogic;
 use app\common\model\recharge\RechargeOrder;
 use app\common\model\user\UserAuth;
 use app\common\model\works\ServiceWork;
+use app\common\model\group_activity\GroupUserOrder;
 use app\common\service\wechat\WeChatConfigService;
 use EasyWeChat\Pay\Application;
 use EasyWeChat\Pay\Message;
@@ -378,15 +379,20 @@ class WeChatPayService 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;
+                        }
                         $res = PayNotifyLogic::handle('goods', $message['out_trade_no'], $extra);
                         if($res === true){
                             // 用户下单后,给订单运营专员(配置固定ID)发送公众号提醒(订单信息)
@@ -427,6 +433,10 @@ class WeChatPayService extends BasePayService
                         }
                         break;
                     case 'group':
+                        $order = GroupUserOrder::where(['sn' => $message['out_trade_no']])->findOrEmpty();
+                        if($order->isEmpty() || $order->pay_status == PayEnum::ISPAID) {
+                            return true;
+                        }
                         PayNotifyLogic::handle('group', $message['out_trade_no'], $extra);
                         break;
                 }