@@ -15,6 +15,7 @@ export * from './user-log';
|
||||
|
||||
export * from './store-log';
|
||||
export * from './store-package';
|
||||
export * from './store-info-change';
|
||||
export * from './partner-log';
|
||||
export * from './promo';
|
||||
export * from './hq-permissions';
|
||||
|
||||
@@ -52,3 +52,41 @@ export interface InvoiceDto {
|
||||
/** 待开票超过 2 个工作日(总部列表标红用) */
|
||||
overdue?: boolean;
|
||||
}
|
||||
|
||||
/** 用户发票抬头(C 端"我的 → 发票管理") */
|
||||
export interface UserInvoiceTitleDto {
|
||||
id: string;
|
||||
titleType: InvoiceTitleType;
|
||||
titleName: string;
|
||||
taxNo?: string | null;
|
||||
email?: string | null;
|
||||
phone?: string | null;
|
||||
addressPhone?: string | null;
|
||||
bankAccount?: string | null;
|
||||
isDefault: boolean;
|
||||
createdAt: string;
|
||||
}
|
||||
|
||||
/** 新建 / 编辑发票抬头的入参 */
|
||||
export interface UpsertInvoiceTitleRequest {
|
||||
titleType: InvoiceTitleType;
|
||||
titleName: string;
|
||||
taxNo?: string | null;
|
||||
email?: string | null;
|
||||
phone?: string | null;
|
||||
addressPhone?: string | null;
|
||||
bankAccount?: string | null;
|
||||
isDefault?: boolean;
|
||||
}
|
||||
|
||||
/** 用户发票抬头可变更字段(用于列表/编辑页绑定) */
|
||||
export const INVOICE_TITLE_CHANGEABLE_FIELDS = [
|
||||
'titleName',
|
||||
'taxNo',
|
||||
'email',
|
||||
'phone',
|
||||
'addressPhone',
|
||||
'bankAccount',
|
||||
'isDefault',
|
||||
] as const;
|
||||
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
/** 门店基础信息变更(v3.5.1) */
|
||||
|
||||
export type StoreInfoChangeStatus = 'PENDING' | 'APPROVED' | 'REJECTED';
|
||||
|
||||
export type StoreInfoChangeSubmitterType = 'PARTNER' | 'SHOP' | 'HQ_DIRECT_ADMIN';
|
||||
|
||||
export const STORE_INFO_CHANGE_STATUS_LABELS: Record<StoreInfoChangeStatus, string> = {
|
||||
PENDING: '审核中',
|
||||
APPROVED: '已通过',
|
||||
REJECTED: '已驳回',
|
||||
};
|
||||
|
||||
/** 门店基础信息可变字段白名单(提交变更 / 总部审核覆盖时使用,均为 Store 标量列) */
|
||||
export const STORE_INFO_CHANGEABLE_FIELDS = [
|
||||
'name',
|
||||
'contactPhone',
|
||||
'address',
|
||||
'intro',
|
||||
'benefitUsageRule',
|
||||
'latitude',
|
||||
'longitude',
|
||||
'openTime',
|
||||
'closeTime',
|
||||
'openTime2',
|
||||
'closeTime2',
|
||||
'avgPrice',
|
||||
] as const;
|
||||
|
||||
export type StoreInfoChangeableField = (typeof STORE_INFO_CHANGEABLE_FIELDS)[number];
|
||||
|
||||
/** 单条记录的字段详情(用于审核页 diff 对比) */
|
||||
export interface StoreInfoChangeFieldDiff {
|
||||
field: StoreInfoChangeableField;
|
||||
/** 变更前(线上现行) */
|
||||
live: unknown;
|
||||
/** 变更后(提交值) */
|
||||
proposed: unknown;
|
||||
}
|
||||
|
||||
export interface StoreInfoChangeRequestDto {
|
||||
id: string;
|
||||
storeId: string;
|
||||
storeName?: string;
|
||||
status: StoreInfoChangeStatus;
|
||||
/** 变更的字段数组 */
|
||||
changedFields: StoreInfoChangeableField[];
|
||||
/** 字段前后对比(详情用) */
|
||||
diffs?: StoreInfoChangeFieldDiff[];
|
||||
submitterType: StoreInfoChangeSubmitterType;
|
||||
submitterId: string;
|
||||
submitterName?: string;
|
||||
rejectReason?: string | null;
|
||||
reviewedAt?: string | null;
|
||||
createdAt: string;
|
||||
}
|
||||
|
||||
export interface StoreInfoChangeSummaryDto {
|
||||
pendingCount: number;
|
||||
}
|
||||
|
||||
export interface StoreInfoChangeAuditAction {
|
||||
action: 'APPROVE' | 'REJECT';
|
||||
rejectReason?: string;
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
import type { WechatJsapiPrepayParams } from './wechat';
|
||||
import type { InvoiceStatus } from './invoice';
|
||||
|
||||
export interface OrderDto {
|
||||
id: string;
|
||||
@@ -14,6 +15,8 @@ export interface OrderDto {
|
||||
isProxyOrder?: boolean;
|
||||
proxyPartnerName?: string | null;
|
||||
proxyPartnerPhone?: string | null;
|
||||
/** 该订单最新发票状态;无申请时为 null */
|
||||
invoiceStatus?: InvoiceStatus | null;
|
||||
}
|
||||
|
||||
export interface OrderPreviewRequest {
|
||||
|
||||
Reference in New Issue
Block a user