fix:提交修复6个问题

This commit is contained in:
ljy
2026-07-08 23:01:18 +08:00
parent 99be8e0237
commit ab9654564e
43 changed files with 3671 additions and 277 deletions
+11
View File
@@ -62,6 +62,17 @@ export enum StoreStatus {
CLOSED = 'CLOSED',
}
export enum PartnerStaffRole {
PARTNER = 'PARTNER',
INTERNAL = 'INTERNAL',
PROMOTER = 'PROMOTER',
}
export enum AccountStatus {
ACTIVE = 'ACTIVE',
DISABLED = 'DISABLED',
}
export enum BenefitCouponStatus {
ACTIVE = 'ACTIVE',
USED_UP = 'USED_UP',
+1
View File
@@ -14,3 +14,4 @@ export * from './store-log';
export * from './partner-log';
export * from './promo';
export * from './hq-permissions';
export * from './partner';
+101
View File
@@ -0,0 +1,101 @@
import type { AccountStatus, PartnerStaffRole } from './enums';
export interface PartnerMe {
id: string;
name: string;
phone: string;
isPrimary: boolean;
companyName?: string;
hasWechat?: boolean;
staffRole?: PartnerStaffRole;
}
export interface PartnerStaffItem {
id: string;
name: string;
phone: string;
staffRole: PartnerStaffRole;
status: AccountStatus;
lastLoginAt?: string;
}
export interface CreatePartnerStaffRequest {
phone: string;
name: string;
staffRole: PartnerStaffRole;
code: string;
}
export interface UpdatePartnerStaffRequest {
name?: string;
staffRole?: PartnerStaffRole;
status?: AccountStatus;
}
export const PARTNER_STAFF_ROLE_LABELS: Record<PartnerStaffRole, string> = {
PARTNER: '城市合伙人',
INTERNAL: '内部员工',
PROMOTER: '推广员',
};
export type PartnerLeaderboardPeriod = 'month' | 'lastMonth' | 'total';
export interface PartnerLeaderboardEntry {
rank: number;
accountId: string;
name: string;
staffRole?: PartnerStaffRole;
roleLabel: string;
totalStores: number;
periodStores: number;
isSelf?: boolean;
}
export interface PartnerLeaderboardResponse {
period: PartnerLeaderboardPeriod;
list: PartnerLeaderboardEntry[];
self?: PartnerLeaderboardEntry & { beatPercent?: number };
}
export interface PartnerStorePhoneAvailableResponse {
available: boolean;
message?: string;
}
export interface PartnerWeeklyReportPeriod {
startDate: string;
endDate: string;
label: string;
}
export interface PartnerWeeklyReportDailyGmv {
date: string;
weekdayLabel: string;
amount: number;
}
export interface PartnerWeeklyReportStoreRank {
rank: number;
storeId: string;
name: string;
subtitle?: string;
redeemAmount: number;
}
export interface PartnerWeeklyReportResponse {
period: PartnerWeeklyReportPeriod;
availablePeriods: PartnerWeeklyReportPeriod[];
summary: {
gmv: number;
gmvGrowthPercent: number;
activeStoreCount: number;
totalStoreCount: number;
orderCount: number;
newStoreCount: number;
newStoreTarget: number;
newStoreProgressPercent: number;
};
dailyGmv: PartnerWeeklyReportDailyGmv[];
storeRanking: PartnerWeeklyReportStoreRank[];
insight: string;
}