fix(dashboard): 优化控制台财务与运营口径,彻底消除误导信息并实现实时待办防漏单

这个提交包含在:
chen
2026-09-17 14:22:12 +08:00
父节点 2ccd69b9e7
当前提交 464f8b2f38
共有 5 个文件被更改,包括 564 次插入 和 448 次删除

查看文件

@@ -127,7 +127,7 @@ class DashboardWealthTest
$controller->total();
$roleStats = $controller->lastOutput['data']['partner_network']['role_stats'] ?? [];
$requiredRoles = ['taster', 'maker_v1', 'maker_v2', 'maker_v3', 'maker_v4', 'maker_v5', 'maker_v6', 'maker_total', 'venue', 'county', 'partner_total', 'all_total'];
$requiredRoles = ['taster', 'maker_v1', 'maker_v2', 'maker_v3', 'maker_v4', 'maker_v5', 'maker_v6', 'maker_total', 'venue', 'county', 'normal_user', 'all_total'];
foreach ($requiredRoles as $roleKey) {
$this->assert(isset($roleStats[$roleKey]), "矩阵包含角色身份: {$roleKey}");
@@ -136,19 +136,11 @@ class DashboardWealthTest
"角色 {$roleKey} 完整包含会员数、持豆量、马豆市值、分佣总额、分佣笔数与活跃率");
}
// 勾稽校验:品酒师 (553.75) + 创客队伍 (838.00) = 全网分佣 (1391.75)
$tasterReward = (float)($roleStats['taster']['reward_amount'] ?? 0);
$makerReward = (float)($roleStats['maker_total']['reward_amount'] ?? 0);
$allReward = (float)($roleStats['all_total']['reward_amount'] ?? 0);
$this->assert(abs(($tasterReward + $makerReward) - $allReward) < 0.01,
"分佣勾稽校验: 品酒师({$tasterReward}) + 创客队伍({$makerReward}) == 全员分佣({$allReward})");
// 普通会员无需自购考核标识
$this->assert(!empty($roleStats['normal_user']['is_exempt_active']), "普通会员明确标记 is_exempt_active 为 true,免除自购考核误导");
// 马豆总量勾稽校验:品酒师 (699.0) + 创客队伍 (699.0) = 全网马豆 (1398.0)
$tasterMadow = (float)($roleStats['taster']['madow_total'] ?? 0);
$makerMadow = (float)($roleStats['maker_total']['madow_total'] ?? 0);
$allMadow = (float)($roleStats['all_total']['madow_total'] ?? 0);
$this->assert(abs(($tasterMadow + $makerMadow) - $allMadow) < 0.0001,
"马豆勾稽校验: 品酒师({$tasterMadow}) + 创客队伍({$makerMadow}) == 全网马豆({$allMadow})");
// 全平台全员合计行数据存在且完整
$this->assert(isset($roleStats['all_total']['user_count']) && $roleStats['all_total']['user_count'] >= 0, "全员合计行统计正常");
}
/**
@@ -259,14 +251,14 @@ class DashboardWealthTest
$this->assert(isset($finance['total_float_funds']), "财务包含 total_float_funds 免息流动沉淀池");
$this->assert(isset($finance['total_withdraw_paid']), "财务包含 total_withdraw_paid 累计已打款出款");
$this->assert(isset($finance['pending_withdraw_amount']), "财务包含 pending_withdraw_amount 待审核出款风控资金");
$this->assert(isset($finance['real_net_cash_flow']), "财务包含 real_net_cash_flow 真实净现金流");
$this->assert(isset($finance['total_future_liability']), "财务包含 total_future_liability 未来承兑准备金");
$this->assert(isset($finance['real_net_cash_flow']), "财务包含 real_net_cash_flow 真实可用流动资金结余");
$this->assert(isset($finance['rigid_cash_liability']), "财务包含 rigid_cash_liability 刚性现金流动负债");
$floatDiff = abs((float)$finance['total_float_funds'] - ((float)$finance['commission_float'] + (float)$finance['user_balance_float']));
$this->assert($floatDiff < 0.01, "资金浮存勾稽: total_float_funds == commission_float + user_balance_float");
$liabilityDiff = abs((float)$finance['total_future_liability'] - ((float)$finance['pending_voucher_liability'] + (float)$finance['madow_market_liability'] + (float)$finance['commission_liability']));
$this->assert($liabilityDiff < 0.01, "承兑负债勾稽: total_future_liability == pending_voucher + madow_market + commission");
$rigidDiff = abs((float)$finance['rigid_cash_liability'] - ((float)$finance['commission_float'] + (float)$finance['user_balance_float'] + (float)$finance['pending_withdraw_amount']));
$this->assert($rigidDiff < 0.01, "刚性现金负债勾稽: rigid_cash_liability == commission + user_balance + pending_withdraw");
}
if ($operation) {
@@ -275,19 +267,26 @@ class DashboardWealthTest
$this->assert(isset($operation['pay_conversion_rate']), "运营包含 pay_conversion_rate 付费转化率");
$this->assert(isset($operation['repeat_purchase_rate']), "运营包含 repeat_purchase_rate 复购率");
$this->assert(isset($operation['arpu']), "运营包含 arpu 付费买家客单贡献");
$this->assert(isset($operation['active_partners']), "运营包含 active_partners 活跃合伙人");
$this->assert(isset($operation['warning_partners']), "运营包含 warning_partners 7天内即将断档合伙人");
$this->assert(isset($operation['frozen_partners']), "运营包含 frozen_partners 已断档冻结合伙人");
$this->assert(is_array($operation['warning_list']), "运营包含 warning_list 即将断档人员名单");
$this->assert(isset($operation['active_partners']), "运营包含 active_partners 活跃达标合伙人");
$this->assert(isset($operation['warning_partners']), "运营包含 warning_partners 7天内即将到期预警合伙人");
$this->assert(isset($operation['pending_renew_partners']), "运营包含 pending_renew_partners 待续期激活合伙人");
$this->assert(isset($operation['new_no_order_partners']), "运营包含 new_no_order_partners 新成员待首购合伙人");
$this->assert(is_array($operation['warning_list']), "运营包含 warning_list 临期预警人员名单");
$this->assert(is_array($operation['pending_renew_list']), "运营包含 pending_renew_list 待续期人员名单");
$this->assert(isset($operation['low_stock_count']), "运营包含 low_stock_count 低库存告急SKU数量");
$this->assert(is_array($operation['low_stock_list']), "运营包含 low_stock_list 低库存SKU商品列表");
$this->assert(isset($operation['health']['score']), "运营包含经营健康度评分 score");
$this->assert(isset($operation['health']['grade']), "运营包含经营健康度评级 grade");
$this->assert(isset($operation['risk_indicators']), "运营包含客观风控指标看板 risk_indicators");
$this->assert(isset($operation['todo_overview']), "运营包含全局实时待办 todo_overview");
$this->assert(
$operation['paid_users_count'] == ($operation['single_buy_users_count'] + $operation['repeat_buy_users_count']),
"用户转化勾稽: paid_users_count({$operation['paid_users_count']}) == single({$operation['single_buy_users_count']}) + repeat({$operation['repeat_buy_users_count']})"
);
$this->assert(
isset($operation['todo_overview']['nosend_count'], $operation['todo_overview']['aftersale_count'], $operation['todo_overview']['refund_apply_count'], $operation['todo_overview']['pending_withdraw_count']),
"全网实时待办完整包含待发货、售后、待退款、待审核提现"
);
}
}
}