feat(M10-B): 完成可复算经营报表与日汇总
This commit is contained in:
@@ -404,6 +404,46 @@ export interface BusinessStatistics {
|
||||
dailyRevenue: Array<{ date: string; total: number; amountCents: number }>;
|
||||
}
|
||||
|
||||
export type BusinessReportChannel = 'WECHAT' | 'BALANCE' | 'PACKAGE' | 'GROUP_BUY' | 'OTHER';
|
||||
|
||||
export interface BusinessReportDaily {
|
||||
storeId: string;
|
||||
storeName: string;
|
||||
date: string;
|
||||
timezone: string;
|
||||
orderCount: number;
|
||||
customerCount: number;
|
||||
usedMinutes: number;
|
||||
capacityMinutes: number;
|
||||
utilizationBasisPoints: number;
|
||||
roomGrossCents: number;
|
||||
roomRefundCents: number;
|
||||
roomNetCents: number;
|
||||
productGrossCents: number;
|
||||
productRefundCents: number;
|
||||
productNetCents: number;
|
||||
totalNetCents: number;
|
||||
cleaningCostCents: number;
|
||||
contributionCents: number;
|
||||
channels: Record<BusinessReportChannel, number>;
|
||||
sourceChecksum: string;
|
||||
}
|
||||
|
||||
export interface BusinessReport {
|
||||
scope: { storeId: string | null; storeCount: number; from: string; to: string };
|
||||
summary: Omit<BusinessReportDaily, 'storeId' | 'storeName' | 'date' | 'timezone' | 'sourceChecksum'>;
|
||||
daily: BusinessReportDaily[];
|
||||
detailCounts: Record<string, number>;
|
||||
reconciliation: {
|
||||
status: 'MATCHED' | 'NOT_AGGREGATED' | 'MISMATCH';
|
||||
expectedRows: number;
|
||||
persistedRows: number;
|
||||
mismatchRows: number;
|
||||
lastCalculatedAt: string | null;
|
||||
};
|
||||
metricVersion: string;
|
||||
}
|
||||
|
||||
export interface ManagedUser {
|
||||
id: string;
|
||||
userType: string;
|
||||
|
||||
Reference in New Issue
Block a user