cxgj/models/common/notify/payment/IntegralMallOrderPaymentNotify.php
2023-11-27 09:45:13 +08:00

64 lines
1.8 KiB
PHP

<?php
/**
* @author Any
* @description KISS
* @date 2021年10月13日
* @version 1.0.0
*
* _____LOG_____
*
*/
namespace app\models\common\notify\payment;
use app\models\Model;
use app\models\Balance;
use app\models\integral\Integral;
use app\models\integral\IntegralLog;
use app\models\Order;
use app\models\Goods;
use app\models\integral\mall\IntegralMallOrder;
use app\models\UniqueOrderNo;
use app\components\SysConst;
class IntegralMallOrderPaymentNotify 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();
if(!$order->save()){
$t->rollBack();
return $this->getModelError($order);
}
Goods::handleOrderPayAfter($order->id, $order->cx_mch_id);
$t->commit();
return $this->apiReturnSuccess();
}
}