Compare commits

..

2 Commits

Author SHA1 Message Date
zhuzihao bc677817e4 feat(marquee): 首页轮播种子预览改内联常驻、随数据源模式实时刷新 (#40)
系统配置「首页轮播种子」页:预览从点按钮弹窗改为常驻在「数据源」开关下方,
切换「混播/只真实/只种子」即时重拉、所见即所得。

- 预览请求带上当前选中的 mode(配套 app-server 预览接口的 mode 入参),不依赖 PATCH
  落库时序;拨动开关(乐观更新)即刻预览对应模式,切换失败回滚预览也随之回滚。
- 移除原「预览效果」弹窗及相关状态;「只真实」无数据时给空态提示。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: zzhyyyyy <2685922758@qq.com>
Reviewed-on: #40
Co-authored-by: zhuzihao <zhuzihao@wonderable.ai>
Co-committed-by: zhuzihao <zhuzihao@wonderable.ai>
2026-07-08 00:57:11 +08:00
zhuzihao 33c80d6927 fix(withdraws): 提现账本校验区分现金/邀请金两本账展示 (#39)
配合后端 ledger-check 分账改造:
- 异常清单按「现金」「邀请金」分别标注(缺扣款/缺退款/重复退款/
  非退款终态退款/余额差额),便于定位问题落在哪本账。
- 绿色(校验正常)时分别展示两账的余额与流水净额。
- WithdrawLedgerCheck 类型同步后端新增的 7 个 invite_* 字段。

修复现象:此前邀请奖励金提现单被误判为「缺扣款/缺退款流水」,
导致提现审核页现金账本报红。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: zzhyyyyy <2685922758@qq.com>
Reviewed-on: #39
Co-authored-by: zhuzihao <zhuzihao@wonderable.ai>
Co-committed-by: zhuzihao <zhuzihao@wonderable.ai>
2026-07-07 00:16:25 +08:00
2 changed files with 30 additions and 6 deletions
+21 -6
View File
@@ -624,12 +624,27 @@ export default function WithdrawsPage() {
const rejectAmount = rejectTargets.reduce((sum, item) => sum + item.amount_cents, 0);
const ledgerIssues = ledger
? [
ledger.balance_diff_cents ? `余额差额 ${yuan(ledger.balance_diff_cents)}` : '',
ledger.missing_withdraw_txn_count ? `缺扣款流水 ${ledger.missing_withdraw_txn_count}` : '',
ledger.missing_refund_txn_count ? `缺退款流水 ${ledger.missing_refund_txn_count}` : '',
ledger.duplicate_refund_txn_count ? `重复退款流水 ${ledger.duplicate_refund_txn_count} ` : '',
// 普通现金账(coin_cash)
ledger.balance_diff_cents ? `现金余额差额 ${yuan(ledger.balance_diff_cents)}` : '',
ledger.missing_withdraw_txn_count ? `现金缺扣款流水 ${ledger.missing_withdraw_txn_count}` : '',
ledger.missing_refund_txn_count ? `现金缺退款流水 ${ledger.missing_refund_txn_count} ` : '',
ledger.duplicate_refund_txn_count ? `现金重复退款流水 ${ledger.duplicate_refund_txn_count}` : '',
ledger.refund_txn_on_non_terminal_count
? `非退款终态存在退款流水 ${ledger.refund_txn_on_non_terminal_count}`
? `现金非退款终态存在退款流水 ${ledger.refund_txn_on_non_terminal_count}`
: '',
// 邀请奖励金账(invite_cash)
ledger.invite_balance_diff_cents ? `邀请金余额差额 ${yuan(ledger.invite_balance_diff_cents)}` : '',
ledger.invite_missing_withdraw_txn_count
? `邀请金缺扣款流水 ${ledger.invite_missing_withdraw_txn_count}`
: '',
ledger.invite_missing_refund_txn_count
? `邀请金缺退款流水 ${ledger.invite_missing_refund_txn_count}`
: '',
ledger.invite_duplicate_refund_txn_count
? `邀请金重复退款流水 ${ledger.invite_duplicate_refund_txn_count}`
: '',
ledger.invite_refund_txn_on_non_terminal_count
? `邀请金非退款终态存在退款流水 ${ledger.invite_refund_txn_on_non_terminal_count}`
: '',
].filter(Boolean)
: [];
@@ -669,7 +684,7 @@ export default function WithdrawsPage() {
message={ledger.ok ? '现金账本校验正常' : '现金账本存在异常'}
description={
ledger.ok
? `账户余额合计 ${yuan(ledger.cash_balance_total_cents)},现金流水净额 ${yuan(ledger.cash_transaction_total_cents)}`
? `现金 余额 ${yuan(ledger.cash_balance_total_cents)} / 流水 ${yuan(ledger.cash_transaction_total_cents)};邀请金 余额 ${yuan(ledger.invite_cash_balance_total_cents)} / 流水 ${yuan(ledger.invite_cash_transaction_total_cents)}`
: ledgerIssues.join('')
}
action={
+9
View File
@@ -233,6 +233,7 @@ export interface WithdrawBulkResult {
export interface WithdrawLedgerCheck {
ok: boolean;
// 普通现金账(coin_cash)
cash_balance_total_cents: number;
cash_transaction_total_cents: number;
balance_diff_cents: number;
@@ -240,6 +241,14 @@ export interface WithdrawLedgerCheck {
missing_refund_txn_count: number;
duplicate_refund_txn_count: number;
refund_txn_on_non_terminal_count: number;
// 邀请奖励金账(invite_cash:与普通现金物理隔离,各自对账)
invite_cash_balance_total_cents: number;
invite_cash_transaction_total_cents: number;
invite_balance_diff_cents: number;
invite_missing_withdraw_txn_count: number;
invite_missing_refund_txn_count: number;
invite_duplicate_refund_txn_count: number;
invite_refund_txn_on_non_terminal_count: number;
}
export interface WxpayHealthCheck {