Files
baiyue-firstleg/reports/admin-warehouse-service-center-postdeploy-20260808.json
T
2026-08-08 20:39:49 +08:00

1288 lines
44 KiB
JSON

{
"reportName": "后台管理测试环境 HTTP API 验收",
"marker": "ADMIN-API-20260808123912960",
"gateway": "http://8.163.30.128:9000",
"generatedAt": "2026-08-08T12:39:15.288Z",
"startedAt": "2026-08-08T12:39:12.960Z",
"success": false,
"fatal": null,
"summary": {
"total": 65,
"passed": 63,
"failed": 2
},
"modules": [
{
"name": "supplemental-boundaries",
"startedAt": "2026-08-08T12:39:13.334Z",
"finishedAt": "2026-08-08T12:39:13.942Z",
"success": true,
"passed": 18,
"failed": 0,
"fatal": null
},
{
"name": "ocean-bookings",
"startedAt": "2026-08-08T12:39:13.943Z",
"finishedAt": "2026-08-08T12:39:14.746Z",
"success": true,
"passed": 23,
"failed": 0,
"fatal": null
},
{
"name": "truck-appointments",
"startedAt": "2026-08-08T12:39:14.747Z",
"finishedAt": "2026-08-08T12:39:15.161Z",
"success": false,
"passed": 13,
"failed": 2,
"fatal": null
},
{
"name": "service-center-flow",
"startedAt": "2026-08-08T12:39:15.162Z",
"finishedAt": "2026-08-08T12:39:15.288Z",
"success": true,
"passed": 8,
"failed": 0,
"fatal": null
}
],
"scenarios": [
{
"name": "admin-boundary-automation",
"module": "supplemental-boundaries",
"success": true,
"deploymentBlocked": false,
"passed": 18,
"failed": 0
}
],
"deploymentBlockers": [
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "创建隔离拖车预约",
"evidence": "",
"code": "A0400",
"requestId": "b29d68d6-ea89-49e7-b72b-7a668dae2b17",
"traceId": "942ea3101a4d481289a31a52e724f228"
},
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "拖车预约费用、司机车辆和地址字段完整",
"evidence": "id=missing, status=missing",
"code": "A0400",
"requestId": "b29d68d6-ea89-49e7-b72b-7a668dae2b17",
"traceId": "942ea3101a4d481289a31a52e724f228"
}
],
"coverageGaps": [
{
"module": "supplemental-boundaries",
"scenario": "resource-occupancy",
"name": "托盘/库位真实占用删除保护",
"reason": "当前公共验收 API 未提供可安全构造并释放占用关联的独立 fixture;未操作历史资源",
"category": "no-public-fixture-api"
}
],
"createdResources": {
"oceanBooking": {
"id": "2086069720225198081",
"marker": "ADMIN-API-20260808123912960",
"finalStatus": "RELEASED"
},
"serviceCenterFlow": {
"appointmentId": "2086069724465639425",
"oceanBookingId": "2086069720225198081",
"marker": "ADMIN-API-20260808123912960",
"finalStatus": "CANCELLED"
}
},
"excluded": [
{
"scope": "dashboard",
"reason": "首页为静态演示数据,不调用后端 API"
},
{
"scope": "hidden-prototypes",
"reason": "隐藏原型页面尚无已确认后端契约"
}
],
"securityNote": "报告不保存登录密码、Access Token、Refresh Token、图片二进制或 OCR 原文全文。",
"steps": [
{
"module": "authentication",
"scenario": null,
"name": "平台管理员登录",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/auth/login"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "27e23be1-5ab4-4b68-a148-145eed5da246, 2806a08e-fa81-4826-ab44-f068a40acf0e",
"traceId": "2e935f492e8d44d18e0bf7794419f335",
"evidence": "",
"checkedAt": "2026-08-08T12:39:13.333Z"
},
{
"module": "supplemental-boundaries",
"scenario": "admin-boundary-automation",
"name": "创建边界验收隔离仓库",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/warehouse-admin"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "77bbdfb0-062f-49de-9360-36ddbda9cda8, 44c375af-1bee-4351-bc84-52a3944b1657",
"traceId": "0bf8006b05024e21ae02c344d8ec6c4c",
"evidence": "",
"checkedAt": "2026-08-08T12:39:13.392Z"
},
{
"module": "supplemental-boundaries",
"scenario": "admin-boundary-automation",
"name": "创建边界验收隔离库位",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/locations?tenantId=0"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "f466e6df-a7be-4d21-88dd-84f4242d14bc, 80b547b9-35a6-4198-8fdb-7bf8f6a216ea",
"traceId": "e26d7dd14fb8455bac3c955c89c1b75f",
"evidence": "",
"checkedAt": "2026-08-08T12:39:13.434Z"
},
{
"module": "supplemental-boundaries",
"scenario": "admin-boundary-automation",
"name": "读取隔离库位版本",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/locations/2086069717056929794?tenantId=0&warehouseId=2086069716847214593"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "40414604-8985-4740-9691-e481a78c8f24, 9d56109d-7d40-4811-b2ed-8b3a337427da",
"traceId": "8c2505c7c450478e802b97fda0e52211",
"evidence": "",
"checkedAt": "2026-08-08T12:39:13.477Z"
},
{
"module": "supplemental-boundaries",
"scenario": "admin-boundary-automation",
"name": "更新隔离库位以推进版本",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "PUT",
"path": "/api/platform/v1/locations/2086069717056929794?tenantId=0&warehouseId=2086069716847214593"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "cb37bddd-160d-4264-abeb-3fc151355382, ba2ca208-e101-419a-ab9f-b8cc1c6762c3",
"traceId": "883cc491b1f9432aa33d5712ded36726",
"evidence": "version=0",
"checkedAt": "2026-08-08T12:39:13.529Z"
},
{
"module": "supplemental-boundaries",
"scenario": "admin-boundary-automation",
"name": "库位旧 version PUT 返回冲突",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "PUT",
"path": "/api/platform/v1/locations/2086069717056929794?tenantId=0&warehouseId=2086069716847214593"
},
"http": 200,
"code": "A0409",
"message": "库位已被其他操作修改,请刷新后重试",
"requestId": "2ceb4209-dd6d-4fa7-af71-0ce465b54e62",
"traceId": "74cbb4759c6544a28f4e2da84bed07da",
"evidence": "HTTP=200, code=A0409",
"checkedAt": "2026-08-08T12:39:13.576Z"
},
{
"module": "supplemental-boundaries",
"scenario": "admin-boundary-automation",
"name": "冲突后回查库位",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/locations/2086069717056929794?tenantId=0&warehouseId=2086069716847214593"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "cf12780c-35ff-4cd1-a81f-a62fbf2b167b, ea2f0752-4a1d-4e0c-9132-5acf9caa4b82",
"traceId": "eca5068a925047e6ba639593d3129883",
"evidence": "",
"checkedAt": "2026-08-08T12:39:13.610Z"
},
{
"module": "supplemental-boundaries",
"scenario": "admin-boundary-automation",
"name": "库位冲突未造成部分更新",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/locations/2086069717056929794?tenantId=0&warehouseId=2086069716847214593"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "cf12780c-35ff-4cd1-a81f-a62fbf2b167b, ea2f0752-4a1d-4e0c-9132-5acf9caa4b82",
"traceId": "eca5068a925047e6ba639593d3129883",
"evidence": "name=边界库位-编辑",
"checkedAt": "2026-08-08T12:39:13.610Z"
},
{
"module": "supplemental-boundaries",
"scenario": "import-boundaries",
"name": "仓库空文件安全失败且不模拟导入成功",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/warehouse-admin/import?tenantId=0&dryRun=true"
},
"http": 200,
"code": "A0422",
"message": "仓库导入文件校验失败",
"requestId": "984c5a53-50fd-4ee5-ab1b-6fbc584bf046",
"traceId": "2108daeb271d4a69906eb28eba105678",
"evidence": "HTTP=200, code=A0422, bytes=0",
"checkedAt": "2026-08-08T12:39:13.642Z"
},
{
"module": "supplemental-boundaries",
"scenario": "import-boundaries",
"name": "仓库缺列伪 XLSX安全失败且不模拟导入成功",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/warehouse-admin/import?tenantId=0&dryRun=true"
},
"http": 200,
"code": "A0422",
"message": "仓库导入文件校验失败",
"requestId": "d80cbea3-50d1-4fe7-ae24-a03633f36825",
"traceId": "3de7ad0f86934831a5f2719bad4f8ab2",
"evidence": "HTTP=200, code=A0422, bytes=6",
"checkedAt": "2026-08-08T12:39:13.671Z"
},
{
"module": "supplemental-boundaries",
"scenario": "import-boundaries",
"name": "快递公司错误扩展名安全失败且不模拟导入成功",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/express-companies/import?tenantId=0"
},
"http": 200,
"code": "A0422",
"message": "快递公司导入文件校验失败",
"requestId": "053c7a5b-603d-408f-8e45-571e208b7dc3",
"traceId": "5f4ec054653f4503908110169e73a2e7",
"evidence": "HTTP=200, code=A0422, bytes=27",
"checkedAt": "2026-08-08T12:39:13.709Z"
},
{
"module": "supplemental-boundaries",
"scenario": "import-boundaries",
"name": "往来单位非 XLSX安全失败且不模拟导入成功",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/partners/import?tenantId=0"
},
"http": 200,
"code": "A0422",
"message": "往来单位导入文件校验失败",
"requestId": "eabe62cd-77ba-467b-8567-3e5d598b1f48",
"traceId": "cf05c0784aa14947802643e3a5fea968",
"evidence": "HTTP=200, code=A0422, bytes=27",
"checkedAt": "2026-08-08T12:39:13.732Z"
},
{
"module": "supplemental-boundaries",
"scenario": "admin-boundary-automation",
"name": "错误客户海外仓费用 ID 安全失败",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/iam/tenants/999999999999999999/overseas-storage-fees"
},
"http": 200,
"code": "A0404",
"message": "海外仓费用不存在",
"requestId": "9d3c055e-fa7f-41fb-acfc-8449c1664936",
"traceId": "c925c6081fe945b88206e019a423130d",
"evidence": "HTTP=200, code=A0404",
"checkedAt": "2026-08-08T12:39:13.767Z"
},
{
"module": "supplemental-boundaries",
"scenario": "admin-boundary-automation",
"name": "库位列表未授权边界响应正确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/locations?page=1&size=1&tenantId=0"
},
"http": 401,
"code": "A0401",
"message": "未登录或令牌已失效",
"requestId": "5a30d6d1-2548",
"traceId": null,
"evidence": "HTTP=401, code=A0401",
"checkedAt": "2026-08-08T12:39:13.788Z"
},
{
"module": "supplemental-boundaries",
"scenario": "admin-boundary-automation",
"name": "下载中心非法页码边界响应正确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/files/export-tasks?page=0&size=1"
},
"http": 200,
"code": "A0422",
"message": "page.page: must be greater than or equal to 1",
"requestId": "0554b007-122f-4827-b082-a64a96e808b4",
"traceId": "8960348dde1b4a3ea03bfd25c4cdf067",
"evidence": "HTTP=200, code=A0422",
"checkedAt": "2026-08-08T12:39:13.814Z"
},
{
"module": "supplemental-boundaries",
"scenario": "admin-boundary-automation",
"name": "船期价格非法状态边界响应正确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books?status=INVALID"
},
"http": 200,
"code": "A0400",
"message": "Bad request",
"requestId": "b49644de-d271-4897-b484-c4c54f6d64f8",
"traceId": "6a49a0491252443b84af064d30e7bc16",
"evidence": "HTTP=200, code=A0400",
"checkedAt": "2026-08-08T12:39:13.841Z"
},
{
"module": "supplemental-boundaries",
"scenario": "admin-boundary-automation",
"name": "停用隔离库位以便清理",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "PATCH",
"path": "/api/platform/v1/locations/2086069717056929794/status?tenantId=0&warehouseId=2086069716847214593"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "400b0b21-fcd0-4cfd-a1c0-c14a4810ab12, 32bf088f-6f00-410d-9ce2-87c995a600fa",
"traceId": "33e135d3d00b44c09f06cc29e1c68582",
"evidence": "",
"checkedAt": "2026-08-08T12:39:13.872Z"
},
{
"module": "supplemental-boundaries",
"scenario": "admin-boundary-automation",
"name": "删除隔离库位",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "DELETE",
"path": "/api/platform/v1/locations/2086069717056929794?tenantId=0&warehouseId=2086069716847214593&version=2"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "efebbe74-62a5-4a89-856b-9374bd3ea26c, 72022a6b-1952-4f7b-8300-2c20c60284fe",
"traceId": "a59bd2c2287b46dd9bbabdbeee02053e",
"evidence": "",
"checkedAt": "2026-08-08T12:39:13.912Z"
},
{
"module": "supplemental-boundaries",
"scenario": "admin-boundary-automation",
"name": "停用隔离仓库",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "PATCH",
"path": "/api/platform/v1/warehouse-admin/2086069716847214593/status?tenantId=0&status=INACTIVE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "877ea99b-7867-4493-80b9-ebe6b1bdae4d, 5f397978-3e8b-43ec-b198-340fbe2c399e",
"traceId": "d828eed38c3c4c15909fdd84bbc04ad3",
"evidence": "",
"checkedAt": "2026-08-08T12:39:13.941Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "订舱列表分页与 keyword 查询",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&keyword=ADMIN-API-20260808123912960"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "838d1944-d0e0-4bc5-8e60-fdaa78ecbdcc, f86f0234-bf8a-4b96-bdb9-42c1263d6a4b",
"traceId": "b21cef690d0449a98124e9563bac3bcf",
"evidence": "",
"checkedAt": "2026-08-08T12:39:13.969Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "订舱列表分页结构正确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&keyword=ADMIN-API-20260808123912960"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "838d1944-d0e0-4bc5-8e60-fdaa78ecbdcc, f86f0234-bf8a-4b96-bdb9-42c1263d6a4b",
"traceId": "b21cef690d0449a98124e9563bac3bcf",
"evidence": "records=0",
"checkedAt": "2026-08-08T12:39:13.969Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "订舱 DRAFT 状态筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&status=DRAFT"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "6fb3a995-00f7-4296-8f01-11c71eb3cde1, 8bd6b9bd-7f1a-42e0-8dea-31cdd52b5a08",
"traceId": "62ab7fa9fc3a4023b1f343b225bced65",
"evidence": "HTTP=200, code=200, records=0",
"checkedAt": "2026-08-08T12:39:14.000Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "订舱 SUBMITTED 状态筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&status=SUBMITTED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "a3148d32-9460-4a8c-9a28-e51d2c1c019f, 30d669e5-5a31-4528-93cf-2cc391189882",
"traceId": "871ae9e9005c45f4ae34ea24271b213e",
"evidence": "HTTP=200, code=200, records=0",
"checkedAt": "2026-08-08T12:39:14.031Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "订舱 CONFIRMED 状态筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&status=CONFIRMED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "6b224895-b376-4145-a18a-6b06af3b05b9, 98add4a6-b2d0-4d2b-8f05-6da5ce10e7be",
"traceId": "bceeffdc4bc34e23a6f5484914dd1a5b",
"evidence": "HTTP=200, code=200, records=0",
"checkedAt": "2026-08-08T12:39:14.060Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "订舱 RELEASED 状态筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&status=RELEASED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "71eab475-2b70-4fee-be4b-da10ced7dd08, 52ac102e-cc62-4f32-925a-80d163cfc7fa",
"traceId": "545b1a03cfcb4268af3904913e527607",
"evidence": "HTTP=200, code=200, records=5",
"checkedAt": "2026-08-08T12:39:14.093Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "订舱 FAILED 状态筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&status=FAILED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "af43693e-aaff-4f83-9153-70816b6aa621, 6a6501f4-1465-4d52-af21-33c467d0c2aa",
"traceId": "f443bec27cc84aae9113e98f28f96907",
"evidence": "HTTP=200, code=200, records=0",
"checkedAt": "2026-08-08T12:39:14.121Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "订舱 CANCELLED 状态筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&status=CANCELLED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "df30c45a-64eb-454c-b3a9-8a849c362c7e, 49c2cfa0-764d-4a33-af07-0c203325752e",
"traceId": "8f9758a3959a40e78d1003af11288db0",
"evidence": "HTTP=200, code=200, records=0",
"checkedAt": "2026-08-08T12:39:14.147Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "创建隔离海运订舱",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/ocean-bookings"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "fdc28464-8bc7-49b4-8427-def70afe0a19, 554cecfb-0cc9-45c1-8248-a722425146c6",
"traceId": "7ef2984f02434602a26f69b95a92f4aa",
"evidence": "key=ADMIN-API-20260808123912960-ocean-create",
"checkedAt": "2026-08-08T12:39:14.204Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "订舱 DTO 字段、DRAFT 和9类关联字段完整",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/ocean-bookings"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "fdc28464-8bc7-49b4-8427-def70afe0a19, 554cecfb-0cc9-45c1-8248-a722425146c6",
"traceId": "7ef2984f02434602a26f69b95a92f4aa",
"evidence": "bookingId=2086069720225198081, parties=3, requirements=1",
"checkedAt": "2026-08-08T12:39:14.204Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "创建 Idempotency-Key 重放返回同一订舱",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/ocean-bookings"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "7582c0f1-2acf-43da-a85d-c03d2277443a, 89b7c670-2370-4cdc-83ff-8d834f64b6ee",
"traceId": "7920ff2de0944a1c97ac3a3efdc1c565",
"evidence": "first=2086069720225198081, replay=2086069720225198081",
"checkedAt": "2026-08-08T12:39:14.251Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "编辑 DRAFT 订舱",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "PUT",
"path": "/api/platform/v1/ocean-bookings/2086069720225198081"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "5feedbb8-8ecf-4d32-b2df-fea6c1571291, 8ebd99f0-4c79-4050-b2df-d3102afcfd83",
"traceId": "8ae25d117807491ea99cd4141ef39306",
"evidence": "version=0",
"checkedAt": "2026-08-08T12:39:14.328Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "订舱旧版本编辑返回冲突",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "PUT",
"path": "/api/platform/v1/ocean-bookings/2086069720225198081"
},
"http": 200,
"code": "A0409",
"message": "数据已被其他人修改,请刷新后重试",
"requestId": "4be08ff3-13c3-42bd-9f3f-12ff5f69119c",
"traceId": "7a70cf6cd4c742d4b584ce9947600768",
"evidence": "HTTP=200, code=A0409",
"checkedAt": "2026-08-08T12:39:14.361Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "冲突后回查订舱",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/ocean-bookings/2086069720225198081"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "8e8bc2b0-7da1-443e-b206-3f5c1936622d, b559cb67-b7a1-4768-8010-5b377ca2c833",
"traceId": "76f89579001c470d98f5a189622e075f",
"evidence": "",
"checkedAt": "2026-08-08T12:39:14.387Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "订舱冲突未部分更新",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/ocean-bookings/2086069720225198081"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "8e8bc2b0-7da1-443e-b206-3f5c1936622d, b559cb67-b7a1-4768-8010-5b377ca2c833",
"traceId": "76f89579001c470d98f5a189622e075f",
"evidence": "vessel=编辑船-8123912960",
"checkedAt": "2026-08-08T12:39:14.387Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "提交订舱",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/ocean-bookings/2086069720225198081/submit"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "3df7f688-27b5-497c-a804-4fd1a019266f, f73d8c8c-723a-4497-8e23-0a0fa3d16b49",
"traceId": "5e138d40cef54c449b3706da66014f50",
"evidence": "status=SUBMITTED",
"checkedAt": "2026-08-08T12:39:14.434Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "确认订舱",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/ocean-bookings/2086069720225198081/confirm"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "525d44a3-8d81-444b-99a7-862fb67481eb, dcee6868-35d2-4cdf-b18d-351a7863a018",
"traceId": "2dd987427f874c2a9954770271e31819",
"evidence": "status=CONFIRMED",
"checkedAt": "2026-08-08T12:39:14.492Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "申请改船",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/ocean-bookings/2086069720225198081/change-request"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "ea6754bb-0ba4-4de8-9fef-72d4f8aad101, a0c38ddb-556a-4b45-b8d8-63a3f4b3622d",
"traceId": "d36fbd7e508f4ebab2ccf3e8a1d27936",
"evidence": "",
"checkedAt": "2026-08-08T12:39:14.571Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "确认改船",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/ocean-bookings/2086069720225198081/change-confirm"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "7f4b6a2c-cd3b-40a0-b4ca-a00622904658, da9f7ed2-a790-44ab-ad1a-ca2e4744efcb",
"traceId": "b162040e2edd4b5abf41006a01e52670",
"evidence": "status=CONFIRMED",
"checkedAt": "2026-08-08T12:39:14.626Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "放舱",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/ocean-bookings/2086069720225198081/release"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "8a87427d-76d6-4134-9818-8f182f2ae6a5, ab8fe3ad-9876-4ef5-92c4-b5191b37d767",
"traceId": "4ae513a3054c4e07aa3ede6138ac38dc",
"evidence": "status=RELEASED",
"checkedAt": "2026-08-08T12:39:14.676Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "回查 RELEASED 订舱详情",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/ocean-bookings/2086069720225198081"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "a5d9446f-7255-4512-9e48-35bcabebea67, 69d63445-1fa7-4de6-9af5-a43e5b78f657",
"traceId": "7b78ee57dd1c4d18885307c684899fec",
"evidence": "",
"checkedAt": "2026-08-08T12:39:14.719Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "订舱状态历史、审计操作者和终态完整",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/ocean-bookings/2086069720225198081"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "a5d9446f-7255-4512-9e48-35bcabebea67, 69d63445-1fa7-4de6-9af5-a43e5b78f657",
"traceId": "7b78ee57dd1c4d18885307c684899fec",
"evidence": "status=RELEASED, histories=6",
"checkedAt": "2026-08-08T12:39:14.719Z"
},
{
"module": "ocean-bookings",
"scenario": "ocean-booking-lifecycle",
"name": "不存在订舱详情安全失败",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/ocean-bookings/999999999999999999"
},
"http": 200,
"code": "A0404",
"message": "订舱单不存在",
"requestId": "57fec596-0f7c-41e6-923c-cac49afc4596",
"traceId": "4414c91d3756454f9cbfa36e877aec84",
"evidence": "HTTP=200, code=A0404",
"checkedAt": "2026-08-08T12:39:14.746Z"
},
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "拖车预约分页 keyword 查询",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments?page=1&size=5&keyword=ADMIN-API-20260808123912960"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "0fc2acbc-219c-4b9f-ad7f-5b5d791bacf8, ccb2d4c0-9bee-4ad2-80a9-feec1f6d3465",
"traceId": "5d206d95e86e4d8cbfe51577c23f9346",
"evidence": "",
"checkedAt": "2026-08-08T12:39:14.778Z"
},
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "拖车预约分页结构正确",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments?page=1&size=5&keyword=ADMIN-API-20260808123912960"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "0fc2acbc-219c-4b9f-ad7f-5b5d791bacf8, ccb2d4c0-9bee-4ad2-80a9-feec1f6d3465",
"traceId": "5d206d95e86e4d8cbfe51577c23f9346",
"evidence": "records=0",
"checkedAt": "2026-08-08T12:39:14.778Z"
},
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "拖车预约 DRAFT 筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=DRAFT"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "e4ab1d22-c88f-434d-af62-afe1c53e8406, e5d5acfe-9d08-4524-8931-a0a0478d1086",
"traceId": "1dc2436ca66f4412828a7406b12ff759",
"evidence": "HTTP=200, code=200, records=0",
"checkedAt": "2026-08-08T12:39:14.810Z"
},
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "拖车预约 PENDING_DISPATCH 筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=PENDING_DISPATCH"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "4f9e0dab-f995-49ba-8001-a279b2437e80, bbf13201-f1e5-48fb-82ca-f8c2a84307bb",
"traceId": "6d4fb6f346104edf8370dc199df67044",
"evidence": "HTTP=200, code=200, records=0",
"checkedAt": "2026-08-08T12:39:14.838Z"
},
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "拖车预约 DISPATCHED 筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=DISPATCHED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "d5aa5c75-1540-420c-8c1f-e562781b93b3, 19bb03d7-ce33-4b21-97b7-02d9dda040f5",
"traceId": "5c8c13b07dde4f0aa9db7df873e768ad",
"evidence": "HTTP=200, code=200, records=0",
"checkedAt": "2026-08-08T12:39:14.871Z"
},
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "拖车预约 PICKUP_IN_PROGRESS 筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=PICKUP_IN_PROGRESS"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "0ba03f22-1fba-4162-ad1b-3785b3874012, 3c84534f-58f1-4bd8-ac1d-eeff60684f50",
"traceId": "56ef5d76865c4c9d8466ec9aa192d021",
"evidence": "HTTP=200, code=200, records=0",
"checkedAt": "2026-08-08T12:39:14.895Z"
},
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "拖车预约 ARRIVED_WAREHOUSE 筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=ARRIVED_WAREHOUSE"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "96ec572b-94cf-47c0-8a4d-0128f80cd8eb, 629b6797-f6d9-4449-b170-79e4f5ec98d6",
"traceId": "ff2d0970064a4e00a41d74bef34af339",
"evidence": "HTTP=200, code=200, records=0",
"checkedAt": "2026-08-08T12:39:14.933Z"
},
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "拖车预约 LOADING 筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=LOADING"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "af9132e5-c87c-4f94-847d-c6c7a36f8c62, 62db5e34-793e-4fa5-a3af-883e670995b1",
"traceId": "f52efe5b67a44e81b391ebb8dd638989",
"evidence": "HTTP=200, code=200, records=0",
"checkedAt": "2026-08-08T12:39:14.962Z"
},
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "拖车预约 DEPARTED 筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=DEPARTED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "e6a84b39-b1c3-4854-8d4c-8449aac673d6, 8d2ed67d-1462-41f4-8249-c5acf635a6be",
"traceId": "cafe03f3dd3e4bee87afcd12c7b3fb28",
"evidence": "HTTP=200, code=200, records=0",
"checkedAt": "2026-08-08T12:39:14.994Z"
},
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "拖车预约 COMPLETED 筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=COMPLETED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "b2df8490-c986-4071-92d9-a906dd39c2d9, 82110bef-69f4-49e3-a8e1-59ecd3046eb4",
"traceId": "2e8a4827631f4c95afc2adc594574c32",
"evidence": "HTTP=200, code=200, records=5",
"checkedAt": "2026-08-08T12:39:15.034Z"
},
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "拖车预约 RESCHEDULED 筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=RESCHEDULED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "f7f2bce8-6eec-49cb-b095-84b5ab8fc6e6, 9b8fd769-84c2-474d-83a1-2818198dbbb8",
"traceId": "d6c833639e1c4121a6bc193fb7fbdfc5",
"evidence": "HTTP=200, code=200, records=0",
"checkedAt": "2026-08-08T12:39:15.074Z"
},
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "拖车预约 EXCEPTION 筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=EXCEPTION"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "b1375607-2a09-4661-a616-057fcdbbc401, 88841d51-7f83-42ef-92e4-d6190e500ec9",
"traceId": "fe6d71f583ab4752bdc48bb9c55e215f",
"evidence": "HTTP=200, code=200, records=0",
"checkedAt": "2026-08-08T12:39:15.103Z"
},
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "拖车预约 CANCELLED 筛选",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=CANCELLED"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "18cb8cca-642b-4e90-9a9d-3c9698e4ac18, 54d5faec-86fc-4ed4-a0ff-b180163ee7a4",
"traceId": "752eea2206f745109949a3aecdbcb13e",
"evidence": "HTTP=200, code=200, records=5",
"checkedAt": "2026-08-08T12:39:15.135Z"
},
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "创建隔离拖车预约",
"passed": false,
"deploymentBlocker": true,
"request": {
"method": "POST",
"path": "/api/platform/v1/truck-appointments"
},
"http": 200,
"code": "A0400",
"message": "oceanBookingId不能为空",
"requestId": "b29d68d6-ea89-49e7-b72b-7a668dae2b17",
"traceId": "942ea3101a4d481289a31a52e724f228",
"evidence": "",
"checkedAt": "2026-08-08T12:39:15.161Z"
},
{
"module": "truck-appointments",
"scenario": "truck-appointment-lifecycle",
"name": "拖车预约费用、司机车辆和地址字段完整",
"passed": false,
"deploymentBlocker": true,
"request": {
"method": "POST",
"path": "/api/platform/v1/truck-appointments"
},
"http": 200,
"code": "A0400",
"message": "oceanBookingId不能为空",
"requestId": "b29d68d6-ea89-49e7-b72b-7a668dae2b17",
"traceId": "942ea3101a4d481289a31a52e724f228",
"evidence": "id=missing, status=missing",
"checkedAt": "2026-08-08T12:39:15.161Z"
},
{
"module": "service-center-flow",
"scenario": "service-center-cross-flow",
"name": "创建关联海运订舱的拖车预约",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/truck-appointments"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "dbbcf402-7bef-4b37-8891-4f6c96233e9d, aebe774c-9e82-4610-a98e-fd8865bd26d3",
"traceId": "a5d06aee287e49bcaa2dc7dbab7413e1",
"evidence": "oceanBookingId=2086069720225198081",
"checkedAt": "2026-08-08T12:39:15.201Z"
},
{
"module": "service-center-flow",
"scenario": "service-center-cross-flow",
"name": "拖车预约关联订舱 ID、版本和审计字段完整",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/truck-appointments"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "dbbcf402-7bef-4b37-8891-4f6c96233e9d, aebe774c-9e82-4610-a98e-fd8865bd26d3",
"traceId": "a5d06aee287e49bcaa2dc7dbab7413e1",
"evidence": "appointmentId=2086069724465639425, oceanBookingId=2086069720225198081, version=0",
"checkedAt": "2026-08-08T12:39:15.201Z"
},
{
"module": "service-center-flow",
"scenario": "service-center-cross-flow",
"name": "取消跨服务链路拖车预约",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/truck-appointments/2086069724465639425/cancel"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "46455b44-6df8-4c35-8092-87d6e95a6510, 314247b3-ca33-48dd-99c7-45178300dd7d",
"traceId": "f843483857c4485b80e8ffa90dfdfd33",
"evidence": "",
"checkedAt": "2026-08-08T12:39:15.231Z"
},
{
"module": "service-center-flow",
"scenario": "service-center-cross-flow",
"name": "跨服务链路安全终态为 CANCELLED",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "POST",
"path": "/api/platform/v1/truck-appointments/2086069724465639425/cancel"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "46455b44-6df8-4c35-8092-87d6e95a6510, 314247b3-ca33-48dd-99c7-45178300dd7d",
"traceId": "f843483857c4485b80e8ffa90dfdfd33",
"evidence": "status=CANCELLED",
"checkedAt": "2026-08-08T12:39:15.231Z"
},
{
"module": "service-center-flow",
"scenario": "service-center-cross-flow",
"name": "回查跨服务链路安全终态",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments/2086069724465639425"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "d0184f69-2fd4-4062-89d2-1203f9b18945, feb6c29e-cbcb-41ef-bfb8-abb7a16dc51b",
"traceId": "5f80e8363c43417e8b3a35823717a75b",
"evidence": "",
"checkedAt": "2026-08-08T12:39:15.255Z"
},
{
"module": "service-center-flow",
"scenario": "service-center-cross-flow",
"name": "跨服务链路终态持久化且关联订舱未漂移",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments/2086069724465639425"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "d0184f69-2fd4-4062-89d2-1203f9b18945, feb6c29e-cbcb-41ef-bfb8-abb7a16dc51b",
"traceId": "5f80e8363c43417e8b3a35823717a75b",
"evidence": "status=CANCELLED, oceanBookingId=2086069720225198081",
"checkedAt": "2026-08-08T12:39:15.255Z"
},
{
"module": "service-center-flow",
"scenario": "service-center-cross-flow",
"name": "查询跨服务链路拖车预约状态历史",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments/2086069724465639425/history"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "740d299a-e3f9-4617-ab0d-947ef0ce673a, 0e100441-3439-4a94-9de7-0471a59a1311",
"traceId": "7b11fb3a58364646b48b4f0a91b075e9",
"evidence": "",
"checkedAt": "2026-08-08T12:39:15.288Z"
},
{
"module": "service-center-flow",
"scenario": "service-center-cross-flow",
"name": "跨服务链路历史包含归属、状态、操作者、时间和备注",
"passed": true,
"deploymentBlocker": false,
"request": {
"method": "GET",
"path": "/api/platform/v1/truck-appointments/2086069724465639425/history"
},
"http": 200,
"code": "200",
"message": "success",
"requestId": "740d299a-e3f9-4617-ab0d-947ef0ce673a, 0e100441-3439-4a94-9de7-0471a59a1311",
"traceId": "7b11fb3a58364646b48b4f0a91b075e9",
"evidence": "history=2, cancelFrom=DRAFT, cancelTo=CANCELLED",
"checkedAt": "2026-08-08T12:39:15.288Z"
}
]
}