import { ApiProperty } from '@midwayjs/swagger'; import { UnifiedPaginationDTO, } from './api.dto'; import { Dict } from '../entity/dict.entity'; import { Product } from '../entity/product.entity'; // export class UnifiedOrderWhere{ // [] // } export enum OrderFulfillmentStatus { // 未发货 PENDING, // 部分发货 PARTIALLY_FULFILLED, // 已发货 FULFILLED, // 已取消 CANCELLED, // 确认发货 CONFIRMED, } export enum OrderPaymentStatus { // 待支付 PENDING, // 支付中 PAYING, // 部分支付 PARTIALLY_PAID, // 已支付 PAID, // 支付失败 FAILED, // 部分退款 PARTIALLY_REFUNDED, // 已退款 REFUNDED, // 已取消 CANCELLED, } // export class UnifiedProductWhere { sku?: string; [prop:string]:any } export class UnifiedTagDTO { // 标签DTO用于承载统一标签数据 @ApiProperty({ description: '标签ID' }) id: number | string; @ApiProperty({ description: '标签名称' }) name: string; } export class UnifiedCategoryDTO { // 分类DTO用于承载统一分类数据 @ApiProperty({ description: '分类ID' }) id: number | string; @ApiProperty({ description: '分类名称' }) name: string; } export class UnifiedImageDTO { // 图片DTO用于承载统一图片数据 @ApiProperty({ description: '图片ID' }) id: number | string; @ApiProperty({ description: '图片URL' }) src: string; @ApiProperty({ description: '图片名称', required: false }) name?: string; @ApiProperty({ description: '替代文本', required: false }) alt?: string; } export class UnifiedAddressDTO { // 地址DTO用于承载统一地址数据 @ApiProperty({ description: '名', required: false }) first_name?: string; @ApiProperty({ description: '姓', required: false }) last_name?: string; @ApiProperty({ description: '全名', required: false }) fullname?: string; @ApiProperty({ description: '公司', required: false }) company?: string; @ApiProperty({ description: '地址1', required: false }) address_1?: string; @ApiProperty({ description: '地址2', required: false }) address_2?: string; @ApiProperty({ description: '城市', required: false }) city?: string; @ApiProperty({ description: '省/州', required: false }) state?: string; @ApiProperty({ description: '邮政编码', required: false }) postcode?: string; @ApiProperty({ description: '国家', required: false }) country?: string; @ApiProperty({ description: '邮箱', required: false }) email?: string; @ApiProperty({ description: '电话', required: false }) phone?: string; @ApiProperty({ description: '配送方式', required: false }) method_title?: string; } export class UnifiedOrderLineItemDTO { // 订单项DTO用于承载统一订单项数据 @ApiProperty({ description: '订单项ID' }) id: number | string; @ApiProperty({ description: '产品名称' }) name: string; @ApiProperty({ description: '产品ID' }) product_id: number | string; @ApiProperty({ description: '变体ID', required: false }) variation_id?: number | string; @ApiProperty({ description: '数量' }) quantity: number; @ApiProperty({ description: '总计' }) total: string; @ApiProperty({ description: 'SKU' }) sku: string; } export class UnifiedProductAttributeDTO { // 产品属性DTO用于承载统一产品属性数据 @ApiProperty({ description: '属性ID', required: false }) id?: number | string; @ApiProperty({ description: '属性名称' }) name: string; @ApiProperty({ description: '属性位置', example: 0, required: false }) position?: number; @ApiProperty({ description: '对变体是否可见', example: true, required: false }) visible?: boolean; @ApiProperty({ description: '是否为变体属性', example: true, required: false }) variation?: boolean; @ApiProperty({ description: '属性选项', type: [String] }) options: string[]; @ApiProperty({ description: '变体属性值(单个值)', required: false }) option?: string; // 这个是属性的父级字典项 dict?: Dict; } export class UnifiedProductVariationDTO { // 产品变体DTO用于承载统一产品变体数据 @ApiProperty({ description: '变体ID' }) id: number | string; @ApiProperty({ description: '变体名称' }) name: string; @ApiProperty({ description: '变体SKU' }) sku: string; @ApiProperty({ description: '常规价格' }) regular_price: string; @ApiProperty({ description: '销售价格' }) sale_price: string; @ApiProperty({ description: '当前价格' }) price: string; @ApiProperty({ description: '库存状态' }) stock_status: string; @ApiProperty({ description: '库存数量' }) stock_quantity: number; @ApiProperty({ description: '变体属性', type: () => [UnifiedProductAttributeDTO], required: false }) attributes?: UnifiedProductAttributeDTO[]; @ApiProperty({ description: '变体图片', type: () => UnifiedImageDTO, required: false }) image?: UnifiedImageDTO; @ApiProperty({ description: '变体描述', required: false }) description?: string; @ApiProperty({ description: '是否启用', required: false }) enabled?: boolean; @ApiProperty({ description: '是否可下载', required: false }) downloadable?: boolean; @ApiProperty({ description: '是否为虚拟商品', required: false }) virtual?: boolean; @ApiProperty({ description: '管理库存', required: false }) manage_stock?: boolean; @ApiProperty({ description: '重量', required: false }) weight?: string; @ApiProperty({ description: '长度', required: false }) length?: string; @ApiProperty({ description: '宽度', required: false }) width?: string; @ApiProperty({ description: '高度', required: false }) height?: string; @ApiProperty({ description: '运输类别', required: false }) shipping_class?: string; @ApiProperty({ description: '税类别', required: false }) tax_class?: string; @ApiProperty({ description: '菜单顺序', required: false }) menu_order?: number; } export class UnifiedProductDTO { // 产品DTO用于承载统一产品数据 @ApiProperty({ description: '产品ID' }) id: string | number; @ApiProperty({ description: '产品名称' }) name: string; @ApiProperty({ description: '产品类型' }) type: string; @ApiProperty({ description: '产品状态' }) status: string; @ApiProperty({ description: '产品SKU' }) sku: string; @ApiProperty({ description: '常规价格' }) regular_price: string; @ApiProperty({ description: '销售价格' }) sale_price: string; @ApiProperty({ description: '当前价格' }) price: string; @ApiProperty({ description: '库存状态' }) stock_status: string; @ApiProperty({ description: '库存数量' }) stock_quantity: number; @ApiProperty({ description: '产品图片', type: () => [UnifiedImageDTO] }) images: UnifiedImageDTO[]; @ApiProperty({ description: '产品标签', type: () => [UnifiedTagDTO], required: false }) tags?: UnifiedTagDTO[]; @ApiProperty({ description: '产品分类', type: () => [UnifiedCategoryDTO], required: false }) categories?: UnifiedCategoryDTO[]; @ApiProperty({ description: '产品属性', type: () => [UnifiedProductAttributeDTO] }) attributes: UnifiedProductAttributeDTO[]; @ApiProperty({ description: '产品变体', type: () => [UnifiedProductVariationDTO], required: false, }) variations?: UnifiedProductVariationDTO[]; @ApiProperty({ description: '创建时间' }) date_created: string; @ApiProperty({ description: '更新时间' }) date_modified: string; @ApiProperty({ description: '产品链接', required: false }) permalink?: string; @ApiProperty({ description: '原始数据(保留备用)', type: 'object', required: false, }) raw?: Record; @ApiProperty({ description: 'ERP产品信息', type: 'object', required: false, }) erpProduct?: Product } export class UnifiedOrderRefundDTO { @ApiProperty({ description: '退款ID' }) id: number | string; @ApiProperty({ description: '退款原因' }) reason: string; @ApiProperty({ description: '退款金额' }) total: string; } export class UnifiedOrderDTO { // 订单DTO用于承载统一订单数据 @ApiProperty({ description: '订单ID' }) id: string | number; @ApiProperty({ description: '订单号' }) number: string; @ApiProperty({ description: '订单状态' }) status: string; @ApiProperty({ description: '财务状态',nullable: true }) financial_status?: string; @ApiProperty({ description: '货币' }) currency: string; @ApiProperty({ description: '货币符号' }) currency_symbol?: string; @ApiProperty({ description: '总金额' }) total: string; @ApiProperty({ description: '客户ID' }) customer_id: number; @ApiProperty({ description: '客户姓名' }) customer_name: string; @ApiProperty({ description: '客户邮箱' }) email: string; @ApiProperty({ description: '客户邮箱' }) customer_email: string; @ApiProperty({ description: '订单项(具体的商品)', type: () => [UnifiedOrderLineItemDTO] }) line_items: UnifiedOrderLineItemDTO[]; @ApiProperty({ description: '销售项(兼容前端)', type: () => [UnifiedOrderLineItemDTO], required: false, }) sales?: UnifiedOrderLineItemDTO[]; @ApiProperty({ description: '账单地址', type: () => UnifiedAddressDTO }) billing: UnifiedAddressDTO; @ApiProperty({ description: '收货地址', type: () => UnifiedAddressDTO }) shipping: UnifiedAddressDTO; @ApiProperty({ description: '账单地址全称', required: false }) billing_full_address?: string; @ApiProperty({ description: '收货地址全称', required: false }) shipping_full_address?: string; @ApiProperty({ description: '支付方式' }) payment_method: string; @ApiProperty({ description: '退款列表', type: () => [UnifiedOrderRefundDTO] }) refunds: UnifiedOrderRefundDTO[]; @ApiProperty({ description: '创建时间' }) date_created: string; @ApiProperty({ description: '更新时间', required: false }) date_modified?: string; @ApiProperty({ description: '原始数据', type: 'object', required: false }) raw?: Record; @ApiProperty({ description: '配送方式', type: () => [UnifiedShippingLineDTO], required: false }) shipping_lines?: UnifiedShippingLineDTO[]; @ApiProperty({ description: '费用项', type: () => [UnifiedFeeLineDTO], required: false }) fee_lines?: UnifiedFeeLineDTO[]; @ApiProperty({ description: '优惠券项', type: () => [UnifiedCouponLineDTO], required: false }) coupon_lines?: UnifiedCouponLineDTO[]; @ApiProperty({ description: '支付时间', required: false }) date_paid?: string | null; @ApiProperty({ description: '客户IP地址', required: false }) customer_ip_address?: string; @ApiProperty({ description: 'UTM来源', required: false }) utm_source?: string; @ApiProperty({ description: '设备类型', required: false }) device_type?: string; @ApiProperty({ description: '来源类型', required: false }) source_type?: string; @ApiProperty({ description: '订单状态', required: false }) fulfillment_status?: OrderFulfillmentStatus; // 物流信息 @ApiProperty({ description: '物流信息', type: () => [FulfillmentDTO], required: false }) fulfillments?: FulfillmentDTO[]; } export class UnifiedShippingLineDTO { // 配送方式DTO用于承载统一配送方式数据 @ApiProperty({ description: '配送方式ID' }) id?: string | number; @ApiProperty({ description: '配送方式名称' }) method_title?: string; @ApiProperty({ description: '配送方式实例ID' }) method_id?: string; @ApiProperty({ description: '配送方式金额' }) total?: string; @ApiProperty({ description: '配送方式税额' }) total_tax?: string; @ApiProperty({ description: '配送方式税额详情' }) taxes?: any[]; @ApiProperty({ description: '配送方式元数据' }) meta_data?: any[]; } export class UnifiedFeeLineDTO { // 费用项DTO用于承载统一费用项数据 @ApiProperty({ description: '费用项ID' }) id?: string | number; @ApiProperty({ description: '费用项名称' }) name?: string; @ApiProperty({ description: '税率类' }) tax_class?: string; @ApiProperty({ description: '税率状态' }) tax_status?: string; @ApiProperty({ description: '总金额' }) total?: string; @ApiProperty({ description: '总税额' }) total_tax?: string; @ApiProperty({ description: '税额详情' }) taxes?: any[]; @ApiProperty({ description: '元数据' }) meta_data?: any[]; } export class UnifiedCouponLineDTO { // 优惠券项DTO用于承载统一优惠券项数据 @ApiProperty({ description: '优惠券项ID' }) id?: string | number; @ApiProperty({ description: '优惠券项代码' }) code?: string; @ApiProperty({ description: '优惠券项折扣' }) discount?: string; @ApiProperty({ description: '优惠券项税额' }) discount_tax?: string; @ApiProperty({ description: '优惠券项元数据' }) meta_data?: any[]; } export class UnifiedCustomerDTO { // 客户DTO用于承载统一客户数据 @ApiProperty({ description: '客户ID' }) id: string | number; @ApiProperty({ description: '头像URL', required: false }) avatar?: string; @ApiProperty({ description: '邮箱' }) email: string; @ApiProperty({ description: '订单总数', required: false }) orders?: number; @ApiProperty({ description: '总花费', required: false }) total_spend?: number; @ApiProperty({ description: '创建时间', required: false }) date_created?: string; @ApiProperty({ description: '更新时间', required: false }) date_modified?: string; @ApiProperty({ description: '名', required: false }) first_name?: string; @ApiProperty({ description: '姓', required: false }) last_name?: string; @ApiProperty({ description: '名字', required: false }) fullname?: string; @ApiProperty({ description: '用户名', required: false }) username?: string; @ApiProperty({ description: '电话', required: false }) phone?: string; @ApiProperty({ description: '账单地址', type: () => UnifiedAddressDTO, required: false, }) billing?: UnifiedAddressDTO; @ApiProperty({ description: '收货地址', type: () => UnifiedAddressDTO, required: false, }) shipping?: UnifiedAddressDTO; @ApiProperty({ description: '原始数据', type: 'object', required: false }) raw?: Record; } export class UnifiedSubscriptionDTO { // 订阅DTO用于承载统一订阅数据 @ApiProperty({ description: '订阅ID' }) id: string | number; @ApiProperty({ description: '订阅状态' }) status: string; @ApiProperty({ description: '客户ID' }) customer_id: number; @ApiProperty({ description: '计费周期' }) billing_period: string; @ApiProperty({ description: '计费间隔' }) billing_interval: number; @ApiProperty({ description: '创建时间', required: false }) date_created?: string; @ApiProperty({ description: '更新时间', required: false }) date_modified?: string; @ApiProperty({ description: '开始时间' }) start_date: string; @ApiProperty({ description: '下次支付时间' }) next_payment_date: string; @ApiProperty({ description: '订单项', type: () => [UnifiedOrderLineItemDTO] }) line_items: UnifiedOrderLineItemDTO[]; @ApiProperty({ description: '原始数据', type: 'object', required: false }) raw?: Record; } export class UnifiedMediaDTO { // 媒体DTO用于承载统一媒体数据 @ApiProperty({ description: '媒体ID' }) id: number; @ApiProperty({ description: '标题' }) title: string; @ApiProperty({ description: '媒体类型' }) media_type: string; @ApiProperty({ description: 'MIME类型' }) mime_type: string; @ApiProperty({ description: '源URL' }) source_url: string; @ApiProperty({ description: '创建时间' }) date_created: string; @ApiProperty({ description: '更新时间', required: false }) date_modified?: string; } export class UnifiedProductPaginationDTO extends UnifiedPaginationDTO { // 产品分页DTO用于承载产品列表分页数据 @ApiProperty({ description: '列表数据', type: () => [UnifiedProductDTO] }) items: UnifiedProductDTO[]; } export class UnifiedOrderPaginationDTO extends UnifiedPaginationDTO { // 订单分页DTO用于承载订单列表分页数据 @ApiProperty({ description: '列表数据', type: () => [UnifiedOrderDTO] }) items: UnifiedOrderDTO[]; } export class UnifiedCustomerPaginationDTO extends UnifiedPaginationDTO { // 客户分页DTO用于承载客户列表分页数据 @ApiProperty({ description: '列表数据', type: () => [UnifiedCustomerDTO] }) items: UnifiedCustomerDTO[]; } export class UnifiedSubscriptionPaginationDTO extends UnifiedPaginationDTO { // 订阅分页DTO用于承载订阅列表分页数据 @ApiProperty({ description: '列表数据', type: () => [UnifiedSubscriptionDTO] }) items: UnifiedSubscriptionDTO[]; } export class UnifiedMediaPaginationDTO extends UnifiedPaginationDTO { // 媒体分页DTO用于承载媒体列表分页数据 @ApiProperty({ description: '列表数据', type: () => [UnifiedMediaDTO] }) items: UnifiedMediaDTO[]; } export class UnifiedReviewDTO { // 评论DTO用于承载统一评论数据 @ApiProperty({ description: '评论ID' }) id: number | string; @ApiProperty({ description: '产品ID' }) product_id: number | string; @ApiProperty({ description: '评论者' }) author: string; @ApiProperty({ description: '评论者邮箱' }) email: string; @ApiProperty({ description: '评论内容' }) content: string; @ApiProperty({ description: '评分' }) rating: number; @ApiProperty({ description: '状态' }) status: string; @ApiProperty({ description: '创建时间' }) date_created: string; @ApiProperty({ description: '更新时间', required: false }) date_modified?: string; @ApiProperty({ description: '原始数据', type: 'object', required: false }) raw?: Record; } export class UnifiedReviewPaginationDTO extends UnifiedPaginationDTO { // 评论分页DTO用于承载评论列表分页数据 @ApiProperty({ description: '列表数据', type: () => [UnifiedReviewDTO] }) items: UnifiedReviewDTO[]; } export class CreateReviewDTO { @ApiProperty({ description: '产品ID' }) product_id: number | string; @ApiProperty({ description: '评论内容' }) review: string; @ApiProperty({ description: '评论者' }) reviewer: string; @ApiProperty({ description: '评论者邮箱' }) reviewer_email: string; @ApiProperty({ description: '评分' }) rating: number; } export class UpdateReviewDTO { @ApiProperty({ description: '评论内容', required: false }) review?: string; @ApiProperty({ description: '评分', required: false }) rating?: number; @ApiProperty({ description: '状态', required: false }) status?: string; } export class UploadMediaDTO { @ApiProperty({ description: 'Base64 编码的文件内容' }) file: string; @ApiProperty({ description: '文件名' }) filename: string; } export class UnifiedWebhookDTO { // Webhook DTO用于承载统一webhook数据 @ApiProperty({ description: 'Webhook ID' }) id: number | string; @ApiProperty({ description: '名称' }) name?: string; @ApiProperty({ description: '状态' }) status: string; @ApiProperty({ description: '主题/事件' }) topic: string; @ApiProperty({ description: '目标URL' }) delivery_url: string; @ApiProperty({ description: '秘密密钥' }) secret?: string; @ApiProperty({ description: '创建时间' }) date_created?: string; @ApiProperty({ description: '更新时间' }) date_modified?: string; @ApiProperty({ description: '头部信息' }) headers?: Record; @ApiProperty({ description: 'API版本' }) api_version?: string; } export class UnifiedWebhookPaginationDTO extends UnifiedPaginationDTO { // Webhook分页DTO用于承载webhook列表分页数据 @ApiProperty({ description: '列表数据', type: () => [UnifiedWebhookDTO] }) items: UnifiedWebhookDTO[]; } export class CreateWebhookDTO { // 创建Webhook DTO @ApiProperty({ description: '名称' }) name?: string; @ApiProperty({ description: '主题/事件' }) topic: string; @ApiProperty({ description: '目标URL' }) delivery_url: string; @ApiProperty({ description: '秘密密钥' }) secret?: string; @ApiProperty({ description: '头部信息' }) headers?: Record; @ApiProperty({ description: 'API版本' }) api_version?: string; } export class UpdateWebhookDTO { // 更新Webhook DTO @ApiProperty({ description: '名称', required: false }) name?: string; @ApiProperty({ description: '状态', required: false }) status?: string; @ApiProperty({ description: '主题/事件', required: false }) topic?: string; @ApiProperty({ description: '目标URL', required: false }) delivery_url?: string; @ApiProperty({ description: '秘密密钥', required: false }) secret?: string; @ApiProperty({ description: '头部信息', required: false }) headers?: Record; @ApiProperty({ description: 'API版本', required: false }) api_version?: string; } export class FulfillmentItemDTO { @ApiProperty({ description: '订单项ID' ,required: false}) order_item_id: number; @ApiProperty({ description: '数量' ,required:false}) quantity: number; } export class FulfillmentDTO { @ApiProperty({ description: '物流id', required: false }) tracking_id?: string; @ApiProperty({ description: '物流单号', required: false }) tracking_number?: string; @ApiProperty({ description: '物流公司', required: false }) shipping_provider?: string; @ApiProperty({ description: '发货方式', required: false }) shipping_method?: string; @ApiProperty({ description: '状态', required: false }) status?: string; @ApiProperty({ description: '创建时间', required: false }) date_created?: string; @ApiProperty({ description: '发货商品项', type: () => [FulfillmentItemDTO], required: false }) items?: FulfillmentItemDTO[]; } export class CancelFulfillmentDTO { @ApiProperty({ description: '取消原因', required: false }) reason?: string; @ApiProperty({ description: '发货单ID', required: false }) shipment_id?: string; } export class BatchFulfillmentItemDTO { @ApiProperty({ description: '订单ID' }) order_id: string; @ApiProperty({ description: '物流单号', required: false }) tracking_number?: string; @ApiProperty({ description: '物流公司', required: false }) shipping_provider?: string; @ApiProperty({ description: '发货方式', required: false }) shipping_method?: string; @ApiProperty({ description: '发货商品项', type: () => [FulfillmentItemDTO], required: false }) items?: FulfillmentItemDTO[]; } export class CreateVariationDTO { // 创建产品变体DTO用于承载创建产品变体的请求数据 @ApiProperty({ description: '变体SKU', required: false }) sku?: string; @ApiProperty({ description: '常规价格', required: false }) regular_price?: string; @ApiProperty({ description: '销售价格', required: false }) sale_price?: string; @ApiProperty({ description: '库存状态', required: false }) stock_status?: string; @ApiProperty({ description: '库存数量', required: false }) stock_quantity?: number; @ApiProperty({ description: '变体属性', type: () => [UnifiedProductAttributeDTO], required: false }) attributes?: UnifiedProductAttributeDTO[]; @ApiProperty({ description: '变体图片', type: () => UnifiedImageDTO, required: false }) image?: UnifiedImageDTO; @ApiProperty({ description: '变体描述', required: false }) description?: string; @ApiProperty({ description: '是否启用', required: false }) enabled?: boolean; @ApiProperty({ description: '是否可下载', required: false }) downloadable?: boolean; @ApiProperty({ description: '是否为虚拟商品', required: false }) virtual?: boolean; @ApiProperty({ description: '管理库存', required: false }) manage_stock?: boolean; @ApiProperty({ description: '重量', required: false }) weight?: string; @ApiProperty({ description: '长度', required: false }) length?: string; @ApiProperty({ description: '宽度', required: false }) width?: string; @ApiProperty({ description: '高度', required: false }) height?: string; @ApiProperty({ description: '运输类别', required: false }) shipping_class?: string; @ApiProperty({ description: '税类别', required: false }) tax_class?: string; @ApiProperty({ description: '菜单顺序', required: false }) menu_order?: number; } export class UpdateVariationDTO { // 更新产品变体DTO用于承载更新产品变体的请求数据 @ApiProperty({ description: '变体SKU', required: false }) sku?: string; @ApiProperty({ description: '常规价格', required: false }) regular_price?: string; @ApiProperty({ description: '销售价格', required: false }) sale_price?: string; @ApiProperty({ description: '库存状态', required: false }) stock_status?: string; @ApiProperty({ description: '库存数量', required: false }) stock_quantity?: number; @ApiProperty({ description: '变体属性', type: () => [UnifiedProductAttributeDTO], required: false }) attributes?: UnifiedProductAttributeDTO[]; @ApiProperty({ description: '变体图片', type: () => UnifiedImageDTO, required: false }) image?: UnifiedImageDTO; @ApiProperty({ description: '变体描述', required: false }) description?: string; @ApiProperty({ description: '是否启用', required: false }) enabled?: boolean; @ApiProperty({ description: '是否可下载', required: false }) downloadable?: boolean; @ApiProperty({ description: '是否为虚拟商品', required: false }) virtual?: boolean; @ApiProperty({ description: '管理库存', required: false }) manage_stock?: boolean; @ApiProperty({ description: '重量', required: false }) weight?: string; @ApiProperty({ description: '长度', required: false }) length?: string; @ApiProperty({ description: '宽度', required: false }) width?: string; @ApiProperty({ description: '高度', required: false }) height?: string; @ApiProperty({ description: '运输类别', required: false }) shipping_class?: string; @ApiProperty({ description: '税类别', required: false }) tax_class?: string; @ApiProperty({ description: '菜单顺序', required: false }) menu_order?: number; } export class UnifiedVariationPaginationDTO extends UnifiedPaginationDTO { // 产品变体分页DTO用于承载产品变体列表分页数据 @ApiProperty({ description: '列表数据', type: () => [UnifiedProductVariationDTO] }) items: UnifiedProductVariationDTO[]; } export class BatchFulfillmentsDTO { @ApiProperty({ description: '批量发货订单列表', type: () => [BatchFulfillmentItemDTO] }) orders: BatchFulfillmentItemDTO[]; } // 订单跟踪号 export class UnifiedOrderTrackingDTO { @ApiProperty({ description: '订单ID' }) order_id: string; @ApiProperty({ description: '物流单号' }) tracking_number: string; @ApiProperty({ description: '物流公司' }) shipping_provider: string; @ApiProperty({ description: '发货方式' }) shipping_method?: string; @ApiProperty({ description: '状态' }) status?: string; @ApiProperty({ description: '创建时间' }) date_created?: string; }