修复两个问题

This commit is contained in:
2026-08-24 16:38:03 +08:00
parent 48a82403b2
commit 58f3f42bf8
15 changed files with 173 additions and 23 deletions
+8 -4
View File
@@ -286,8 +286,8 @@ class UserOrders {
private function status_group(string $status): string {
return match ($status) {
Order::STATUS_CREATED, Order::STATUS_PENDING => OrderCenterQuery::STATUS_PENDING,
Order::STATUS_PAID => OrderCenterQuery::STATUS_COMPLETED,
Order::STATUS_CANCELLED, Order::STATUS_EXPIRED => OrderCenterQuery::STATUS_CLOSED,
Order::STATUS_PAID, Order::STATUS_DELIVERED, Order::STATUS_COMPLETED, Order::STATUS_PENDING_REVIEW => OrderCenterQuery::STATUS_COMPLETED,
Order::STATUS_CANCELLED, Order::STATUS_EXPIRED, Order::STATUS_REFUNDING, Order::STATUS_REFUNDED => OrderCenterQuery::STATUS_CLOSED,
default => OrderCenterQuery::STATUS_CLOSED,
};
}
@@ -313,6 +313,9 @@ class UserOrders {
if ($type === DomainModel::ORDER_PRODUCT_RECHARGE) {
return __('余额充值', 'aksrt');
}
if ($type === DomainModel::ORDER_PRODUCT_POINTS) {
return __('积分购买', 'aksrt');
}
if ($product_id > 0) {
$cache_key = (string) $product_id;
if (!array_key_exists($cache_key, $this->post_title_cache)) {
@@ -354,7 +357,7 @@ class UserOrders {
if ($type === DomainModel::ORDER_PRODUCT_VIP) {
$url = function_exists('aksrt_get_user_center_tab_url') ? aksrt_get_user_center_tab_url('vip') : '';
} elseif ($type === DomainModel::ORDER_PRODUCT_RECHARGE) {
} elseif (in_array($type, [DomainModel::ORDER_PRODUCT_RECHARGE, DomainModel::ORDER_PRODUCT_POINTS], true)) {
$url = function_exists('aksrt_get_user_center_tab_url') ? aksrt_get_user_center_tab_url('credits') : '';
} else {
$url = $post_id > 0 ? get_permalink($post_id) : '';
@@ -368,6 +371,7 @@ class UserOrders {
return match ($type) {
DomainModel::ORDER_PRODUCT_VIP => __('查看会员权益', 'aksrt'),
DomainModel::ORDER_PRODUCT_RECHARGE => __('查看余额', 'aksrt'),
DomainModel::ORDER_PRODUCT_POINTS => __('查看积分', 'aksrt'),
default => __('打开已购内容', 'aksrt'),
};
}
@@ -421,7 +425,7 @@ class UserOrders {
if (!$order) {
return ['success' => false, 'message' => __('当前订单状态不可支付。', 'aksrt')];
}
if ($this->status_group((string) ($order['status'] ?? '')) === OrderCenterQuery::STATUS_PAID) {
if ($this->status_group((string) ($order['status'] ?? '')) === OrderCenterQuery::STATUS_COMPLETED) {
$ledger_key = \AKSRT\Ledger\OperationKey::deterministic('order-payment', [$order_number]);
$history = \AKSRT\Ledger\LedgerQuery::get_instance()->history(['operation_key' => $ledger_key, 'page' => 1, 'per_page' => 1]);
if (!empty($history['items'][0])) {