cxfoot/models/common/notify/payment/DepositPayMentNotify.php
2023-10-24 14:54:18 +08:00

56 lines
1.5 KiB
PHP

<?php
/**
* @author Any
* @description KISS
* @date 2021年10月3日
* @version 1.0.0
*
* _____LOG_____
*
*/
namespace app\models\common\notify\payment;
use app\models\Model;
use app\models\Order;
class DepositPayMentNotify extends Model
{
/**
* 支付回调后续处理
* @param PaymentOrder $paymentOrder
* @return mixed
*/
public function notify($paymentOrder)
{
$t = \Yii::$app->db->beginTransaction();
$paymentOrder = \app\models\PaymentOrder::findOne(['order_no' => $paymentOrder->orderNo, 'notify_status' => [0,2]]);
if($paymentOrder == null){
return $this->apiReturnError('支付回调已经处理或不存在');
}
$paymentOrder->notify_status = 1;
if(!$paymentOrder->save()){
$t->rollBack();
return $this->getModelError($paymentOrder);
}
//订单状态
$order = Order::findOne(['order_no' => $paymentOrder->order_no]);
if($order == null){
$t->rollBack();
return $this->apiReturnError('订单不存在');
}
$order->pay_type = $paymentOrder->pay_type;
$order->is_pay = 1;
$order->pay_time = time();
$order->total_pay_price = $paymentOrder->amount;
if(!$order->save()){
$t->rollBack();
return $this->getModelError($order);
}
$t->commit();
return $this->apiReturnSuccess();
}
}