fix(logistics): 修复物流服务中订单状态和唯一ID的赋值逻辑

修正uniuni和其他平台下unique_id和state的赋值问题,确保不同平台使用正确的值
同时将partnerOrderNumber格式修改为siteId-externalOrderId组合
This commit is contained in:
zhuotianyuan 2026-01-22 14:37:46 +08:00
parent 87a6d40802
commit acecd3bef4
1 changed files with 11 additions and 5 deletions

View File

@ -398,11 +398,17 @@ export class LogisticsService {
const shipmentRepo = manager.getRepository(Shipment);
const tracking_provider = data.shipmentPlatform; // todo: id未确定,后写进常数
let co:any;
let co:any;
let unique_id:any;
let state:any;
if (data.shipmentPlatform === 'uniuni') {
co = resShipmentOrder.data.tno;
unique_id = resShipmentOrder.data.uni_order_sn;
state = resShipmentOrder.data.uni_status_code;
}else{
co = resShipmentOrder.data?.shipOrderId;
unique_id = resShipmentOrder.data?.shipOrderId;
state = ErpOrderStatus.COMPLETED;
}
// 同步物流信息到woocommerce
const site = await this.siteService.get(Number(order.siteId), true);
@ -415,10 +421,10 @@ export class LogisticsService {
const shipment = await shipmentRepo.save({
tracking_provider: tracking_provider,
tracking_id: res.data.tracking_id,
unique_id: resShipmentOrder.data.uni_order_sn,
unique_id: unique_id,
stockPointId: String(data.stockPointId), // todo
state: resShipmentOrder.data.uni_status_code,
return_tracking_number: resShipmentOrder.data.tno,
state: state,
return_tracking_number: co,
fee: data.details.shipmentFee,
order: order
});
@ -729,7 +735,7 @@ export class LogisticsService {
// 根据TMS系统对接说明文档格式化参数
const reqBody: any = {
shipCompany: 'UPSYYZ7000NEW',
partnerOrderNumber: order.externalOrderId ,
partnerOrderNumber: order.siteId+'-'+order.externalOrderId ,
warehouseId: '25072621030107400060',
shipper: {
name: data.details.origin.contact_name, // 姓名