fix(logistics): 处理获取运单状态失败的情况并优化批量更新 #44

Merged
zksu merged 1 commits from zksu/API:main into main 2026-01-09 03:15:52 +00:00
2 changed files with 15 additions and 8 deletions

View File

@ -75,17 +75,20 @@ export class SyncUniuniShipmentJob implements IJob{
'255': 'Gateway_To_Gateway_Transit' '255': 'Gateway_To_Gateway_Transit'
}; };
async onTick() { async onTick() {
try {
const shipments:Shipment[] = await this.shipmentModel.findBy({ finished: false }); const shipments:Shipment[] = await this.shipmentModel.findBy({ finished: false });
shipments.forEach(shipment => { const results = await Promise.all(
this.logisticsService.updateShipmentState(shipment); shipments.map(async shipment => {
}); return await this.logisticsService.updateShipmentState(shipment);
} catch (error) { })
this.logger.error(`更新运单状态失败 ${error.message}`); )
} this.logger.info(`更新运单状态完毕 ${JSON.stringify(results)}`);
return results
} }
onComplete(result: any) { onComplete(result: any) {
this.logger.info(`更新运单状态完成 ${result}`);
}
onError(error: any) {
this.logger.error(`更新运单状态失败 ${error.message}`);
} }
} }

View File

@ -125,6 +125,10 @@ export class LogisticsService {
try { try {
const data = await this.uniExpressService.getOrderStatus(shipment.return_tracking_number); const data = await this.uniExpressService.getOrderStatus(shipment.return_tracking_number);
console.log('updateShipmentState data:', data); console.log('updateShipmentState data:', data);
// huo
if(data.status === 'FAIL'){
throw new Error('获取运单状态失败,原因为'+ data.ret_msg)
}
shipment.state = data.data[0].state; shipment.state = data.data[0].state;
if (shipment.state in [203, 215, 216, 230]) { // todo,写常数 if (shipment.state in [203, 215, 216, 230]) { // todo,写常数
shipment.finished = true; shipment.finished = true;