CreateOrder.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace app\event;
  3. use app\model\saas\SaasCart;
  4. use app\model\saas\SaasOrderDetail;
  5. class CreateOrder
  6. {
  7. public function createOrder(array $data = [])
  8. {
  9. try {
  10. $cart = (new SaasCart)->where("shop_id",$data['shop'])->where("openid",$data['openid'])->order("create_at desc")->select();
  11. if ($cart->isEmpty()) return success('ok',['cart' => []]);
  12. $orderDetail = [];
  13. foreach ($cart->toArray() as $key=>$val)
  14. {
  15. unset($val['id']);
  16. $orderDetail[$key] = $val;
  17. $orderDetail[$key]['order_sn'] = $data['order'];
  18. if ($val['extension'] == "pdf") {
  19. $orderDetail[$key]['status'] = 1;
  20. } else {
  21. $orderDetail[$key]['status'] = 0;
  22. }
  23. }
  24. $state = (new SaasOrderDetail)->strict(false)->insertAll($orderDetail);
  25. echo "写入订单详情{$data['order']}\n";
  26. var_dump($state);
  27. events("merge-pdf",$data);
  28. (new SaasCart)->where("shop_id",$data['shop'])->where("openid",$data['openid'])->delete();
  29. } catch (\Throwable $throwable) {
  30. echo "写入订单详情错误\n";
  31. echo $throwable->getLine()."\n";
  32. echo $throwable->getFile()."\n";
  33. echo $throwable->getMessage()."\n";
  34. return error($throwable->getMessage());
  35. }
  36. }
  37. }