新增功能

This commit is contained in:
Your Name
2026-03-14 11:16:04 +08:00
parent eb283f008b
commit 4ddee40675
264 changed files with 5039 additions and 2813 deletions
+19 -1
View File
@@ -84,5 +84,23 @@ class PayNotifyLogic extends BaseLogic
$order->save();
}
/**
* @notes 订单支付回调
* @param $orderSn
* @param array $extra
*/
public static function order($orderSn, array $extra = [])
{
$order = \app\common\model\Order::where('order_no', $orderSn)->findOrEmpty();
if ($order->isEmpty()) {
throw new \Exception('订单不存在: ' . $orderSn);
}
if ($order->status == 2) {
return;
}
$order->status = 2;
$order->pay_time = date('Y-m-d H:i:s');
$order->transaction_id = $extra['transaction_id'] ?? '';
$order->save();
}
}
+37 -1
View File
@@ -45,8 +45,14 @@ class PaymentLogic extends BaseLogic
{
try {
if ($params['from'] == 'recharge') {
// 充值
$order = RechargeOrder::findOrEmpty($params['order_id'])->toArray();
} elseif ($params['from'] == 'order') {
$orderModel = \app\common\model\Order::findOrEmpty($params['order_id']);
if (!$orderModel->isEmpty()) {
$order = $orderModel->toArray();
$order['order_amount'] = $order['amount'];
$order['sn'] = $order['order_no'];
}
}
if (empty($order)) {
@@ -117,6 +123,21 @@ class PaymentLogic extends BaseLogic
'pay_time' => $payTime,
];
break;
case 'order':
$order = \app\common\model\Order::where(['id' => $params['order_id']])
->findOrEmpty();
$statusMap = [1 => 0, 2 => 1, 3 => 0, 4 => 0];
$order['pay_status'] = $statusMap[$order['status']] ?? 0;
$order['pay_way'] = $order['pay_way'] ?? 0;
$orderInfo = [
'order_id' => $order['id'],
'order_sn' => $order['order_no'],
'order_amount' => $order['amount'],
'pay_way' => PayEnum::getPayDesc($order['pay_way']),
'pay_status' => $order['status'] == 2 ? '已支付' : '未支付',
'pay_time' => $order['pay_time'] ?? '',
];
break;
}
if (empty($order)) {
@@ -152,6 +173,18 @@ class PaymentLogic extends BaseLogic
throw new \Exception('充值订单不存在');
}
break;
case 'order':
$order = \app\common\model\Order::findOrEmpty($params['order_id']);
if ($order->isEmpty()) {
throw new \Exception('订单不存在');
}
if ($order['status'] == 2) {
throw new \Exception('订单已支付');
}
$order['order_amount'] = $order['amount'];
$order['sn'] = $order['order_no'];
$order['pay_status'] = PayEnum::UNPAID;
return $order;
}
if ($order['pay_status'] == PayEnum::ISPAID) {
@@ -189,6 +222,9 @@ class PaymentLogic extends BaseLogic
case 'recharge':
RechargeOrder::update(['pay_way' => $payWay, 'pay_sn' => $paySn], ['id' => $order['id']]);
break;
case 'order':
\app\common\model\Order::update(['pay_way' => $payWay], ['id' => $order['id']]);
break;
}
if ($order['order_amount'] == 0) {