diff --git a/src/dto/logistics.dto.ts b/src/dto/logistics.dto.ts index b49b72c..48841db 100644 --- a/src/dto/logistics.dto.ts +++ b/src/dto/logistics.dto.ts @@ -23,6 +23,10 @@ export class ShipmentBookDTO { @ApiProperty() @Rule(RuleType.string()) shipmentPlatform: string; + + @ApiProperty() + @Rule(RuleType.string()) + courierCompany: string; } export class ShipmentFeeBookDTO { @@ -30,6 +34,8 @@ export class ShipmentFeeBookDTO { @ApiProperty() shipmentPlatform: string; @ApiProperty() + courierCompany: string; + @ApiProperty() stockPointId: number; @ApiProperty() sender: string; diff --git a/src/service/freightwaves.service.ts b/src/service/freightwaves.service.ts index f2bbe0a..3c51bec 100644 --- a/src/service/freightwaves.service.ts +++ b/src/service/freightwaves.service.ts @@ -247,6 +247,9 @@ export class FreightwavesService { }; const response = await this.sendRequest('/shipService/order/rateTry', requestData); + if (response.code !== '00000200') { + throw new Error(response.msg); + } return response.data; } @@ -262,7 +265,10 @@ export class FreightwavesService { }; const response = await this.sendRequest('/shipService/order/createOrder', requestData); - return response; + if (response.code !== '00000200') { + throw new Error(response.msg); + } + return response.data; } /** @@ -295,6 +301,9 @@ export class FreightwavesService { }; const response = await this.sendRequest('/shipService/order/modifyOrder', requestData); + if (response.code !== '00000200') { + throw new Error(response.msg); + } return response.data; } @@ -309,6 +318,9 @@ export class FreightwavesService { partner: this.config.partner, }; const response = await this.sendRequest('/shipService/order/refundOrder', requestData); + if (response.code !== '00000200') { + throw new Error(response.msg); + } return response.data; } diff --git a/src/service/logistics.service.ts b/src/service/logistics.service.ts index 4e472be..cb6738c 100644 --- a/src/service/logistics.service.ts +++ b/src/service/logistics.service.ts @@ -733,7 +733,8 @@ export class LogisticsService { if (data.shipmentPlatform === 'freightwaves') { // 根据TMS系统对接说明文档格式化参数 const reqBody: any = { - shipCompany: 'UPSYYZ7000NEW', + // shipCompany: 'UPSYYZ7000NEW', + shipCompany: data.courierCompany || "", partnerOrderNumber: order.siteId + '-' + order.externalOrderId, warehouseId: '25072621030107400060', shipper: { @@ -798,6 +799,7 @@ export class LogisticsService { }; resShipmentOrder = await this.freightwavesService.createOrder(reqBody); // 创建订单 + //tms只返回了物流订单号,需要查询一次来获取完整的物流信息 const queryRes = await this.freightwavesService.queryOrder({ shipOrderId: resShipmentOrder.shipOrderId }); // 查询订单 resShipmentOrder.push(queryRes); @@ -826,7 +828,8 @@ export class LogisticsService { const address = shipments?.address; // 转换为RateTryRequest格式 const r = { - shipCompany: 'UPSYYZ7000NEW', // 必填,但ShipmentFeeBookDTO中缺少 + //shipCompany: 'UPSYYZ7000NEW', // 必填,但ShipmentFeeBookDTO中缺少 + shipCompany: data.courierCompany || "", partnerOrderNumber: `order-${Date.now()}`, // 必填,使用时间戳生成 warehouseId: '25072621030107400060', // 可选,使用stockPointId转换 shipper: {