Notify.php 903 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace addons\SecondaryCard\common\logic\notify;
  3. use addons\SecondaryCard\common\models\SecondaryCardOrder;
  4. use addons\SecondaryCard\common\service\SecondaryCardOrderService;
  5. use common\enums\StatusEnum;
  6. use common\models\order\Order;
  7. use common\traits\ErrorTrait;
  8. use Exception;
  9. class Notify
  10. {
  11. use ErrorTrait;
  12. public function notify($order_info)
  13. {
  14. try {
  15. $order = SecondaryCardOrder::findOne(['order_no' => $order_info['order_no'], 'status' => StatusEnum::ENABLED]);
  16. if (empty($order)) throw new Exception('订单不存在');
  17. $res = SecondaryCardOrderService::pay($order, $order_info['pay_type']);
  18. if ($res === false) throw new Exception(Order::getStaticError());
  19. return true;
  20. } catch (Exception $e) {
  21. $this->setStaticError($e->getMessage());
  22. return false;
  23. }
  24. }
  25. }