diff --git a/src/job/sync_shipment.job.ts b/src/job/sync_shipment.job.ts index 94707d9..f6497f3 100644 --- a/src/job/sync_shipment.job.ts +++ b/src/job/sync_shipment.job.ts @@ -75,17 +75,20 @@ export class SyncUniuniShipmentJob implements IJob{ '255': 'Gateway_To_Gateway_Transit' }; async onTick() { - try { const shipments:Shipment[] = await this.shipmentModel.findBy({ finished: false }); - shipments.forEach(shipment => { - this.logisticsService.updateShipmentState(shipment); - }); - } catch (error) { - this.logger.error(`更新运单状态失败 ${error.message}`); - } + const results = await Promise.all( + shipments.map(async shipment => { + return await this.logisticsService.updateShipmentState(shipment); + }) + ) + this.logger.info(`更新运单状态完毕 ${JSON.stringify(results)}`); + return results } onComplete(result: any) { - + this.logger.info(`更新运单状态完成 ${result}`); + } + onError(error: any) { + this.logger.error(`更新运单状态失败 ${error.message}`); } } \ No newline at end of file diff --git a/src/service/logistics.service.ts b/src/service/logistics.service.ts index ce4fc70..b37c781 100644 --- a/src/service/logistics.service.ts +++ b/src/service/logistics.service.ts @@ -125,6 +125,10 @@ export class LogisticsService { try { const data = await this.uniExpressService.getOrderStatus(shipment.return_tracking_number); console.log('updateShipmentState data:', data); + // huo + if(data.status === 'FAIL'){ + throw new Error('获取运单状态失败,原因为'+ data.ret_msg) + } shipment.state = data.data[0].state; if (shipment.state in [203, 215, 216, 230]) { // todo,写常数 shipment.finished = true;