// +---------------------------------------------------------------------- namespace crmeb\listens\pay; use app\common\repositories\store\order\StoreGroupOrderRepository; use app\common\repositories\store\order\StoreOrderRepository; use crmeb\interfaces\ListenerInterface; use think\facade\Log; class OrderPaySuccessListen implements ListenerInterface { public function handle($data): void { $orderSn = $data['order_sn']; $is_combine = $data['is_combine'] ?? 0; $groupOrder = app()->make(StoreGroupOrderRepository::class)->getWhere(['group_order_sn' => $orderSn]); if (!$groupOrder || $groupOrder->paid == 1) return; $orders = []; if ($is_combine) { foreach ($data['data']['sub_orders'] as $order) { $orders['sub_orders'][$order['out_trade_no']] = $order; } } else { $orders['transaction_id'] = $data['data']['transaction_id'] ?? $data['data']['trade_no']; } Log::info('OrderPaySuccessListen:支付成功回调执行' . var_export([$data,$groupOrder], 1)); app()->make(StoreOrderRepository::class)->paySuccess($groupOrder, $is_combine, $orders); } }