feat: 账本域 billing_domain 与成员支付可见性收紧

三表增加账本域标签,成员支付参数改为同域透明、跨域隔离、未标域默认藏;管理面登记/筛选/行内编辑与文档中心同步对齐。
This commit is contained in:
2026-10-13 20:42:26 +08:00
parent 843ab4433a
commit b0e9ea750b
31 changed files with 1463 additions and 53 deletions
+7
View File
@@ -79,6 +79,7 @@ export const keyItem = z.object({
status: z.enum(["active", "disabled"]),
member_id: z.number().int().nullable(),
member_name: z.string().nullable(),
billing_domain: z.string().nullable(),
registered_at: z.number().int(),
log_synced_at: z.number().int().nullable(),
usage_synced_at: z.number().int().nullable(),
@@ -92,11 +93,13 @@ export const keyItem = z.object({
export const registerKeyBody = z.object({
sk_key: z.string().min(8),
member_id: z.number().int().positive().nullable().optional(),
billing_domain: z.string().nullable().optional(),
});
export const patchKeyBody = z.object({
status: z.enum(["active", "disabled"]).optional(),
member_id: z.number().int().positive().nullable().optional(),
billing_domain: z.string().nullable().optional(),
});
export const memberItem = z.object({
@@ -141,6 +144,7 @@ export const subscriptionItem = z.object({
quota_usd: z.string(),
paid_amount: z.number().nullable(),
paid_at: z.number().int().nullable(),
billing_domain: z.string().nullable(),
remark: z.string(),
created_at: z.number().int(),
});
@@ -157,6 +161,7 @@ export const topupItem = z.object({
paid_at: z.number().int(),
quota_derived: z.number().int(),
quota_usd: z.string(),
billing_domain: z.string().nullable(),
remark: z.string(),
created_at: z.number().int(),
});
@@ -218,6 +223,7 @@ export const createSubscriptionBody = z
quota_granted: z.number().int().positive(),
paid_amount: z.number().nullable().optional(),
paid_at: z.string().min(1).nullable().optional(),
billing_domain: z.string().nullable().optional(),
remark: z.string().default(""),
});
@@ -230,6 +236,7 @@ export const createTopupBody = z.object({
payment_provider: z.string().nullable().optional(),
status: z.string().nullable().optional(),
paid_at: z.string().min(1),
billing_domain: z.string().nullable().optional(),
remark: z.string().default(""),
});
+3
View File
@@ -46,6 +46,7 @@ export interface KeyItem {
status: KeyStatus;
member_id: number | null;
member_name: string | null;
billing_domain: string | null;
registered_at: UnixSec;
log_synced_at: UnixSec | null;
usage_synced_at: UnixSec | null;
@@ -66,6 +67,7 @@ export interface SubscriptionItem {
quota_usd: QuotaUsd;
paid_amount: PaidAmount | null;
paid_at: UnixSec | null;
billing_domain: string | null;
remark: string;
created_at: UnixSec;
}
@@ -83,6 +85,7 @@ export interface TopupItem {
paid_at: UnixSec;
quota_derived: Quota;
quota_usd: QuotaUsd;
billing_domain: string | null;
remark: string;
created_at: UnixSec;
}