test: align live acceptance with dispatch photos and return counting

This commit is contained in:
2026-10-22 23:50:23 +08:00
parent daa5d30d16
commit f74861baea
6 changed files with 49 additions and 11 deletions
@@ -128,10 +128,28 @@ export async function prepareFleetTrip(context, module, dispatchNo, warehouseId)
if (!proof.vehicleId) throw new Error('车辆主档没有返回真实资源ID')
await prepareQualifiedDriver(context, module, proof, arrival)
}
proof.reviewPhotos = {}
for (const kind of ['VEHICLE', 'DRIVER_PHOTO', 'DRIVER']) {
const upload = { path: `${path}/evidence/${kind}`, name: `${proof.marker}-TEST-${kind}.png`, status: 'PREPARED' }
proof.reviewPhotos[kind] = upload
await context.checkpoint?.()
let response
try {
response = await context.requestMultipart('POST', upload.path, { name: upload.name, type: 'image/png',
content: Buffer.from('iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=', 'base64') })
} catch (error) { upload.status = 'UNKNOWN'; await context.checkpoint?.(); throw error }
Object.assign(upload, { status: 'RESPONDED', http: response?.http, code: response?.body?.code })
const file = context.apiSuccess(module, `上传本车TEST合成${kind}审核照片`, response, '', OPTIONS)
if (response?.http !== 200 || String(response?.body?.code) !== '200' || !/^[1-9]\d*$/.test(id(file?.fileId)))
throw Error(`本车${kind}审核照片上传失败,停止送审`)
upload.fileId = id(file.fileId)
await context.checkpoint?.()
}
proof.updateRequest = { recordVersion: before.recordVersion, idempotencyKey: key(proof, 'EDIT'),
publishLooseboardDemand: before.publishLooseboardDemand,
vehicle: { mode: 'MASTER', vehicleId: proof.vehicleId },
driver: { mode: 'MASTER', driverId: proof.driverId, evidence: { expectedTaskEndAt: proof.expectedDriverEndAt } },
vehicle: { mode: 'MASTER', vehicleId: proof.vehicleId, evidenceFileIds: [proof.reviewPhotos.VEHICLE.fileId] },
driver: { mode: 'MASTER', driverId: proof.driverId, evidence: { expectedTaskEndAt: proof.expectedDriverEndAt,
fileIds: [proof.reviewPhotos.DRIVER.fileId], photoFileIds: [proof.reviewPhotos.DRIVER_PHOTO.fileId] } },
plannedDepartureAt: new Date(Date.now() + 3600000).toISOString(), estimatedArrivalAt: arrival,
remark: `${context.marker} TEST合成资料正常履约` }
let result = await command(context, module, 'PUT', path, proof.updateRequest, '通过排车主单编辑正式分配车辆司机')