This commit is contained in:
2026-08-26 15:24:48 +08:00
parent 3f9ee28d22
commit 4ae236fe11
18 changed files with 198 additions and 92 deletions
@@ -559,9 +559,9 @@ export async function run(context) {
const merchantToken = await loginMerchantForNegativeProbe(context)
const pickerAccess = await resolvePickerAccess(context)
if (!pickerAccess) return
const sharedWarehouse = await createSharedWarehouse(context)
const sharedWarehouse = await resolveSharedWarehouse(context)
if (!sharedWarehouse) {
blockerGap(context, '海外PDA共享实际收货仓', '无法通过平台正式API创建customerId=0共享物理仓')
blockerGap(context, '海外PDA共享实际收货仓', '国内Warehouse主数据没有ACTIVE且启用RECEIVING的OVERSEAS固定作业仓')
return
}
context.createdResources.phase4OverseasPda.overseasWarehouseId = sharedWarehouse.id
@@ -623,21 +623,14 @@ export async function run(context) {
}
}
async function createSharedWarehouse(context) {
const suffix = markerSuffix(context)
const payload = {
customerId: 0, warehouseCode: `PDA-${suffix}`.slice(0, 50),
warehouseName: `PDA共享收货仓-${suffix}`.slice(0, 120), warehouseType: 'OVERSEAS',
countryCode: 'US', timezone: 'America/Los_Angeles', contactName: 'PDA Acceptance',
contactPhone: '+1-213-555-0198', contactEmail: `pda-${suffix.toLowerCase()}@example.com`,
status: 'ACTIVE', remark: `${context.marker}-shared-receiving`,
address: { addressType: 'WAREHOUSE', countryCode: 'US', stateProvince: 'CA', city: 'Los Angeles',
district: 'Commerce', postalCode: '90040', addressLine1: '1 Acceptance Logistics Ave' },
capabilities: [{ capabilityCode: 'RECEIVING', capabilityName: '收货', enabled: true }],
}
const created = await context.requestOverseas('POST', '/api/platform/v1/warehouse-admin', payload)
const warehouseId = id(created?.body?.data)
context.addStep(MODULE, '创建本轮PDA共享实际收货仓', created,
success(created) && longId(warehouseId), `warehouseId=${warehouseId || 'missing'}; ${trace(created)}`, OPTIONS)
return longId(warehouseId) ? { id: warehouseId, name: payload.warehouseName } : null
async function resolveSharedWarehouse(context) {
const path = '/api/platform/v1/warehouse-admin?tenantId=0&page=1&size=200&capabilityCode=RECEIVING&warehouseType=OVERSEAS&status=ACTIVE'
const response = await context.request('GET', path)
const rows = records(response?.body?.data)
const fixedIds = new Set(['193000000000200003', '193000000000200004'])
const warehouse = success(response) ? rows.find((item) => fixedIds.has(id(item?.id))) : null
context.addStep(MODULE, '读取国内Warehouse权威海外PDA实际收货仓', response,
Boolean(warehouse) && warehouse?.warehouseType === 'OVERSEAS' && warehouse?.status === 'ACTIVE',
`warehouseId=${id(warehouse?.id) || 'missing'}, warehouseName=${warehouse?.warehouseName || warehouse?.name || 'missing'}; ${trace(response)}`, OPTIONS)
return warehouse ? { id: id(warehouse.id), name: warehouse.warehouseName || warehouse.name } : null
}