| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- /**
- * Created by PhpStorm.
- * User: shenyang
- * Date: 2018/8/15
- * Time: 下午3:53
- */
- namespace app\backend\modules\orderPay\fix;
- use app\common\exceptions\AppException;
- use app\common\models\OrderPay;
- use app\common\services\PayFactory;
- class DoublePaymentRepair
- {
- public $message=[];
- /**
- * @var OrderPay
- */
- private $orderPay;
- /**
- * DoublePaymentRepair constructor.
- * @param OrderPay $orderPay
- */
- public function __construct(OrderPay $orderPay)
- {
- $this->orderPay = $orderPay;
- }
- /**
- * @throws AppException
- */
- public function handle()
- {
- $result = $this->orderPay->fastRefund();
- if ($result['status']) {
- $this->message[]="{$this->orderPay->pay_type_name}[{$this->orderPay->pay_type_id}]退款成功";
- } else {
- $this->message[]="{$this->orderPay->pay_type_name}[{$this->orderPay->pay_type_id}]退款失败:{$result['msg']}";
- return false;
- }
- return $this->message;
- }
- /**
- * @throws AppException
- */
- public function check()
- {
- if ($this->orderPay != OrderPay::STATUS_PAID){
- throw new AppException($this->orderPay->status_name.'的支付单无法退款');
- }
- //todo 对应的订单已经支付
- //todo 对应的订单有其他有效的支付记录
- }
- }
|