Merge remote-tracking branch 'origin/release/test' into dev

This commit is contained in:
2026-09-03 11:02:27 +08:00
12 changed files with 206 additions and 35 deletions
@@ -9,6 +9,9 @@ import type {
interface MerchantInboundBillingWireResponse {
inbound: MerchantInboundResult
measurementSummary: MerchantInboundBilling['measurementSummary']
measurementItems: MerchantInboundBilling['measurementItems']
billingBasis: MerchantInboundBilling['billingBasis']
latestFee: MerchantInboundFeeSnapshot
}
@@ -101,6 +104,35 @@ function sanitizeFee(fee: MerchantInboundFeeSnapshot): MerchantInboundFeeSnapsho
}
}
function sanitizeMeasurementSummary(item: MerchantInboundBilling['measurementSummary']): MerchantInboundBilling['measurementSummary'] {
return {
measurementId: item.measurementId == null ? null : String(item.measurementId),
sourceType: item.sourceType,
measurementStatus: item.measurementStatus,
actualPackageCount: item.actualPackageCount,
actualGrossWeightKg: item.actualGrossWeightKg,
actualNetWeightKg: item.actualNetWeightKg,
actualVolumeCbm: item.actualVolumeCbm,
volumeWeightKg: item.volumeWeightKg,
actualGoodsName: item.actualGoodsName,
}
}
function sanitizeMeasurementItem(item: MerchantInboundBilling['measurementItems'][number]): MerchantInboundBilling['measurementItems'][number] {
return {
id: String(item.id),
itemNo: item.itemNo,
boxSpecification: item.boxSpecification,
packageCount: item.packageCount,
lengthCm: item.lengthCm,
widthCm: item.widthCm,
heightCm: item.heightCm,
unitVolumeCbm: item.unitVolumeCbm,
totalVolumeCbm: item.totalVolumeCbm,
volumeWeightKg: item.volumeWeightKg,
}
}
function sanitizeInboundBilling(response: MerchantInboundBillingWireResponse): MerchantInboundBilling {
return {
inbound: {
@@ -108,6 +140,9 @@ function sanitizeInboundBilling(response: MerchantInboundBillingWireResponse): M
publicRemark: response.inbound.publicRemark,
palletLocations: response.inbound.palletLocations.map(sanitizePalletLocation),
},
measurementSummary: sanitizeMeasurementSummary(response.measurementSummary),
measurementItems: (response.measurementItems || []).map(sanitizeMeasurementItem),
billingBasis: response.billingBasis,
latestFee: sanitizeFee(response.latestFee),
}
}