feat(settlement): 统一门店账单列表合并 T+1 与手动提现

总部财务以门店账单为唯一入口;新增 store-settlements API,去掉独立提现审菜单并更新企微引导文案。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-03 16:04:45 +08:00
parent 26472f8678
commit 54fca99208
8 changed files with 561 additions and 71 deletions
+51
View File
@@ -11,6 +11,44 @@ export const STORE_WITHDRAW_STATUS_LABELS: Record<StoreWithdrawStatus, string> =
PAID: '已结算',
};
/** 总部「门店账单」统一列表:T+1 出账 / 手动提现 */
export type StoreSettlementKind = 'T1_BILL' | 'WITHDRAW';
export const STORE_SETTLEMENT_KIND_LABELS: Record<StoreSettlementKind, string> = {
T1_BILL: 'T+1出账',
WITHDRAW: '手动提现',
};
export type StoreSettlementStatus = FinancePayStatus | StoreWithdrawStatus;
export const STORE_SETTLEMENT_STATUS_LABELS: Record<StoreSettlementStatus, string> = {
UNPAID: '未打款',
PAID: '已打款',
PENDING_REVIEW: '待审核',
REJECTED: '已驳回',
};
export interface StoreSettlementRowDto {
kind: StoreSettlementKind;
id: string;
billNo: string;
storeId: string;
amount: number;
status: StoreSettlementStatus;
date: string;
overdue?: boolean;
redeemCount?: number | null;
redeemAmount?: number | null;
settlementRate?: number | null;
payoutCount?: number | null;
store?: {
id: string;
name: string;
cityName: string;
phone?: string | null;
};
}
export interface StoreWithdrawBankAccountDto {
bankAccountName?: string | null;
bankAccountNo?: string | null;
@@ -73,6 +111,19 @@ export const FINANCE_PAY_STATUS_LABELS: Record<FinancePayStatus, string> = {
PAID: '已打款',
};
export function storeSettlementStatusLabel(
kind: StoreSettlementKind,
status: string,
): string {
if (kind === 'WITHDRAW' && status in STORE_WITHDRAW_STATUS_LABELS) {
return STORE_WITHDRAW_STATUS_LABELS[status as StoreWithdrawStatus];
}
if (status in FINANCE_PAY_STATUS_LABELS) {
return FINANCE_PAY_STATUS_LABELS[status as FinancePayStatus];
}
return STORE_SETTLEMENT_STATUS_LABELS[status as StoreSettlementStatus] ?? status;
}
export interface PartnerBillDto {
id: string;
billNo: string;