feat(orders): replace order stat cards with a 售后中 filter
/user/orders 顶部的「已退款」「售后待处理」统计卡移除(统计行改为 全部 / 待支付 / 已支付 / 已关闭 四格,栅格同步由 3 列调为 4 列), 筛选的订单状态新增「售后中」,命中带有「待审核 / 处理中」工单的订单。 售后中与订单自身状态正交(售后中的订单可能仍是 paid,也可能已 refunded),因此不过滤 status 列,而是由 OrderCenterQuery 通过 repository_args 的 after_sale_open 下传,在 get_user_order_query_parts 中作为独立谓词叠加工单子查询,与类型、订单号条件自然组合。 工单流转口径复用 AfterSaleService 的 STATUS_PENDING / STATUS_PROCESSING, 与 find_active() 的退款闸门同一套判定;已完结(completed)与已撤销 (cancelled)不算售后中。 同时清理随之失效的死代码:UserOrders::get_user_order_stats()、 AfterSaleService::count_user_open()、aksrt_get_order_status_labels(), 以及两处 summary 查询与空视图中的 refunded / after_sale_pending 统计键。 不写双路与数据迁移,旧键直接替换。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
81b60eb427
commit
761c84d70f
8 files changed
+29
-39
No files matched your search
@@ -9,14 +9,6 @@
|
||||
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
function aksrt_get_order_status_labels(): array {
|
||||
if (class_exists('\AKSRT\Core\DomainModel')) {
|
||||
return \AKSRT\Core\DomainModel::order_status_labels();
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
function aksrt_get_orders_page_view(int $user_id, int $paged = 1, int $per_page = 20, string $status = 'all', string $product_type = '', string $order_number = ''): array {
|
||||
$empty = [
|
||||
'items' => [],
|
||||
|
||||
@@ -39,6 +39,7 @@ $status_options = [
|
||||
'all' => __('全部', 'aksrt'),
|
||||
'pending' => __('待支付', 'aksrt'),
|
||||
'paid' => __('已支付', 'aksrt'),
|
||||
'after_sale' => __('售后中', 'aksrt'),
|
||||
'refunded' => __('已退款', 'aksrt'),
|
||||
'closed' => __('已关闭', 'aksrt'),
|
||||
];
|
||||
@@ -57,8 +58,7 @@ $status_options = [
|
||||
<div class="aksrt-orders-page__stat"><span><?php esc_html_e('全部', 'aksrt'); ?></span><strong><?php echo esc_html((string) (int) ($stats['total'] ?? 0)); ?></strong></div>
|
||||
<div class="aksrt-orders-page__stat"><span><?php esc_html_e('待支付', 'aksrt'); ?></span><strong class="is-pending"><?php echo esc_html((string) (int) ($stats['pending'] ?? 0)); ?></strong></div>
|
||||
<div class="aksrt-orders-page__stat"><span><?php esc_html_e('已支付', 'aksrt'); ?></span><strong class="is-paid"><?php echo esc_html((string) (int) ($stats['paid'] ?? 0)); ?></strong></div>
|
||||
<div class="aksrt-orders-page__stat"><span><?php esc_html_e('已退款', 'aksrt'); ?></span><strong><?php echo esc_html((string) (int) ($stats['refunded'] ?? 0)); ?></strong></div>
|
||||
<div class="aksrt-orders-page__stat"><span><?php esc_html_e('售后待处理', 'aksrt'); ?></span><strong><?php echo esc_html((string) (int) ($stats['after_sale_pending'] ?? 0)); ?></strong></div>
|
||||
<div class="aksrt-orders-page__stat"><span><?php esc_html_e('已关闭', 'aksrt'); ?></span><strong><?php echo esc_html((string) (int) ($stats['closed'] ?? 0)); ?></strong></div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
|
||||
Reference in new issue
Block a user