diff --git a/src/dto/logistics.dto.ts b/src/dto/logistics.dto.ts index 48841db..f0bd6ba 100644 --- a/src/dto/logistics.dto.ts +++ b/src/dto/logistics.dto.ts @@ -25,7 +25,7 @@ export class ShipmentBookDTO { shipmentPlatform: string; @ApiProperty() - @Rule(RuleType.string()) + @Rule(RuleType.any()) courierCompany: string; } diff --git a/src/service/logistics.service.ts b/src/service/logistics.service.ts index 174a93e..046ccd9 100644 --- a/src/service/logistics.service.ts +++ b/src/service/logistics.service.ts @@ -339,8 +339,6 @@ export class LogisticsService { throw new Error('不支持的运单平台'); } - - } catch (e) { throw e; } @@ -363,12 +361,7 @@ export class LogisticsService { try { resShipmentOrder = await this.mepShipment(data, order); - // 记录物流信息,并将订单状态转到完成,uniuni状态为SUCCESS,tms.freightwaves状态为00000200 - if (resShipmentOrder.status === 'SUCCESS' || resShipmentOrder.code === '00000200') { - order.orderStatus = ErpOrderStatus.COMPLETED; - } else { - throw new Error('运单生成失败'); - } + order.orderStatus = ErpOrderStatus.COMPLETED; const dataSource = this.dataSourceManager.getDataSource('default'); let transactionError = undefined; let shipmentId = undefined; @@ -732,13 +725,18 @@ export class LogisticsService { }; // 添加运单 resShipmentOrder = await this.uniExpressService.createShipment(reqBody); + + // 记录物流信息,并将订单状态转到完成,uniuni状态为SUCCESS,tms.freightwaves状态为00000200 + if (resShipmentOrder.status !== 'SUCCESS') { + throw new Error('运单生成失败'); + } } if (data.shipmentPlatform === 'freightwaves') { // 根据TMS系统对接说明文档格式化参数 const reqBody: any = { // shipCompany: 'UPSYYZ7000NEW', - shipCompany: data.courierCompany || "", + shipCompany: data.courierCompany, partnerOrderNumber: order.siteId + '-' + order.externalOrderId, warehouseId: '25072621030107400060', shipper: { @@ -805,7 +803,10 @@ export class LogisticsService { resShipmentOrder = await this.freightwavesService.createOrder(reqBody); // 创建订单 //tms只返回了物流订单号,需要查询一次来获取完整的物流信息 const queryRes = await this.freightwavesService.queryOrder({ shipOrderId: resShipmentOrder.shipOrderId }); // 查询订单 - resShipmentOrder.push(queryRes); + return { + ...resShipmentOrder, + ...queryRes + } } return resShipmentOrder; @@ -816,11 +817,7 @@ export class LogisticsService { } - /** - * 将ShipmentFeeBookDTO转换为freightwaves的RateTryRequest格式 - * @param data ShipmentFeeBookDTO数据 - * @returns RateTryRequest格式的数据 - */ + /** * 将ShipmentFeeBookDTO转换为freightwaves的RateTryRequest格式 * @param data ShipmentFeeBookDTO数据 @@ -838,7 +835,7 @@ export class LogisticsService { // 转换为RateTryRequest格式 const r = { // shipCompany: 'UPSYYZ7000NEW', - shipCompany: data.courierCompany || "", + shipCompany: data.courierCompany, partnerOrderNumber: `order-${Date.now()}`, // 必填,使用时间戳生成 warehouseId: '25072621030107400060', // 可选,使用stockPointId转换 shipper: {