You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

OrderOfflineServices.php 1.1KB

2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace app\services\pay;
  3. use app\services\BaseServices;
  4. use app\services\order\StoreOrderServices;
  5. use app\services\order\StoreOrderSuccessServices;
  6. use think\exception\ValidateException;
  7. /**
  8. * 线下支付
  9. * Class OrderOfflineServices
  10. * @package app\services\pay
  11. */
  12. class OrderOfflineServices extends BaseServices
  13. {
  14. /**
  15. * 线下支付
  16. * @param int $id
  17. * @return mixed
  18. */
  19. public function orderOffline(int $id)
  20. {
  21. /** @var StoreOrderServices $orderSerives */
  22. $orderSerives = app()->make(StoreOrderServices::class);
  23. $orderInfo = $orderSerives->get($id);
  24. if (!$orderInfo) {
  25. throw new ValidateException('订单不存在');
  26. }
  27. if ($orderInfo->paid) {
  28. throw new ValidateException('订单已支付');
  29. }
  30. /** @var StoreOrderSuccessServices $storeOrderSuccessServices */
  31. $storeOrderSuccessServices = app()->make(StoreOrderSuccessServices::class);
  32. $storeOrderSuccessServices->paySuccess($orderInfo->toArray(), PayServices::OFFLINE_PAY);
  33. return true;
  34. }
  35. }