| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?php
- /**
- * Created by PhpStorm.
- * User: shenyang
- * Date: 2018/8/15
- * Time: 下午3:53
- */
- namespace app\backend\modules\payOrder\fix;
- use app\common\events\payment\ChargeComplatedEvent;
- use app\common\exceptions\AppException;
- use app\common\models\Order;
- use app\common\models\PayOrder;
- use app\common\models\PayType;
- use app\frontend\modules\order\services\OrderService;
- class PaymentCallbackRepair
- {
- public $message=[];
- /**
- * @var PayOrder
- */
- private $payOrder;
- /**
- * PaymentCallbackRepair constructor.
- * @param PayOrder $payOrder
- */
- public function __construct(PayOrder $payOrder)
- {
- $this->payOrder = $payOrder;
- }
- /**
- * @throws AppException
- */
- public function handle()
- {
- $this->message[]="{$this->payOrder->orderPay->pay_sn}开始修复";
- if(!$this->check()){
- return false;
- }
- OrderService::ordersPay(['order_pay_id' => $this->payOrder->orderPay->id,'pay_type_id'=>$this->payOrder->pay_type_id]);
- event(new ChargeComplatedEvent([
- 'order_sn' => $this->payOrder->orderPay->pay_sn,
- 'pay_sn' => $this->payOrder->trade_no,
- 'order_pay_id' => $this->payOrder->orderPay->id
- ]));
- $this->message[]="{$this->payOrder->orderPay->pay_sn}已修复";
- return $this->message;
- }
- /**
- * @return bool
- */
- public function check()
- {
- if($this->payOrder->status != 2){
- $this->message[] = "平台支付记录状态为{$this->payOrder->status_name}";
- return false;
- }
- foreach ($this->payOrder->orderPay->orders as $order){
- /**
- * @var Order $order
- */
- if($order->status != 0){
- $this->message[] = "订单状态为{$order->statusName}";
- return false;
- }
- }
- return true;
- }
- }
|