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(); } }