zksu
/
API
forked from yoone/API
1
0
Fork 0

refactor(物流): 更新物流相关接口和DTO以支持可选字段

重构物流追踪相关接口和DTO,将order_item_id和quantity改为可选字段
添加tracking_id字段到FulfillmentDTO
优化woocommerce物流数据结构映射
更新package-lock.json添加faker依赖
This commit is contained in:
tikkhun 2026-01-22 11:38:44 +08:00
parent 71b2c249be
commit cb876e8c0f
4 changed files with 35 additions and 20 deletions

17
package-lock.json generated
View File

@ -523,6 +523,23 @@
"node": ">=18" "node": ">=18"
} }
}, },
"node_modules/@faker-js/faker": {
"version": "10.2.0",
"resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-10.2.0.tgz",
"integrity": "sha512-rTXwAsIxpCqzUnZvrxVh3L0QA0NzToqWBLAhV+zDV3MIIwiQhAZHMdPCIaj5n/yADu/tyk12wIPgL6YHGXJP+g==",
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/fakerjs"
}
],
"license": "MIT",
"peer": true,
"engines": {
"node": "^20.19.0 || ^22.13.0 || ^23.5.0 || >=24.0.0",
"npm": ">=10"
}
},
"node_modules/@hapi/bourne": { "node_modules/@hapi/bourne": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmmirror.com/@hapi/bourne/-/bourne-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/@hapi/bourne/-/bourne-3.0.0.tgz",

View File

@ -408,13 +408,11 @@ export class WooCommerceAdapter implements ISiteAdapter {
// 包含账单地址与收货地址以及创建与更新时间 // 包含账单地址与收货地址以及创建与更新时间
// 映射物流追踪信息,将后端格式转换为前端期望的格式 // 映射物流追踪信息,将后端格式转换为前端期望的格式
const fulfillments = (item.fulfillments || []).map((track: any) => ({ const fulfillments = (item.fulfillments || []).map((track) => ({
tracking_number: track.tracking_number || '', tracking_id: track.tracking_id,
shipping_provider: track.shipping_provider || '', tracking_number: track.tracking_number,
shipping_method: track.shipping_method || '', shipping_provider: track.tracking_provider,
status: track.status || '', date_created: track.data_sipped,
date_created: track.date_created || '',
items: track.items || [],
})); }));
return { return {

View File

@ -799,14 +799,16 @@ export class UpdateWebhookDTO {
export class FulfillmentItemDTO { export class FulfillmentItemDTO {
@ApiProperty({ description: '订单项ID' }) @ApiProperty({ description: '订单项ID' ,required: false})
order_item_id: number; order_item_id: number;
@ApiProperty({ description: '数量' }) @ApiProperty({ description: '数量' ,required:false})
quantity: number; quantity: number;
} }
export class FulfillmentDTO { export class FulfillmentDTO {
@ApiProperty({ description: '物流id', required: false })
tracking_id?: string;
@ApiProperty({ description: '物流单号', required: false }) @ApiProperty({ description: '物流单号', required: false })
tracking_number?: string; tracking_number?: string;

View File

@ -370,17 +370,15 @@ export interface WooOrder {
date_modified?: string; date_modified?: string;
date_modified_gmt?: string; date_modified_gmt?: string;
// 物流追踪信息 // 物流追踪信息
fulfillments?: Array<{ fulfillments?: WooFulfillment[];
tracking_number?: string; }
shipping_provider?: string; // 这个是一个插件的物流追踪信息
shipping_method?: string; export interface WooFulfillment {
status?: string; data_sipped: string;
date_created?: string; tracking_id: string;
items?: Array<{ tracking_link: string;
order_item_id?: number; tracking_number: string;
quantity?: number; tracking_provider: string;
}>;
}>;
} }
export interface WooOrderRefund { export interface WooOrderRefund {
id?: number; id?: number;