/** * 商户端类型定义 */ // ==================== 订单相关 ==================== /** 订单状态枚举 */ export enum OrderStatus { PENDING = 'pending', // 待确认 CONFIRMED = 'confirmed', // 已确认 SHIPPING = 'shipping', // 待发货 SHIPPED = 'shipped', // 已发货 COMPLETED = 'completed', // 已完成 CANCELLED = 'cancelled', // 已取消 } /** 订单状态配置 */ export const ORDER_STATUS_CONFIG = { [OrderStatus.PENDING]: { label: '待确认', color: '#ff8f0d' }, [OrderStatus.CONFIRMED]: { label: '已确认', color: '#4d80f0' }, [OrderStatus.SHIPPING]: { label: '待发货', color: '#ff8f0d' }, [OrderStatus.SHIPPED]: { label: '已发货', color: '#4d80f0' }, [OrderStatus.COMPLETED]: { label: '已完成', color: '#00c05a' }, [OrderStatus.CANCELLED]: { label: '已取消', color: '#999' }, } /** 订单商品 */ export interface OrderGoods { id: string goodsId: string name: string image: string skuName: string // 规格名称 price: number quantity: number amount: number } /** 物流信息 */ export interface LogisticsInfo { company: string // 物流公司 trackingNo: string // 运单号 status: string // 物流状态 traces: LogisticsTrace[] } /** 物流轨迹 */ export interface LogisticsTrace { time: string content: string } /** 收货地址 */ export interface OrderAddress { name: string phone: string province: string city: string district: string detail: string } /** 商户订单 */ export interface MerchantOrder { id: string orderNo: string customerName: string customerPhone: string customerAvatar?: string status: OrderStatus amount: number // 订单总金额 freight: number // 运费 payAmount: number // 实付金额 remark?: string // 订单备注 merchantRemark?: string // 商家备注 goods: OrderGoods[] address: OrderAddress logistics?: LogisticsInfo createTime: string payTime?: string shipTime?: string completeTime?: string } // ==================== 商品相关 ==================== /** 商品状态枚举 */ export enum GoodsStatus { ON = 'on', // 上架 OFF = 'off', // 下架 SOLD_OUT = 'sold_out', // 售罄 } /** 商品状态配置 */ export const GOODS_STATUS_CONFIG = { [GoodsStatus.ON]: { label: '上架', color: '#00c05a' }, [GoodsStatus.OFF]: { label: '下架', color: '#999' }, [GoodsStatus.SOLD_OUT]: { label: '售罄', color: '#fa4350' }, } /** SKU 规格选项 */ export interface SkuSpec { name: string // 规格名称,如 "颜色" values: string[] // 规格值列表,如 ["红色", "蓝色"] } /** SKU 项 */ export interface SkuItem { id: string specs: Record // 规格组合,如 { 颜色: "红色", 尺码: "M" } price: number stock: number image?: string } /** 商户商品 */ export interface MerchantGoods { id: string name: string categoryId: string categoryName: string brand?: string price: number // 售价(单规格时使用) costPrice: number // 成本价 stock: number // 库存(单规格时使用) sales: number // 销量 status: GoodsStatus images: string[] // 商品图片 description: string // 商品描述 specs?: SkuSpec[] // 规格定义 skuList?: SkuItem[] // SKU 列表 createTime: string updateTime: string } /** 商品表单数据 */ export interface GoodsFormData { id?: string name: string categoryId: string brand?: string price: number costPrice: number stock: number images: string[] description: string enableSpec: boolean // 是否启用多规格 specs?: SkuSpec[] skuList?: SkuItem[] } // ==================== 财务相关 ==================== /** 财务概览 */ export interface FinanceOverview { balance: number // 可用余额 pendingSettlement: number // 待结算 monthIncome: number // 本月收入 totalIncome: number // 累计收入 } /** 交易类型 */ export enum TransactionType { INCOME = 'income', // 收入 WITHDRAW = 'withdraw', // 提现 REFUND = 'refund', // 退款 } /** 交易记录 */ export interface Transaction { id: string type: TransactionType amount: number balance: number // 交易后余额 orderNo?: string // 关联订单号 remark: string createTime: string } /** 结算状态 */ export enum SettlementStatus { PENDING = 'pending', // 待结算 SETTLED = 'settled', // 已结算 } /** 结算记录 */ export interface Settlement { id: string settlementNo: string amount: number orderCount: number // 订单数量 status: SettlementStatus period: string // 结算周期,如 "2024-12-01 ~ 2024-12-15" settledTime?: string // 结算时间 createTime: string } /** 提现状态 */ export enum WithdrawStatus { PENDING = 'pending', // 审核中 APPROVED = 'approved', // 审核通过 REJECTED = 'rejected', // 审核拒绝 COMPLETED = 'completed', // 已到账 } /** 提现状态配置 */ export const WITHDRAW_STATUS_CONFIG = { [WithdrawStatus.PENDING]: { label: '审核中', color: '#ff8f0d' }, [WithdrawStatus.APPROVED]: { label: '审核通过', color: '#4d80f0' }, [WithdrawStatus.REJECTED]: { label: '审核拒绝', color: '#fa4350' }, [WithdrawStatus.COMPLETED]: { label: '已到账', color: '#00c05a' }, } /** 提现记录 */ export interface WithdrawRecord { id: string amount: number bankName: string bankAccount: string status: WithdrawStatus rejectReason?: string // 拒绝原因 applyTime: string completeTime?: string } // ==================== 店铺相关 ==================== /** 店铺信息 */ export interface ShopInfo { id: string name: string logo: string phone: string address: string businessHours: string // 营业时间 description?: string } // ==================== 统计相关 ==================== /** 商户统计数据 */ export interface MerchantStats { todayOrders: number // 今日订单 pendingOrders: number // 待处理订单 todaySales: number // 今日销售额 totalGoods: number // 商品总数 lowStockGoods: number // 库存预警商品数 pendingSettlement: number // 待结算金额 }