OrderPaySuccessListen.php 865 B

123456789101112131415161718192021222324252627
  1. <?php
  2. namespace crmeb\listens\pay;
  3. use app\common\repositories\store\order\StoreGroupOrderRepository;
  4. use app\common\repositories\store\order\StoreOrderRepository;
  5. use ln\interfaces\ListenerInterface;
  6. class OrderPaySuccessListen implements ListenerInterface
  7. {
  8. public function handle($data): void
  9. {
  10. $orderSn = $data['order_sn'];
  11. $is_combine = $data['is_combine'] ?? 0;
  12. $groupOrder = app()->make(StoreGroupOrderRepository::class)->getWhere(['group_order_sn' => $orderSn]);
  13. if (!$groupOrder || $groupOrder->paid == 1) return;
  14. $orders = [];
  15. if ($is_combine) {
  16. foreach ($data['data']['sub_orders'] as $order) {
  17. $orders[$order['out_trade_no']] = $order;
  18. }
  19. }
  20. app()->make(StoreOrderRepository::class)->paySuccess($groupOrder, $is_combine, $orders);
  21. }
  22. }