PresellPaySuccessListen.php 786 B

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