chore: stop tracking generated reports
This commit is contained in:
@@ -23,6 +23,7 @@ dependency-reduced-pom.xml
|
||||
reports/runtime*/
|
||||
reports/uploads/
|
||||
reports/db-backup*/
|
||||
reports/
|
||||
uploads/
|
||||
.codex-temp*
|
||||
.codex-tmp*
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,612 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808054354368",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T05:43:55.898Z",
|
||||
"startedAt": "2026-08-08T05:43:54.368Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 27,
|
||||
"passed": 15,
|
||||
"failed": 12
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "orders",
|
||||
"startedAt": "2026-08-08T05:43:54.747Z",
|
||||
"finishedAt": "2026-08-08T05:43:55.309Z",
|
||||
"success": false,
|
||||
"passed": 7,
|
||||
"failed": 5,
|
||||
"fatal": "缺少创建测试订单所需的可用渠道"
|
||||
},
|
||||
{
|
||||
"name": "inbound-weight-ocr",
|
||||
"startedAt": "2026-08-08T05:43:55.310Z",
|
||||
"finishedAt": "2026-08-08T05:43:55.373Z",
|
||||
"success": false,
|
||||
"passed": 0,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
},
|
||||
{
|
||||
"name": "orders-inbound-measurement-fixture",
|
||||
"startedAt": "2026-08-08T05:43:55.373Z",
|
||||
"finishedAt": "2026-08-08T05:43:55.896Z",
|
||||
"success": false,
|
||||
"passed": 7,
|
||||
"failed": 5,
|
||||
"fatal": "缺少创建测试订单所需的可用渠道"
|
||||
},
|
||||
{
|
||||
"name": "inbound-measurement",
|
||||
"startedAt": "2026-08-08T05:43:55.897Z",
|
||||
"finishedAt": "2026-08-08T05:43:55.898Z",
|
||||
"success": false,
|
||||
"passed": 0,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "weight-image-recognition-and-confirmation",
|
||||
"module": "inbound-weight-ocr",
|
||||
"success": false,
|
||||
"deploymentBlocked": false,
|
||||
"passed": 0,
|
||||
"failed": 1
|
||||
},
|
||||
{
|
||||
"name": "mojia-carton-measurement",
|
||||
"module": "inbound-measurement",
|
||||
"success": false,
|
||||
"deploymentBlocked": true,
|
||||
"passed": 0,
|
||||
"failed": 1
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Admin 查询客户固定箱型",
|
||||
"evidence": "tenantId=10001",
|
||||
"code": null,
|
||||
"requestId": "369dc88c-363",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "固定四箱型顺序、内径及每边加2cm正确",
|
||||
"evidence": "types=missing",
|
||||
"code": null,
|
||||
"requestId": "369dc88c-363",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Admin 查询客户固定箱型",
|
||||
"evidence": "tenantId=10001",
|
||||
"code": null,
|
||||
"requestId": "369dc88c-371",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "固定四箱型顺序、内径及每边加2cm正确",
|
||||
"evidence": "types=missing",
|
||||
"code": null,
|
||||
"requestId": "369dc88c-371",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "inbound-measurement",
|
||||
"scenario": "mojia-carton-measurement",
|
||||
"name": "取得隔离的待测量入库单",
|
||||
"evidence": "orders 模块未提供 marker=ADMIN-API-20260808054354368-MOJIA 的 inboundId/tenantId;为避免修改随机历史订单,本模块停止写入",
|
||||
"code": null,
|
||||
"requestId": null,
|
||||
"traceId": null
|
||||
}
|
||||
],
|
||||
"createdResources": {
|
||||
"orchestrationFixtures": {
|
||||
"inboundMeasurement": {
|
||||
"marker": "ADMIN-API-20260808054354368-MOJIA",
|
||||
"failed": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": "265addfa-988b-48a8-8c80-5e69c2024b17, 675070cb-a2d6-4eb1-898e-c1e4c0d4354b",
|
||||
"traceId": "4dd7905ad59341619a7094372897f3c5",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:43:54.746Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试账号登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d58ac1e6-0e1b-4f36-83a9-94b267ee2261, 4d853cc1-fb5a-472e-b969-80258d453ce0",
|
||||
"traceId": "efcdac52e87d4777a18077b7b70b2181",
|
||||
"evidence": "username=merchant_admin",
|
||||
"checkedAt": "2026-08-08T05:43:55.097Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询当前企业资料",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "102db2f5-4d47-4eb3-bb37-0740b445bc4d, 86f76b5d-2537-4bf3-a521-5af39a70d9b3",
|
||||
"traceId": "1c6762dc4dbd4e33ba9078ab8854ac35",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:43:55.145Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试企业已审核且客户 ID 有效",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "102db2f5-4d47-4eb3-bb37-0740b445bc4d, 86f76b5d-2537-4bf3-a521-5af39a70d9b3",
|
||||
"traceId": "1c6762dc4dbd4e33ba9078ab8854ac35",
|
||||
"evidence": "tenantId=10001, status=ACTIVE",
|
||||
"checkedAt": "2026-08-08T05:43:55.145Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Admin 查询客户固定箱型",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "369dc88c-363",
|
||||
"traceId": null,
|
||||
"evidence": "tenantId=10001",
|
||||
"checkedAt": "2026-08-08T05:43:55.168Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "固定四箱型顺序、内径及每边加2cm正确",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "369dc88c-363",
|
||||
"traceId": null,
|
||||
"evidence": "types=missing",
|
||||
"checkedAt": "2026-08-08T05:43:55.168Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5df3d448-b678-42e7-a872-8cad35fdb1bf, 9b4309fd-f21e-4390-b8d5-d3e3b1dbfdc3",
|
||||
"traceId": "14295af99925417c8cac9ba5017e5382",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:43:55.209Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5df3d448-b678-42e7-a872-8cad35fdb1bf, 9b4309fd-f21e-4390-b8d5-d3e3b1dbfdc3",
|
||||
"traceId": "14295af99925417c8cac9ba5017e5382",
|
||||
"evidence": "count=2",
|
||||
"checkedAt": "2026-08-08T05:43:55.209Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c1b8251c-5430-4664-8e72-b57854c6f398, bc5c512f-f283-4fc8-96b3-0e387533f0ee",
|
||||
"traceId": "946b84ea56024e6cab7954005c917330",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:43:55.274Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c1b8251c-5430-4664-8e72-b57854c6f398, bc5c512f-f283-4fc8-96b3-0e387533f0ee",
|
||||
"traceId": "946b84ea56024e6cab7954005c917330",
|
||||
"evidence": "count=200",
|
||||
"checkedAt": "2026-08-08T05:43:55.274Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询可用计费渠道",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b399112a-366",
|
||||
"traceId": null,
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:43:55.309Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在带计价税制的可用渠道",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b399112a-366",
|
||||
"traceId": null,
|
||||
"evidence": "count=n/a",
|
||||
"checkedAt": "2026-08-08T05:43:55.309Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "模块执行",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "缺少创建测试订单所需的可用渠道",
|
||||
"checkedAt": "2026-08-08T05:43:55.309Z"
|
||||
},
|
||||
{
|
||||
"module": "inbound-weight-ocr",
|
||||
"scenario": "weight-image-recognition-and-confirmation",
|
||||
"name": "仅选择带本轮测试标记的可编辑入库单",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "marker=ADMIN-API-20260808054354368, 未找到本轮创建且状态为 WAIT_MEASURE/MEASURING/MEASURE_REJECTED 的入库单",
|
||||
"checkedAt": "2026-08-08T05:43:55.373Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试账号登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "fa0f753e-136e-470f-8739-a373d982e200, b5f2f773-8ea7-43de-9670-dfc00fa0e5aa",
|
||||
"traceId": "49349e4462484491b675c501291f82aa",
|
||||
"evidence": "username=merchant_admin",
|
||||
"checkedAt": "2026-08-08T05:43:55.710Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询当前企业资料",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2362b5a0-5c32-4220-bb13-7d559054b9fa, 49cbadb9-dacb-498a-8586-566d492637aa",
|
||||
"traceId": "7be0232daa6243cbbf8be4cbe5278d29",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:43:55.748Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试企业已审核且客户 ID 有效",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2362b5a0-5c32-4220-bb13-7d559054b9fa, 49cbadb9-dacb-498a-8586-566d492637aa",
|
||||
"traceId": "7be0232daa6243cbbf8be4cbe5278d29",
|
||||
"evidence": "tenantId=10001, status=ACTIVE",
|
||||
"checkedAt": "2026-08-08T05:43:55.748Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Admin 查询客户固定箱型",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "369dc88c-371",
|
||||
"traceId": null,
|
||||
"evidence": "tenantId=10001",
|
||||
"checkedAt": "2026-08-08T05:43:55.774Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "固定四箱型顺序、内径及每边加2cm正确",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "369dc88c-371",
|
||||
"traceId": null,
|
||||
"evidence": "types=missing",
|
||||
"checkedAt": "2026-08-08T05:43:55.774Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "04497201-663d-4373-b09a-a69da2390a3f, 04fc3e2e-081e-404a-a3e8-3f95e1d7fbb0",
|
||||
"traceId": "86e92a3f196b4671a9a6c583fdc7f2b8",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:43:55.812Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "04497201-663d-4373-b09a-a69da2390a3f, 04fc3e2e-081e-404a-a3e8-3f95e1d7fbb0",
|
||||
"traceId": "86e92a3f196b4671a9a6c583fdc7f2b8",
|
||||
"evidence": "count=2",
|
||||
"checkedAt": "2026-08-08T05:43:55.813Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "77abe5aa-19f3-41b2-8cff-b8ebc75344a1, 3df48e12-971d-4e45-9abb-8be49cb0c6e6",
|
||||
"traceId": "b79177fee34143a3b87da6ea489444a4",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:43:55.866Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "77abe5aa-19f3-41b2-8cff-b8ebc75344a1, 3df48e12-971d-4e45-9abb-8be49cb0c6e6",
|
||||
"traceId": "b79177fee34143a3b87da6ea489444a4",
|
||||
"evidence": "count=200",
|
||||
"checkedAt": "2026-08-08T05:43:55.866Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询可用计费渠道",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b399112a-374",
|
||||
"traceId": null,
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:43:55.896Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在带计价税制的可用渠道",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b399112a-374",
|
||||
"traceId": null,
|
||||
"evidence": "count=n/a",
|
||||
"checkedAt": "2026-08-08T05:43:55.896Z"
|
||||
},
|
||||
{
|
||||
"module": "orders-inbound-measurement-fixture",
|
||||
"scenario": null,
|
||||
"name": "模块执行",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "缺少创建测试订单所需的可用渠道",
|
||||
"checkedAt": "2026-08-08T05:43:55.896Z"
|
||||
},
|
||||
{
|
||||
"module": "inbound-measurement",
|
||||
"scenario": "mojia-carton-measurement",
|
||||
"name": "取得隔离的待测量入库单",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "orders 模块未提供 marker=ADMIN-API-20260808054354368-MOJIA 的 inboundId/tenantId;为避免修改随机历史订单,本模块停止写入",
|
||||
"checkedAt": "2026-08-08T05:43:55.898Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,183 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808053139613",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T05:31:40.523Z",
|
||||
"startedAt": "2026-08-08T05:31:39.613Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 7,
|
||||
"passed": 6,
|
||||
"failed": 1
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "overseas-storage-fees",
|
||||
"startedAt": "2026-08-08T05:31:39.991Z",
|
||||
"finishedAt": "2026-08-08T05:31:40.523Z",
|
||||
"success": false,
|
||||
"passed": 5,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "查询客户海外仓费用配置",
|
||||
"evidence": "tenantId=2085962119627001858",
|
||||
"code": "S0500",
|
||||
"requestId": "5ac21bf6-d89e-457b-ba67-e3e26cfae24f",
|
||||
"traceId": "f7ff48a216604bcebe6b439b86664e3e"
|
||||
}
|
||||
],
|
||||
"createdResources": {
|
||||
"overseasStorageFeeCustomer": {
|
||||
"tenantId": "2085962119627001858",
|
||||
"marker": "ADMIN-API-20260808053139613",
|
||||
"ownedByModule": true
|
||||
}
|
||||
},
|
||||
"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": "ce3d57ae-2efd-4538-ba8c-7e9cd66b3f41, 4b748553-b0c9-4444-9da2-581a34b48c03",
|
||||
"traceId": "a5d46d17762248e5aefef4f0a42f6938",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:31:39.990Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": null,
|
||||
"name": "检查测试联系电话可用性",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16167099991"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "eb2ed61a-3879-4556-bbdc-82f2647db1e3, b894c681-0997-4b20-bc8a-304a5f31bfe0",
|
||||
"traceId": "7e280a48c44b4e4c898dbafc3215f64e",
|
||||
"evidence": "attempt=1",
|
||||
"checkedAt": "2026-08-08T05:31:40.036Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "创建海外仓费用隔离客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ba5aaf07-8135-4bfb-93ef-05ab2d77ec53, 3573b84d-f37d-4138-9dd8-60db25742106",
|
||||
"traceId": "d7d1160a98e64a5d80ea9c29a9043d7d",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:31:40.388Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "海外仓费用隔离客户创建并带 marker",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ba5aaf07-8135-4bfb-93ef-05ab2d77ec53, 3573b84d-f37d-4138-9dd8-60db25742106",
|
||||
"traceId": "d7d1160a98e64a5d80ea9c29a9043d7d",
|
||||
"evidence": "tenantId=2085962119627001858",
|
||||
"checkedAt": "2026-08-08T05:31:40.388Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "查询客户海外仓费用配置",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085962119627001858/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "S0500",
|
||||
"message": "Internal server error",
|
||||
"requestId": "5ac21bf6-d89e-457b-ba67-e3e26cfae24f",
|
||||
"traceId": "f7ff48a216604bcebe6b439b86664e3e",
|
||||
"evidence": "tenantId=2085962119627001858",
|
||||
"checkedAt": "2026-08-08T05:31:40.416Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "费用配置契约不可用时清理隔离客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085962119627001858/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "61927608-9447-4f22-aef7-3b485a49aeab, d8f074c2-3f63-447d-8b8e-c774c7448dcb",
|
||||
"traceId": "1663d1977f2f406aaaadf99f5f706194",
|
||||
"evidence": "tenantId=2085962119627001858",
|
||||
"checkedAt": "2026-08-08T05:31:40.523Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "隔离客户清理后停用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085962119627001858/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "61927608-9447-4f22-aef7-3b485a49aeab, d8f074c2-3f63-447d-8b8e-c774c7448dcb",
|
||||
"traceId": "1663d1977f2f406aaaadf99f5f706194",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T05:31:40.523Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,881 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808052841329",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T05:28:43.083Z",
|
||||
"startedAt": "2026-08-08T05:28:41.329Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 44,
|
||||
"passed": 42,
|
||||
"failed": 2
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "customers",
|
||||
"startedAt": "2026-08-08T05:28:41.701Z",
|
||||
"finishedAt": "2026-08-08T05:28:42.618Z",
|
||||
"success": true,
|
||||
"passed": 38,
|
||||
"failed": 0,
|
||||
"fatal": null
|
||||
},
|
||||
{
|
||||
"name": "overseas-storage-fees",
|
||||
"startedAt": "2026-08-08T05:28:42.620Z",
|
||||
"finishedAt": "2026-08-08T05:28:43.083Z",
|
||||
"success": false,
|
||||
"passed": 3,
|
||||
"failed": 2,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "customer-dimension-rules",
|
||||
"module": "customers",
|
||||
"success": true,
|
||||
"deploymentBlocked": false,
|
||||
"passed": 13,
|
||||
"failed": 0
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "查询客户海外仓费用配置",
|
||||
"evidence": "tenantId=2085961371849707522",
|
||||
"code": "S0500",
|
||||
"requestId": "9a0ffc8d-64cf-4db8-aff5-5e5069e07a5c",
|
||||
"traceId": "8609dab1dc4848a69a31a80316301fae"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "查询新隔离客户海外仓费用配置",
|
||||
"evidence": "tenantId=2085961375817519106",
|
||||
"code": "S0500",
|
||||
"requestId": "f3e84b20-6334-49ed-871a-9d1d6df15f42",
|
||||
"traceId": "25bc4f8838024520973270e4724c3069"
|
||||
}
|
||||
],
|
||||
"createdResources": {
|
||||
"customer": {
|
||||
"tenantId": "2085961371849707522",
|
||||
"marker": "ADMIN-API-20260808052841329",
|
||||
"contactPhone": "16166921702"
|
||||
},
|
||||
"overseasStorageFeeCustomer": {
|
||||
"tenantId": "2085961375817519106",
|
||||
"marker": "ADMIN-API-20260808052841329",
|
||||
"ownedByModule": true
|
||||
}
|
||||
},
|
||||
"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": "7bd48d5c-0996-4c05-ae5c-a018e4136f71, c3051067-539f-486b-96c5-de71fa4a995e",
|
||||
"traceId": "cb33a5d8cefd4240acdd7ae6b1aebd3c",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:28:41.701Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "检查测试联系电话可用性",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16166921702"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "44c4b252-bead-4b01-b827-910a733142c5, 4d2c591a-9b8f-41c1-a03f-3b4ac596977b",
|
||||
"traceId": "2c3aedac6f7c4860840e8519438b9c48",
|
||||
"evidence": "attempt=1",
|
||||
"checkedAt": "2026-08-08T05:28:41.745Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "创建客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5edebd18-27c0-4e6d-91b8-3db63f1f1128, 13710f1e-4520-4b85-9558-6ceb62e5c920",
|
||||
"traceId": "682263346ca84afbb7007ae9e9518b6e",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:28:42.108Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "创建响应客户字段完整",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5edebd18-27c0-4e6d-91b8-3db63f1f1128, 13710f1e-4520-4b85-9558-6ceb62e5c920",
|
||||
"traceId": "682263346ca84afbb7007ae9e9518b6e",
|
||||
"evidence": "missing=none",
|
||||
"checkedAt": "2026-08-08T05:28:42.108Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "新客户基础字段正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5edebd18-27c0-4e6d-91b8-3db63f1f1128, 13710f1e-4520-4b85-9558-6ceb62e5c920",
|
||||
"traceId": "682263346ca84afbb7007ae9e9518b6e",
|
||||
"evidence": "tenantId=2085961371849707522, status=PROFILE_REQUIRED",
|
||||
"checkedAt": "2026-08-08T05:28:42.108Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-owner-provisioning",
|
||||
"name": "创建客户生成初始密码",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5edebd18-27c0-4e6d-91b8-3db63f1f1128, 13710f1e-4520-4b85-9558-6ceb62e5c920",
|
||||
"traceId": "682263346ca84afbb7007ae9e9518b6e",
|
||||
"evidence": "generated=true, length=16",
|
||||
"checkedAt": "2026-08-08T05:28:42.108Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-owner-provisioning",
|
||||
"name": "管理员用户名默认使用联系电话",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5edebd18-27c0-4e6d-91b8-3db63f1f1128, 13710f1e-4520-4b85-9558-6ceb62e5c920",
|
||||
"traceId": "682263346ca84afbb7007ae9e9518b6e",
|
||||
"evidence": "matches=true",
|
||||
"checkedAt": "2026-08-08T05:28:42.108Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "待完善客户的审核字段保持为空",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5edebd18-27c0-4e6d-91b8-3db63f1f1128, 13710f1e-4520-4b85-9558-6ceb62e5c920",
|
||||
"traceId": "682263346ca84afbb7007ae9e9518b6e",
|
||||
"evidence": "creditCode=omitted, approvedAt=omitted",
|
||||
"checkedAt": "2026-08-08T05:28:42.108Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "新客户尺寸规则可查询",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3aef291a-01f8-4832-8ba8-419a6c0f0ead, c3e56f7e-9999-4b22-8d04-e983808f52ec",
|
||||
"traceId": "f4a2481bd696413cbda66b15aa193b2a",
|
||||
"evidence": "tenantId=2085961371849707522",
|
||||
"checkedAt": "2026-08-08T05:28:42.131Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "固定四箱规顺序完整且无重复",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3aef291a-01f8-4832-8ba8-419a6c0f0ead, c3e56f7e-9999-4b22-8d04-e983808f52ec",
|
||||
"traceId": "f4a2481bd696413cbda66b15aa193b2a",
|
||||
"evidence": "count=4, order=SMALL,MEDIUM,LARGE,EXTRA_LARGE",
|
||||
"checkedAt": "2026-08-08T05:28:42.131Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "四箱规默认内径、加边和备注正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3aef291a-01f8-4832-8ba8-419a6c0f0ead, c3e56f7e-9999-4b22-8d04-e983808f52ec",
|
||||
"traceId": "f4a2481bd696413cbda66b15aa193b2a",
|
||||
"evidence": "defaults=matched",
|
||||
"checkedAt": "2026-08-08T05:28:42.131Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "客户 ID、规则 ID 为字符串且初始版本为0",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3aef291a-01f8-4832-8ba8-419a6c0f0ead, c3e56f7e-9999-4b22-8d04-e983808f52ec",
|
||||
"traceId": "f4a2481bd696413cbda66b15aa193b2a",
|
||||
"evidence": "groupTenantIdType=string, rows=string/v0,string/v0,string/v0,string/v0",
|
||||
"checkedAt": "2026-08-08T05:28:42.131Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "默认规则外径与 HALF_UP 三位 CBM 正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3aef291a-01f8-4832-8ba8-419a6c0f0ead, c3e56f7e-9999-4b22-8d04-e983808f52ec",
|
||||
"traceId": "f4a2481bd696413cbda66b15aa193b2a",
|
||||
"evidence": "derivedRows=4",
|
||||
"checkedAt": "2026-08-08T05:28:42.131Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "PUT 每行只发送约定7字段并整组保存",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3aef291a-01f8-4832-8ba8-419a6c0f0ead, c3e56f7e-9999-4b22-8d04-e983808f52ec",
|
||||
"traceId": "f4a2481bd696413cbda66b15aa193b2a",
|
||||
"evidence": "fields=boxType,innerLengthCm,innerWidthCm,innerHeightCm,edgeAdditionCm,remark,version",
|
||||
"checkedAt": "2026-08-08T05:28:42.132Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "一次 PUT 保存四条三位小数规则",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d10274b5-a589-45cb-96ff-184e834a23e3, 2e91ab01-b824-4144-9a57-dcb4c821991b",
|
||||
"traceId": "9c2435c5174d49519b7cecee19aa94b1",
|
||||
"evidence": "rows=4",
|
||||
"checkedAt": "2026-08-08T05:28:42.169Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "修改后四行版本+1且派生外径/CBM正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d10274b5-a589-45cb-96ff-184e834a23e3, 2e91ab01-b824-4144-9a57-dcb4c821991b",
|
||||
"traceId": "9c2435c5174d49519b7cecee19aa94b1",
|
||||
"evidence": "versions=1,1,1,1",
|
||||
"checkedAt": "2026-08-08T05:28:42.169Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "旧 version 重放 PUT 返回冲突",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "箱规尺寸配置已被修改,请刷新后重试",
|
||||
"requestId": "31327608-24e2-438d-9cc6-3e7c461d2e77",
|
||||
"traceId": "f83b068272aa446786b61e9a0cfdb0f4",
|
||||
"evidence": "HTTP=200, code=A0409",
|
||||
"checkedAt": "2026-08-08T05:28:42.194Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "冲突后重新查询四条规则",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6d6ca223-59a9-4693-9817-343c650152de, 090f7249-8175-4767-8fa5-ed9058fecd0a",
|
||||
"traceId": "9d3ad7981cec4142998d83ea9f966dea",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:28:42.221Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "冲突请求未造成四行部分更新",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6d6ca223-59a9-4693-9817-343c650152de, 090f7249-8175-4767-8fa5-ed9058fecd0a",
|
||||
"traceId": "9d3ad7981cec4142998d83ea9f966dea",
|
||||
"evidence": "unchangedRows=4",
|
||||
"checkedAt": "2026-08-08T05:28:42.221Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "恢复本轮修改前的四箱规配置",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "406330a2-9577-46d9-8274-ed6b9ce129c5, 4729591c-097b-406c-bb5a-2b1b84cc293e",
|
||||
"traceId": "e6e77578acc24e3987cd12ffd6dcfb32",
|
||||
"evidence": "restore=original-values",
|
||||
"checkedAt": "2026-08-08T05:28:42.261Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "尺寸规则恢复后回显与初始值一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "406330a2-9577-46d9-8274-ed6b9ce129c5, 4729591c-097b-406c-bb5a-2b1b84cc293e",
|
||||
"traceId": "e6e77578acc24e3987cd12ffd6dcfb32",
|
||||
"evidence": "restoredRows=4",
|
||||
"checkedAt": "2026-08-08T05:28:42.261Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "查询客户列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants?page=1&size=20&keyword=%E5%90%8E%E5%8F%B0%E5%AE%A2%E6%88%B7%E9%AA%8C%E6%94%B6-808052841329"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5adda92b-b3e6-41d2-ad79-5b84fd6b12f6, 0e4251ef-b331-4092-b724-2dff88e735ee",
|
||||
"traceId": "ed3d9847e4a04517b2c712f4a10a5525",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:28:42.287Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "列表包含新客户且字段完整",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants?page=1&size=20&keyword=%E5%90%8E%E5%8F%B0%E5%AE%A2%E6%88%B7%E9%AA%8C%E6%94%B6-808052841329"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5adda92b-b3e6-41d2-ad79-5b84fd6b12f6, 0e4251ef-b331-4092-b724-2dff88e735ee",
|
||||
"traceId": "ed3d9847e4a04517b2c712f4a10a5525",
|
||||
"evidence": "found=true, missing=none",
|
||||
"checkedAt": "2026-08-08T05:28:42.287Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "查询客户详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d3661a19-b409-402e-aa1a-d25e0930f3a9, 2493a21c-cbc8-4a94-a057-dd4632bc6ea0",
|
||||
"traceId": "39f989a102f44916a2af220e04baeb2a",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:28:42.314Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户详情基本信息正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d3661a19-b409-402e-aa1a-d25e0930f3a9, 2493a21c-cbc8-4a94-a057-dd4632bc6ea0",
|
||||
"traceId": "39f989a102f44916a2af220e04baeb2a",
|
||||
"evidence": "tenantId=2085961371849707522",
|
||||
"checkedAt": "2026-08-08T05:28:42.314Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "编辑客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c546898f-751a-4bb8-ba7b-179e06d18b3d, 4523c600-6a82-466f-b6d1-73944b672219",
|
||||
"traceId": "fa08ed1091c349aab073e4e185dc70d7",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:28:42.355Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户编辑正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c546898f-751a-4bb8-ba7b-179e06d18b3d, 4523c600-6a82-466f-b6d1-73944b672219",
|
||||
"traceId": "fa08ed1091c349aab073e4e185dc70d7",
|
||||
"evidence": "tenantId=2085961371849707522",
|
||||
"checkedAt": "2026-08-08T05:28:42.355Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "回查客户编辑结果",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "af8fac55-9b8f-4914-904c-2478a8edf931, 9765471b-ddb6-4354-93cf-670493bd935c",
|
||||
"traceId": "74d23dd3f576492798326b0d6a97da24",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:28:42.374Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户编辑已持久化",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "af8fac55-9b8f-4914-904c-2478a8edf931, 9765471b-ddb6-4354-93cf-670493bd935c",
|
||||
"traceId": "74d23dd3f576492798326b0d6a97da24",
|
||||
"evidence": "tenantId=2085961371849707522",
|
||||
"checkedAt": "2026-08-08T05:28:42.374Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况查询资质",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085961371849707522/qualifications"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "391847b4-47ad-4265-bb9a-a7ab7cb86da5, 1e512be6-590a-422e-b12a-1bbec5afecbd",
|
||||
"traceId": "2a215ea41bfd4065af1be9971e63dcd8",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:28:42.409Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "资质概况结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085961371849707522/qualifications"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "391847b4-47ad-4265-bb9a-a7ab7cb86da5, 1e512be6-590a-422e-b12a-1bbec5afecbd",
|
||||
"traceId": "2a215ea41bfd4065af1be9971e63dcd8",
|
||||
"evidence": "count=0",
|
||||
"checkedAt": "2026-08-08T05:28:42.409Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况查询成员",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085961371849707522/members"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "201da765-eb27-4ad8-af8e-d97370b5e050, 3e8d56b1-b94f-4fed-b585-7e5c10c2a6fc",
|
||||
"traceId": "c58cea6082e84438a593b47657cfab40",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:28:42.447Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-owner-provisioning",
|
||||
"name": "联系电话账号是企业管理员",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085961371849707522/members"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "201da765-eb27-4ad8-af8e-d97370b5e050, 3e8d56b1-b94f-4fed-b585-7e5c10c2a6fc",
|
||||
"traceId": "c58cea6082e84438a593b47657cfab40",
|
||||
"evidence": "ownerFound=true, matches=true",
|
||||
"checkedAt": "2026-08-08T05:28:42.447Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况查询运单数量",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/tenant-counts?tenantIds=2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0f31ccec-a742-48ce-aa47-5f5dee45b9ac, 5c0a7602-b610-4682-8c01-3e85c7b249cc",
|
||||
"traceId": "101a71cc84be447a8ca353f8b55201bb",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:28:42.471Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况返回当前客户运单数",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/tenant-counts?tenantIds=2085961371849707522"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0f31ccec-a742-48ce-aa47-5f5dee45b9ac, 5c0a7602-b610-4682-8c01-3e85c7b249cc",
|
||||
"traceId": "101a71cc84be447a8ca353f8b55201bb",
|
||||
"evidence": "orderCount=0",
|
||||
"checkedAt": "2026-08-08T05:28:42.472Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "查询客户运单记录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=2085961371849707522&page=1&size=10"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "bb6310db-021f-4954-9fde-9dd80df67183, ec930cc9-84bc-4f0f-a746-82f171d86ace",
|
||||
"traceId": "3914438d25234a4e9222726070bb26b8",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:28:42.504Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "运单记录分页结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=2085961371849707522&page=1&size=10"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "bb6310db-021f-4954-9fde-9dd80df67183, ec930cc9-84bc-4f0f-a746-82f171d86ace",
|
||||
"traceId": "3914438d25234a4e9222726070bb26b8",
|
||||
"evidence": "records=0, total=0",
|
||||
"checkedAt": "2026-08-08T05:28:42.504Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-draft-archive",
|
||||
"name": "归档测试客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085961371849707522/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f9208ab6-bb8e-4f48-9060-8052fb163cee, 780b8eda-83fb-443a-83bf-2b8c6a9e0ef7",
|
||||
"traceId": "a2bc3cf1a9a341c69a9d2eecc240a048",
|
||||
"evidence": "tenantId=2085961371849707522",
|
||||
"checkedAt": "2026-08-08T05:28:42.618Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-draft-archive",
|
||||
"name": "测试客户归档后处于停用状态",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085961371849707522/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f9208ab6-bb8e-4f48-9060-8052fb163cee, 780b8eda-83fb-443a-83bf-2b8c6a9e0ef7",
|
||||
"traceId": "a2bc3cf1a9a341c69a9d2eecc240a048",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T05:28:42.618Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "查询客户海外仓费用配置",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085961371849707522/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "S0500",
|
||||
"message": "Internal server error",
|
||||
"requestId": "9a0ffc8d-64cf-4db8-aff5-5e5069e07a5c",
|
||||
"traceId": "8609dab1dc4848a69a31a80316301fae",
|
||||
"evidence": "tenantId=2085961371849707522",
|
||||
"checkedAt": "2026-08-08T05:28:42.651Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": null,
|
||||
"name": "检查测试联系电话可用性",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16166922651"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ab6a02bd-d0ae-499d-be09-07bd9d5bf19d, f27bf257-dd9f-425b-b559-10d365e3a43d",
|
||||
"traceId": "775a52c1cd494ad1b9146f98b35d55e4",
|
||||
"evidence": "attempt=1",
|
||||
"checkedAt": "2026-08-08T05:28:42.696Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "创建海外仓费用隔离客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f4e72bf7-6583-40df-b3e6-702d69a9e418, b626c897-25d9-4268-abfe-2a63d5a1e261",
|
||||
"traceId": "f677a0ec39564dadbb22bceb196f19fb",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:28:43.055Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "海外仓费用隔离客户创建并带 marker",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f4e72bf7-6583-40df-b3e6-702d69a9e418, b626c897-25d9-4268-abfe-2a63d5a1e261",
|
||||
"traceId": "f677a0ec39564dadbb22bceb196f19fb",
|
||||
"evidence": "tenantId=2085961375817519106",
|
||||
"checkedAt": "2026-08-08T05:28:43.055Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "查询新隔离客户海外仓费用配置",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085961375817519106/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "S0500",
|
||||
"message": "Internal server error",
|
||||
"requestId": "f3e84b20-6334-49ed-871a-9d1d6df15f42",
|
||||
"traceId": "25bc4f8838024520973270e4724c3069",
|
||||
"evidence": "tenantId=2085961375817519106",
|
||||
"checkedAt": "2026-08-08T05:28:43.083Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,123 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808061502679",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T06:15:03.114Z",
|
||||
"startedAt": "2026-08-08T06:15:02.679Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 3,
|
||||
"passed": 1,
|
||||
"failed": 2
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "ocean-bookings",
|
||||
"startedAt": "2026-08-08T06:15:03.056Z",
|
||||
"finishedAt": "2026-08-08T06:15:03.091Z",
|
||||
"success": false,
|
||||
"passed": 0,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
},
|
||||
{
|
||||
"name": "truck-appointments",
|
||||
"startedAt": "2026-08-08T06:15:03.092Z",
|
||||
"finishedAt": "2026-08-08T06:15:03.114Z",
|
||||
"success": false,
|
||||
"passed": 0,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "海运订舱服务契约已部署",
|
||||
"evidence": "入口 /api/platform/v1/ocean-bookings 不可用:HTTP=404, code=missing",
|
||||
"code": null,
|
||||
"requestId": "a965e219-80",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约服务契约已部署",
|
||||
"evidence": "入口 /api/platform/v1/truck-appointments 不可用:HTTP=404, code=missing",
|
||||
"code": null,
|
||||
"requestId": "81f11067-81",
|
||||
"traceId": null
|
||||
}
|
||||
],
|
||||
"createdResources": {},
|
||||
"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": "fac3872e-0160-4c28-8d1c-863d6cfdb1b0, f932ac3f-37a8-45eb-9853-8cf2d40ee1f6",
|
||||
"traceId": "e94538f8e9e14b76bad6115ed8fb22c2",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:15:03.055Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "海运订舱服务契约已部署",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&keyword=ADMIN-API-20260808061502679"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "a965e219-80",
|
||||
"traceId": null,
|
||||
"evidence": "入口 /api/platform/v1/ocean-bookings 不可用:HTTP=404, code=missing",
|
||||
"checkedAt": "2026-08-08T06:15:03.091Z"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约服务契约已部署",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments?page=1&size=5&keyword=ADMIN-API-20260808061502679"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "81f11067-81",
|
||||
"traceId": null,
|
||||
"evidence": "入口 /api/platform/v1/truck-appointments 不可用:HTTP=404, code=missing",
|
||||
"checkedAt": "2026-08-08T06:15:03.114Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,426 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808053940400",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T05:39:42.568Z",
|
||||
"startedAt": "2026-08-08T05:39:40.400Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 20,
|
||||
"passed": 14,
|
||||
"failed": 6
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "supplemental-boundaries",
|
||||
"startedAt": "2026-08-08T05:39:40.888Z",
|
||||
"finishedAt": "2026-08-08T05:39:42.568Z",
|
||||
"success": false,
|
||||
"passed": 13,
|
||||
"failed": 6,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "admin-boundary-automation",
|
||||
"module": "supplemental-boundaries",
|
||||
"success": false,
|
||||
"deploymentBlocked": true,
|
||||
"passed": 13,
|
||||
"failed": 6
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "托盘/库位真实占用删除保护自动化缺口",
|
||||
"evidence": "当前公共验收 API 未提供可安全构造并释放占用关联的独立 fixture;未操作历史资源",
|
||||
"code": null,
|
||||
"requestId": null,
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "船期价格非法状态边界响应正确",
|
||||
"evidence": "HTTP=503, code=missing",
|
||||
"code": null,
|
||||
"requestId": "8588809e-50",
|
||||
"traceId": null
|
||||
}
|
||||
],
|
||||
"createdResources": {},
|
||||
"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": "59e62f5a-a19a-481e-a9ef-4e7da203bad0, c17f4a61-3a7b-4c0d-9e81-3b4991ce3c40",
|
||||
"traceId": "190e5ac2b5be439b9d19e56d06eb0246",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:39:40.886Z"
|
||||
},
|
||||
{
|
||||
"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": "9e6150b0-9cb4-4c92-b78b-9077c673108b, c864a23e-4c96-4e70-a8de-1aba95ee0b62",
|
||||
"traceId": "38f6146c977e4b62b3d8c1c1c63d4c9e",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:39:41.092Z"
|
||||
},
|
||||
{
|
||||
"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": "129bf3a7-b7fa-459e-86f6-def0a3c4b9ea, d547468c-6949-4fa9-b211-f2cfe54dc813",
|
||||
"traceId": "c2b5020e43884096840999908cc41d12",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:39:41.193Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "读取隔离库位版本",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/locations/2085964137512353794?tenantId=0&warehouseId=2085964137071951874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "8f4bfb34-ba8c-446d-9306-9e46bf42a940, 8f51b111-9683-4ef6-9a67-b1cf1478105b",
|
||||
"traceId": "7174f84fdd8d4fbaa73728f35b2835a5",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:39:41.247Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "更新隔离库位以推进版本",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/locations/2085964137512353794?tenantId=0&warehouseId=2085964137071951874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1a2c4f72-7904-47b4-aedc-e4fad8fc439b, d4a63cbf-2fb1-4ce4-a68c-8fa22b8823da",
|
||||
"traceId": "f8d11c13de5c4dfc973c447a537a0af3",
|
||||
"evidence": "version=0",
|
||||
"checkedAt": "2026-08-08T05:39:41.313Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "库位旧 version PUT 返回冲突",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/locations/2085964137512353794?tenantId=0&warehouseId=2085964137071951874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "库位已被其他操作修改,请刷新后重试",
|
||||
"requestId": "c431047d-9ae5-4884-b697-e0aa4e7efa81",
|
||||
"traceId": "c0bed96d902b4f85b921bd2a75f7502c",
|
||||
"evidence": "HTTP=200, code=A0409",
|
||||
"checkedAt": "2026-08-08T05:39:41.365Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "冲突后回查库位",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/locations/2085964137512353794?tenantId=0&warehouseId=2085964137071951874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9ed0db1a-7baf-40c7-9fa2-25171421f0cf, cba60cdf-3160-49a7-86e1-b7c9f1a12774",
|
||||
"traceId": "6223aae1c5e547b18e1f9851aaae822a",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:39:41.415Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "库位冲突未造成部分更新",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/locations/2085964137512353794?tenantId=0&warehouseId=2085964137071951874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9ed0db1a-7baf-40c7-9fa2-25171421f0cf, cba60cdf-3160-49a7-86e1-b7c9f1a12774",
|
||||
"traceId": "6223aae1c5e547b18e1f9851aaae822a",
|
||||
"evidence": "name=边界库位-编辑",
|
||||
"checkedAt": "2026-08-08T05:39:41.415Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "托盘/库位真实占用删除保护自动化缺口",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "当前公共验收 API 未提供可安全构造并释放占用关联的独立 fixture;未操作历史资源",
|
||||
"checkedAt": "2026-08-08T05:39:41.415Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "import-boundaries",
|
||||
"name": "仓库空文件安全失败且不模拟导入成功",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/warehouse-admin/import?tenantId=0&dryRun=true"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "43673cd0-7cfa-4df8-979d-69811460f20a, 4fe85980-bff6-4efd-abd6-12731c0dbc64",
|
||||
"traceId": "31abe2fc66c042149a2c27f9212b5d0d",
|
||||
"evidence": "HTTP=200, code=200, bytes=0",
|
||||
"checkedAt": "2026-08-08T05:39:41.486Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "import-boundaries",
|
||||
"name": "仓库缺列伪 XLSX安全失败且不模拟导入成功",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/warehouse-admin/import?tenantId=0&dryRun=true"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "29f0d6a5-c5a3-4be7-bc4b-2e2dc78e9e61, e2d41aa3-dfaa-4297-85fc-d7262cb28979",
|
||||
"traceId": "d0276db3a031414bb66659d5a35f75c5",
|
||||
"evidence": "HTTP=200, code=200, bytes=6",
|
||||
"checkedAt": "2026-08-08T05:39:41.612Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "import-boundaries",
|
||||
"name": "快递公司错误扩展名安全失败且不模拟导入成功",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/express-companies/import?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0df47055-d23d-4d2a-a4d0-d273c043beaa, 491dab6e-0fcf-41dd-9bbc-90726e9b8081",
|
||||
"traceId": "77cb6c065dbc4c808c481ddcc40bd4c1",
|
||||
"evidence": "HTTP=200, code=200, bytes=27",
|
||||
"checkedAt": "2026-08-08T05:39:41.651Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "import-boundaries",
|
||||
"name": "往来单位非 XLSX安全失败且不模拟导入成功",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/partners/import?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "bd5fd0ad-a772-4141-8e62-7900e689a801, 6bf285d4-f212-4697-bb67-8be0b4f062a1",
|
||||
"traceId": "bb9116a22f144153a6ba6b2c4062465b",
|
||||
"evidence": "HTTP=200, code=200, bytes=27",
|
||||
"checkedAt": "2026-08-08T05:39:41.686Z"
|
||||
},
|
||||
{
|
||||
"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": "S0500",
|
||||
"message": "Internal server error",
|
||||
"requestId": "27956363-1cd8-49c9-9c5c-f2e3a172bdab",
|
||||
"traceId": "5c1894c4d5af4633b201b5bdfc0d9cc8",
|
||||
"evidence": "HTTP=200, code=S0500",
|
||||
"checkedAt": "2026-08-08T05:39:41.729Z"
|
||||
},
|
||||
{
|
||||
"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": "8588809e-48",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=401, code=A0401",
|
||||
"checkedAt": "2026-08-08T05:39:41.763Z"
|
||||
},
|
||||
{
|
||||
"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": "62163d22-4c08-4f42-8f41-b37a9e030479",
|
||||
"traceId": "1969a2349eda4dc487aae32454b81665",
|
||||
"evidence": "HTTP=200, code=A0422",
|
||||
"checkedAt": "2026-08-08T05:39:42.210Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "船期价格非法状态边界响应正确",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books?status=INVALID"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "8588809e-50",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=503, code=missing",
|
||||
"checkedAt": "2026-08-08T05:39:42.325Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "停用隔离库位以便清理",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PATCH",
|
||||
"path": "/api/platform/v1/locations/2085964137512353794/status?tenantId=0&warehouseId=2085964137071951874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6866d82d-457a-4270-bc94-81a25f14caef, 33e987a8-7b79-4dcb-a3a9-8930683cc200",
|
||||
"traceId": "86ee5c486dd24e8392296db09e07d8f8",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:39:42.410Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "删除隔离库位",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "DELETE",
|
||||
"path": "/api/platform/v1/locations/2085964137512353794?tenantId=0&warehouseId=2085964137071951874&version=2"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7f84fc98-7a21-4748-b605-b4ae4dd4b9f2, 4f3fdb6e-fda6-4781-9c09-19b32517061e",
|
||||
"traceId": "752b78a1938845eb99d4a9970b16b871",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:39:42.496Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "停用隔离仓库",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PATCH",
|
||||
"path": "/api/platform/v1/warehouse-admin/2085964137071951874/status?tenantId=0&status=INACTIVE"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "44111f4f-669b-4c90-84cb-1328d0431543, 486b37d3-b302-4bdf-9c1b-62edc6621831",
|
||||
"traceId": "150ae3f066df4da8b4c56fa5fa5c46f2",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T05:39:42.568Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,257 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808030949923",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T03:09:50.497Z",
|
||||
"startedAt": "2026-08-08T03:09:49.923Z",
|
||||
"success": true,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 12,
|
||||
"passed": 12,
|
||||
"failed": 0
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "supplemental",
|
||||
"startedAt": "2026-08-08T03:09:50.302Z",
|
||||
"finishedAt": "2026-08-08T03:09:50.497Z",
|
||||
"success": true,
|
||||
"passed": 11,
|
||||
"failed": 0,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [],
|
||||
"deploymentBlockers": [],
|
||||
"createdResources": {},
|
||||
"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": "1f1e9c3b-11bb-4931-a6dd-fa576b7c95b5, abee7733-84b8-457d-b55f-91b7aa54f42d",
|
||||
"traceId": "b0a64f960ec54ff89eb325abb5cc1c8d",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T03:09:50.301Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental",
|
||||
"scenario": null,
|
||||
"name": "order-service 状态响应使用统一成功体",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a5f466bf-ae64-4aa5-95ea-8d1968682163, dc93264c-bc52-42c6-a7e1-3dd7adff8559",
|
||||
"traceId": "0c23c4de34694a139a2c895073ee0934",
|
||||
"evidence": "HTTP=200, code=200",
|
||||
"checkedAt": "2026-08-08T03:09:50.344Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental",
|
||||
"scenario": null,
|
||||
"name": "order-service 状态字段完整且 readiness 语义明确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a5f466bf-ae64-4aa5-95ea-8d1968682163, dc93264c-bc52-42c6-a7e1-3dd7adff8559",
|
||||
"traceId": "0c23c4de34694a139a2c895073ee0934",
|
||||
"evidence": "service=order-service, status=UP, readiness=UP",
|
||||
"checkedAt": "2026-08-08T03:09:50.344Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental",
|
||||
"scenario": null,
|
||||
"name": "firstleg-service 状态响应使用统一成功体",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "04765fab-c4bf-4c63-af3d-2a7d6a3f955e, 89a82465-cb1e-484d-b78f-5844bb9d8f81",
|
||||
"traceId": "f6e4f3759e6841769a8e905154d5f5f8",
|
||||
"evidence": "HTTP=200, code=200",
|
||||
"checkedAt": "2026-08-08T03:09:50.371Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental",
|
||||
"scenario": null,
|
||||
"name": "firstleg-service 状态字段完整且 readiness 语义明确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "04765fab-c4bf-4c63-af3d-2a7d6a3f955e, 89a82465-cb1e-484d-b78f-5844bb9d8f81",
|
||||
"traceId": "f6e4f3759e6841769a8e905154d5f5f8",
|
||||
"evidence": "service=firstleg-service, status=UP, readiness=UP",
|
||||
"checkedAt": "2026-08-08T03:09:50.371Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental",
|
||||
"scenario": null,
|
||||
"name": "file-service 状态响应使用统一成功体",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/files/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c14fe096-d5ae-447f-96ee-37802b84b58a, 439bfbc2-6441-4087-9962-53afff6c1f5f",
|
||||
"traceId": "1fca0eae5e20493582ab64ce34c30181",
|
||||
"evidence": "HTTP=200, code=200",
|
||||
"checkedAt": "2026-08-08T03:09:50.400Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental",
|
||||
"scenario": null,
|
||||
"name": "file-service 状态字段完整且 readiness 语义明确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/files/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c14fe096-d5ae-447f-96ee-37802b84b58a, 439bfbc2-6441-4087-9962-53afff6c1f5f",
|
||||
"traceId": "1fca0eae5e20493582ab64ce34c30181",
|
||||
"evidence": "service=file-service, status=UP, readiness=UP",
|
||||
"checkedAt": "2026-08-08T03:09:50.400Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental",
|
||||
"scenario": null,
|
||||
"name": "warehouse-service 状态响应使用统一成功体",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/warehouses/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b20712d9-2747-412b-9b98-f16e68e09b6a, 4206f98c-81e1-4bfc-b5ba-d679e825e211",
|
||||
"traceId": "1900c4aea06346d49219bcabbe1647de",
|
||||
"evidence": "HTTP=200, code=200",
|
||||
"checkedAt": "2026-08-08T03:09:50.439Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental",
|
||||
"scenario": null,
|
||||
"name": "warehouse-service 状态字段完整且 readiness 语义明确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/warehouses/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b20712d9-2747-412b-9b98-f16e68e09b6a, 4206f98c-81e1-4bfc-b5ba-d679e825e211",
|
||||
"traceId": "1900c4aea06346d49219bcabbe1647de",
|
||||
"evidence": "service=warehouse-service, status=UP, readiness=UP",
|
||||
"checkedAt": "2026-08-08T03:09:50.439Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental",
|
||||
"scenario": null,
|
||||
"name": "平台接口未携带令牌返回 401",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/status"
|
||||
},
|
||||
"http": 401,
|
||||
"code": "A0401",
|
||||
"message": "未登录或令牌已失效",
|
||||
"requestId": "feab15f3-239",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=401, code=A0401",
|
||||
"checkedAt": "2026-08-08T03:09:50.468Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental",
|
||||
"scenario": null,
|
||||
"name": "平台接口伪造令牌返回 401",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/status"
|
||||
},
|
||||
"http": 401,
|
||||
"code": "A0401",
|
||||
"message": "未登录或令牌已失效",
|
||||
"requestId": "5a78b8b2-240",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=401, code=A0401",
|
||||
"checkedAt": "2026-08-08T03:09:50.481Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental",
|
||||
"scenario": null,
|
||||
"name": "未认证请求不返回业务成功码",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/status"
|
||||
},
|
||||
"http": 401,
|
||||
"code": "A0401",
|
||||
"message": "未登录或令牌已失效",
|
||||
"requestId": "feab15f3-241",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=401, code=A0401",
|
||||
"checkedAt": "2026-08-08T03:09:50.497Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,714 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808013719156",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T01:37:20.808Z",
|
||||
"startedAt": "2026-08-08T01:37:19.156Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 36,
|
||||
"passed": 28,
|
||||
"failed": 8
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "customers",
|
||||
"startedAt": "2026-08-08T01:37:19.675Z",
|
||||
"finishedAt": "2026-08-08T01:37:20.808Z",
|
||||
"success": false,
|
||||
"passed": 27,
|
||||
"failed": 8,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "customer-dimension-rules",
|
||||
"module": "customers",
|
||||
"success": false,
|
||||
"deploymentBlocked": true,
|
||||
"passed": 10,
|
||||
"failed": 1
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "规则行 ID、tenantId 为字符串且初始版本为0",
|
||||
"evidence": "groupTenantIdType=string, rows=string/undefined/v0,string/undefined/v0,string/undefined/v0,string/undefined/v0",
|
||||
"code": "200",
|
||||
"requestId": "21161286-1dac-4fd6-838e-5ff5a3366392, 243dcd3d-3ea2-4bfa-b7bd-976f13eb3fbf",
|
||||
"traceId": "e7a484b82ca844ac933c14482228c3ce"
|
||||
}
|
||||
],
|
||||
"createdResources": {
|
||||
"customer": {
|
||||
"tenantId": "2085903147058450433",
|
||||
"marker": "ADMIN-API-20260808013719156",
|
||||
"contactPhone": "16153039675"
|
||||
}
|
||||
},
|
||||
"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": "b32bc7f2-2d2e-4db2-b3d2-a487433106de, 06ecaa92-97c9-4ad7-afa4-94e79cc325d8",
|
||||
"traceId": "b9c74369c3aa4120836782c7bd47c9cf",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:37:19.674Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "检查测试联系电话可用性",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16153039675"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "279a04a4-642b-47d3-9e86-530c3e473aeb, 08930ade-8e5f-4ec4-bc07-944c224c86a2",
|
||||
"traceId": "4cd28b1dcdbe4f979157a834d7d4331b",
|
||||
"evidence": "attempt=1",
|
||||
"checkedAt": "2026-08-08T01:37:19.790Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "创建客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5fafeaeb-3e78-4bd4-9287-1ec9cb01ffe1, 9d539168-3722-4b4b-b80f-3bbdb77239e9",
|
||||
"traceId": "319ec1d18c124a1eb1b4dc0e4d83e4c3",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:37:19.874Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "创建响应客户字段完整",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5fafeaeb-3e78-4bd4-9287-1ec9cb01ffe1, 9d539168-3722-4b4b-b80f-3bbdb77239e9",
|
||||
"traceId": "319ec1d18c124a1eb1b4dc0e4d83e4c3",
|
||||
"evidence": "missing=unifiedSocialCreditCode,approvedAt",
|
||||
"checkedAt": "2026-08-08T01:37:19.874Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "新客户基础字段正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5fafeaeb-3e78-4bd4-9287-1ec9cb01ffe1, 9d539168-3722-4b4b-b80f-3bbdb77239e9",
|
||||
"traceId": "319ec1d18c124a1eb1b4dc0e4d83e4c3",
|
||||
"evidence": "tenantId=2085903147058450433, status=PROFILE_REQUIRED",
|
||||
"checkedAt": "2026-08-08T01:37:19.874Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "创建客户生成初始密码",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5fafeaeb-3e78-4bd4-9287-1ec9cb01ffe1, 9d539168-3722-4b4b-b80f-3bbdb77239e9",
|
||||
"traceId": "319ec1d18c124a1eb1b4dc0e4d83e4c3",
|
||||
"evidence": "generated=false, length=0",
|
||||
"checkedAt": "2026-08-08T01:37:19.874Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "管理员用户名默认使用联系电话",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5fafeaeb-3e78-4bd4-9287-1ec9cb01ffe1, 9d539168-3722-4b4b-b80f-3bbdb77239e9",
|
||||
"traceId": "319ec1d18c124a1eb1b4dc0e4d83e4c3",
|
||||
"evidence": "matches=false",
|
||||
"checkedAt": "2026-08-08T01:37:19.874Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "新客户尺寸规则可查询",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "21161286-1dac-4fd6-838e-5ff5a3366392, 243dcd3d-3ea2-4bfa-b7bd-976f13eb3fbf",
|
||||
"traceId": "e7a484b82ca844ac933c14482228c3ce",
|
||||
"evidence": "tenantId=2085903147058450433",
|
||||
"checkedAt": "2026-08-08T01:37:19.920Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "固定四箱规顺序完整且无重复",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "21161286-1dac-4fd6-838e-5ff5a3366392, 243dcd3d-3ea2-4bfa-b7bd-976f13eb3fbf",
|
||||
"traceId": "e7a484b82ca844ac933c14482228c3ce",
|
||||
"evidence": "count=4, order=SMALL,MEDIUM,LARGE,EXTRA_LARGE",
|
||||
"checkedAt": "2026-08-08T01:37:19.920Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "四箱规默认内径、加边和备注正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "21161286-1dac-4fd6-838e-5ff5a3366392, 243dcd3d-3ea2-4bfa-b7bd-976f13eb3fbf",
|
||||
"traceId": "e7a484b82ca844ac933c14482228c3ce",
|
||||
"evidence": "defaults=matched",
|
||||
"checkedAt": "2026-08-08T01:37:19.920Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "规则行 ID、tenantId 为字符串且初始版本为0",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "21161286-1dac-4fd6-838e-5ff5a3366392, 243dcd3d-3ea2-4bfa-b7bd-976f13eb3fbf",
|
||||
"traceId": "e7a484b82ca844ac933c14482228c3ce",
|
||||
"evidence": "groupTenantIdType=string, rows=string/undefined/v0,string/undefined/v0,string/undefined/v0,string/undefined/v0",
|
||||
"checkedAt": "2026-08-08T01:37:19.920Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "默认规则外径与 HALF_UP 三位 CBM 正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "21161286-1dac-4fd6-838e-5ff5a3366392, 243dcd3d-3ea2-4bfa-b7bd-976f13eb3fbf",
|
||||
"traceId": "e7a484b82ca844ac933c14482228c3ce",
|
||||
"evidence": "derivedRows=4",
|
||||
"checkedAt": "2026-08-08T01:37:19.920Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "PUT 每行只发送约定7字段并整组保存",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "21161286-1dac-4fd6-838e-5ff5a3366392, 243dcd3d-3ea2-4bfa-b7bd-976f13eb3fbf",
|
||||
"traceId": "e7a484b82ca844ac933c14482228c3ce",
|
||||
"evidence": "fields=boxType,innerLengthCm,innerWidthCm,innerHeightCm,edgeAdditionCm,remark,version",
|
||||
"checkedAt": "2026-08-08T01:37:19.920Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "一次 PUT 保存四条三位小数规则",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2da22620-8e23-4cb5-830d-09b0c7abebd8, e01048dc-e5b7-41dc-9537-ff47e713dcb6",
|
||||
"traceId": "5d1ecdf1289a4d55a90368d1a397ec8e",
|
||||
"evidence": "rows=4",
|
||||
"checkedAt": "2026-08-08T01:37:19.993Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "修改后四行版本+1且派生外径/CBM正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2da22620-8e23-4cb5-830d-09b0c7abebd8, e01048dc-e5b7-41dc-9537-ff47e713dcb6",
|
||||
"traceId": "5d1ecdf1289a4d55a90368d1a397ec8e",
|
||||
"evidence": "versions=1,1,1,1",
|
||||
"checkedAt": "2026-08-08T01:37:19.993Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "旧 version 重放 PUT 返回冲突",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "箱规尺寸配置已被修改,请刷新后重试",
|
||||
"requestId": "9dc714d8-e24e-4466-a2a1-0916180b4b2e",
|
||||
"traceId": "907d64457fb2470f8c536b394efe67d6",
|
||||
"evidence": "HTTP=200, code=A0409",
|
||||
"checkedAt": "2026-08-08T01:37:20.072Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "冲突后重新查询四条规则",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "70ee21a4-f9bb-4b47-b102-9161cad9e95c, c54ecf0e-a981-432f-9cfe-84dd2e92eca5",
|
||||
"traceId": "c593da8cca8840d398a1fec59e792ae9",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:37:20.125Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "冲突请求未造成四行部分更新",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "70ee21a4-f9bb-4b47-b102-9161cad9e95c, c54ecf0e-a981-432f-9cfe-84dd2e92eca5",
|
||||
"traceId": "c593da8cca8840d398a1fec59e792ae9",
|
||||
"evidence": "unchangedRows=4",
|
||||
"checkedAt": "2026-08-08T01:37:20.125Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "查询客户列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants?page=1&size=20&keyword=%E5%90%8E%E5%8F%B0%E5%AE%A2%E6%88%B7%E9%AA%8C%E6%94%B6-808013719156"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "197c5762-b2f4-4d72-a576-5ab1b7db124e, abfe6a1b-b6f8-4723-858a-cfe509448f33",
|
||||
"traceId": "a91f3982e2c3472ea094033eacb08832",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:37:20.168Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "列表包含新客户且字段完整",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants?page=1&size=20&keyword=%E5%90%8E%E5%8F%B0%E5%AE%A2%E6%88%B7%E9%AA%8C%E6%94%B6-808013719156"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "197c5762-b2f4-4d72-a576-5ab1b7db124e, abfe6a1b-b6f8-4723-858a-cfe509448f33",
|
||||
"traceId": "a91f3982e2c3472ea094033eacb08832",
|
||||
"evidence": "found=true, missing=unifiedSocialCreditCode,approvedAt",
|
||||
"checkedAt": "2026-08-08T01:37:20.168Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "查询客户详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6fc40aa0-8e0e-448f-9585-ea1e906d416d, c7649135-2a3e-4400-bb90-72075c23e23c",
|
||||
"traceId": "4d208b9fa2ea4268834af84d42aac20d",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:37:20.240Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户详情基本信息正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6fc40aa0-8e0e-448f-9585-ea1e906d416d, c7649135-2a3e-4400-bb90-72075c23e23c",
|
||||
"traceId": "4d208b9fa2ea4268834af84d42aac20d",
|
||||
"evidence": "tenantId=2085903147058450433",
|
||||
"checkedAt": "2026-08-08T01:37:20.240Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "编辑客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2eabab50-7229-4ae0-8792-eca6e6d35bc5, 5dc4a056-69d1-458b-aa73-b62a1768f508",
|
||||
"traceId": "f151d4a7d60b4393848113c0a2e47c8a",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:37:20.340Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户编辑正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2eabab50-7229-4ae0-8792-eca6e6d35bc5, 5dc4a056-69d1-458b-aa73-b62a1768f508",
|
||||
"traceId": "f151d4a7d60b4393848113c0a2e47c8a",
|
||||
"evidence": "tenantId=2085903147058450433",
|
||||
"checkedAt": "2026-08-08T01:37:20.340Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "回查客户编辑结果",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c99e7d20-30f3-453e-adf7-81617c0202be, 5e4b928d-dc03-40a9-b7ac-b57928563861",
|
||||
"traceId": "8fc0982f732a4cbeb01f75b1ce2fa200",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:37:20.501Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户编辑已持久化",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c99e7d20-30f3-453e-adf7-81617c0202be, 5e4b928d-dc03-40a9-b7ac-b57928563861",
|
||||
"traceId": "8fc0982f732a4cbeb01f75b1ce2fa200",
|
||||
"evidence": "tenantId=2085903147058450433",
|
||||
"checkedAt": "2026-08-08T01:37:20.501Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况查询资质",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085903147058450433/qualifications"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d87dbe3e-de44-441d-816c-e1ee1a371b29, bee8d393-a7f5-4341-94ce-eaf673f193ce",
|
||||
"traceId": "756ebff2cc9f4f1eac1e4f9d8a633a76",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:37:20.554Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "资质概况结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085903147058450433/qualifications"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d87dbe3e-de44-441d-816c-e1ee1a371b29, bee8d393-a7f5-4341-94ce-eaf673f193ce",
|
||||
"traceId": "756ebff2cc9f4f1eac1e4f9d8a633a76",
|
||||
"evidence": "count=0",
|
||||
"checkedAt": "2026-08-08T01:37:20.554Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况查询成员",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085903147058450433/members"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2439e6c5-6ae9-4fb7-819d-93cca240bae6, 43d3143c-ff79-4de0-9cf7-575d214c8a07",
|
||||
"traceId": "be4bfdad721641ca8fd24db9ebfc85cb",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:37:20.643Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "联系电话账号是企业管理员",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085903147058450433/members"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2439e6c5-6ae9-4fb7-819d-93cca240bae6, 43d3143c-ff79-4de0-9cf7-575d214c8a07",
|
||||
"traceId": "be4bfdad721641ca8fd24db9ebfc85cb",
|
||||
"evidence": "ownerFound=false, matches=false",
|
||||
"checkedAt": "2026-08-08T01:37:20.643Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况查询运单数量",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/tenant-counts?tenantIds=2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "4ba32e71-b9ea-412d-8d26-bade4ce94874, 5e539bbf-cddb-43bf-9d65-f89060e2c12d",
|
||||
"traceId": "4906a891015d469a976af95d08f3be10",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:37:20.705Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况返回当前客户运单数",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/tenant-counts?tenantIds=2085903147058450433"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "4ba32e71-b9ea-412d-8d26-bade4ce94874, 5e539bbf-cddb-43bf-9d65-f89060e2c12d",
|
||||
"traceId": "4906a891015d469a976af95d08f3be10",
|
||||
"evidence": "orderCount=0",
|
||||
"checkedAt": "2026-08-08T01:37:20.705Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "查询客户运单记录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=2085903147058450433&page=1&size=10"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6cf876bf-1fd5-4f72-a655-3ad61ec38758, efcc42ca-fd26-4346-a8c5-cb3b1378442b",
|
||||
"traceId": "bb1beb549cd342d4a54afa9279507525",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:37:20.754Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "运单记录分页结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=2085903147058450433&page=1&size=10"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6cf876bf-1fd5-4f72-a655-3ad61ec38758, efcc42ca-fd26-4346-a8c5-cb3b1378442b",
|
||||
"traceId": "bb1beb549cd342d4a54afa9279507525",
|
||||
"evidence": "records=0, total=0",
|
||||
"checkedAt": "2026-08-08T01:37:20.754Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "停用客户",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085903147058450433/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "Tenant status must be changed through review / 当前租户状态必须通过审核流程变更",
|
||||
"requestId": "9bc5cbb7-0a5b-4dfc-b560-7c07af10fd7c",
|
||||
"traceId": "592ca8eb0d354c82b041b8fcdcca6f39",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:37:20.808Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户停用状态正确",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085903147058450433/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "Tenant status must be changed through review / 当前租户状态必须通过审核流程变更",
|
||||
"requestId": "9bc5cbb7-0a5b-4dfc-b560-7c07af10fd7c",
|
||||
"traceId": "592ca8eb0d354c82b041b8fcdcca6f39",
|
||||
"evidence": "status=missing",
|
||||
"checkedAt": "2026-08-08T01:37:20.808Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,811 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808014241953",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T01:42:44.907Z",
|
||||
"startedAt": "2026-08-08T01:42:41.953Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 42,
|
||||
"passed": 38,
|
||||
"failed": 4
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "system",
|
||||
"startedAt": "2026-08-08T01:42:42.321Z",
|
||||
"finishedAt": "2026-08-08T01:42:44.907Z",
|
||||
"success": false,
|
||||
"passed": 37,
|
||||
"failed": 4,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [],
|
||||
"deploymentBlockers": [],
|
||||
"createdResources": {
|
||||
"systemPermission": {
|
||||
"id": "2085904500002508801",
|
||||
"code": "platform:acceptance:808014241953"
|
||||
},
|
||||
"systemRole": {
|
||||
"id": "2085904500719734785",
|
||||
"code": "ADMIN_ACCEPT_808014241953"
|
||||
},
|
||||
"systemUser": {
|
||||
"membershipId": "2085904502246461444",
|
||||
"username": "admin_accept_808014241953",
|
||||
"finalStatus": "DISABLED"
|
||||
}
|
||||
},
|
||||
"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": "4c49a105-97ea-4dea-8fee-0736c80c118a, 72186a54-d723-44bb-9d17-fc19f6ea8a02",
|
||||
"traceId": "67f637fdf2d441748c50d3de0b8cb354",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:42.320Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "查询菜单权限资源",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e36f26a6-bc74-4948-9af7-bf3c492a40e0, a591dd23-109a-4a02-9279-19b6d0227c59",
|
||||
"traceId": "8377b21d52d44447911e167eae2ac593",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:42.376Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "权限资源返回数组",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e36f26a6-bc74-4948-9af7-bf3c492a40e0, a591dd23-109a-4a02-9279-19b6d0227c59",
|
||||
"traceId": "8377b21d52d44447911e167eae2ac593",
|
||||
"evidence": "count=117",
|
||||
"checkedAt": "2026-08-08T01:42:42.376Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "创建自定义权限资源",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f48c31c1-3964-4472-bf35-c95b0dd825fe, 7d789d67-c137-4ff3-9320-f2c401480661",
|
||||
"traceId": "5de16dae865440ddaae00d5fe095c028",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:42.422Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "权限创建字段正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f48c31c1-3964-4472-bf35-c95b0dd825fe, 7d789d67-c137-4ff3-9320-f2c401480661",
|
||||
"traceId": "5de16dae865440ddaae00d5fe095c028",
|
||||
"evidence": "permissionId=2085904500002508801",
|
||||
"checkedAt": "2026-08-08T01:42:42.422Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "编辑自定义权限资源",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085904500002508801"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "11a26c6b-6bee-41ec-8cd7-3d9fac7dca0f, 0c63ba1f-5132-4b4b-a16a-a7fa213872d0",
|
||||
"traceId": "585636101cf84d279a9970c7f1dbd719",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:42.469Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "权限编辑正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085904500002508801"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "11a26c6b-6bee-41ec-8cd7-3d9fac7dca0f, 0c63ba1f-5132-4b4b-a16a-a7fa213872d0",
|
||||
"traceId": "585636101cf84d279a9970c7f1dbd719",
|
||||
"evidence": "permissionId=2085904500002508801",
|
||||
"checkedAt": "2026-08-08T01:42:42.470Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "停用自定义权限",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085904500002508801/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f62d27df-0be8-41b8-88c3-73cecd3181ee, ea26caa1-a419-446c-b69a-379e623a57d0",
|
||||
"traceId": "142ba41e18454d84893bf68e1d283d4d",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:42.512Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "权限状态回显 DISABLED",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085904500002508801/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f62d27df-0be8-41b8-88c3-73cecd3181ee, ea26caa1-a419-446c-b69a-379e623a57d0",
|
||||
"traceId": "142ba41e18454d84893bf68e1d283d4d",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T01:42:42.512Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "启用自定义权限",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085904500002508801/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "313b41b0-85e4-4c89-9cd1-00170e341923, 3db0b9af-4cb3-4150-825f-3cfafd49afb9",
|
||||
"traceId": "37f04009ef6c4689b3c9079d58017cf1",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:42.557Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "权限状态回显 ACTIVE",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085904500002508801/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "313b41b0-85e4-4c89-9cd1-00170e341923, 3db0b9af-4cb3-4150-825f-3cfafd49afb9",
|
||||
"traceId": "37f04009ef6c4689b3c9079d58017cf1",
|
||||
"evidence": "status=ACTIVE",
|
||||
"checkedAt": "2026-08-08T01:42:42.557Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "创建平台自定义角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/roles"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "8511affb-21aa-4323-9f68-1685c6f236cb, 46d1d027-ce93-46f2-b0a1-6d7eb866d4b8",
|
||||
"traceId": "a1a643e9f6754cde95fc3c2c41bd7ba8",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:42.595Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色创建字段正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/roles"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "8511affb-21aa-4323-9f68-1685c6f236cb, 46d1d027-ce93-46f2-b0a1-6d7eb866d4b8",
|
||||
"traceId": "a1a643e9f6754cde95fc3c2c41bd7ba8",
|
||||
"evidence": "roleId=2085904500719734785",
|
||||
"checkedAt": "2026-08-08T01:42:42.595Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "编辑平台自定义角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085904500719734785"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "fce1fefc-38bb-4ccd-99a9-fc26ad81ec82, 7c15617e-2dab-48d7-b3ab-ecf90d56e5f2",
|
||||
"traceId": "dbc1a05a1a7f44eea694561a34fe227d",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:42.644Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色编辑正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085904500719734785"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "fce1fefc-38bb-4ccd-99a9-fc26ad81ec82, 7c15617e-2dab-48d7-b3ab-ecf90d56e5f2",
|
||||
"traceId": "dbc1a05a1a7f44eea694561a34fe227d",
|
||||
"evidence": "roleId=2085904500719734785",
|
||||
"checkedAt": "2026-08-08T01:42:42.644Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色全量保存权限",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "fcb6411b-ba1c-4bf3-977d-ef826667c70a, f4205f34-944d-49a4-870b-f2e301a68f98",
|
||||
"traceId": "64504abb7fd248a288d14251aec09d16",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:42.690Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "回查平台角色列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/roles"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d06e1ae9-d9db-49a2-bbc0-09fcbea5d3d9, 62f3ee28-4b68-4de5-b702-be727085ab5a",
|
||||
"traceId": "3dae813f3d9a4433b2244c2e142ac4f8",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:42.722Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色权限 ID 正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/roles"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d06e1ae9-d9db-49a2-bbc0-09fcbea5d3d9, 62f3ee28-4b68-4de5-b702-be727085ab5a",
|
||||
"traceId": "3dae813f3d9a4433b2244c2e142ac4f8",
|
||||
"evidence": "permissionIds=2085904500002508801",
|
||||
"checkedAt": "2026-08-08T01:42:42.723Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "停用自定义角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085904500719734785/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ca6f833c-988a-4a5f-b6ee-22c83382d1f5, 1dd1994b-cf4e-4f29-b339-12472455c830",
|
||||
"traceId": "ff4a67a10c31417c81c9104a0711a7f8",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:42.768Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色状态回显 DISABLED",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085904500719734785/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ca6f833c-988a-4a5f-b6ee-22c83382d1f5, 1dd1994b-cf4e-4f29-b339-12472455c830",
|
||||
"traceId": "ff4a67a10c31417c81c9104a0711a7f8",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T01:42:42.768Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "启用自定义角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085904500719734785/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "cadd6dab-03cb-444a-ba06-fdf5b86b590f, 63df40e8-b0db-4a47-bd03-5c0c368d2cb5",
|
||||
"traceId": "06d30283bd724e808f13cfad977a2774",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:42.809Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色状态回显 ACTIVE",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085904500719734785/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "cadd6dab-03cb-444a-ba06-fdf5b86b590f, 63df40e8-b0db-4a47-bd03-5c0c368d2cb5",
|
||||
"traceId": "06d30283bd724e808f13cfad977a2774",
|
||||
"evidence": "status=ACTIVE",
|
||||
"checkedAt": "2026-08-08T01:42:42.809Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "查询内部用户可选平台角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/users/options"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e33e566e-3092-46da-86cb-c474c8df6d0b, c29248bd-1584-4274-a8d6-14ed0968cf1c",
|
||||
"traceId": "793d2b8ee3ed4a179ee1476be55ca06b",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:42.853Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "用户选项包含平台与测试角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/users/options"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e33e566e-3092-46da-86cb-c474c8df6d0b, c29248bd-1584-4274-a8d6-14ed0968cf1c",
|
||||
"traceId": "793d2b8ee3ed4a179ee1476be55ca06b",
|
||||
"evidence": "tenants=1, roles=5",
|
||||
"checkedAt": "2026-08-08T01:42:42.853Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "检查测试联系电话可用性",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16153362853"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "71fbc173-8c2f-42cd-a90f-66da41cd0f90, fdc437e8-6a73-4da1-8825-0da398a57849",
|
||||
"traceId": "d8b5129ade20418fa8b33dfb7d70d994",
|
||||
"evidence": "attempt=1",
|
||||
"checkedAt": "2026-08-08T01:42:42.908Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "创建平台内部用户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/users"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f62c3b70-358e-4c0d-9ab8-87818d12fcb7, ef8398dd-3382-4746-a392-b514e79bcf36",
|
||||
"traceId": "07c0df68cf2c470f816cbf06d1220f29",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:43.300Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "内部用户账号、平台范围和角色正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/users"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f62c3b70-358e-4c0d-9ab8-87818d12fcb7, ef8398dd-3382-4746-a392-b514e79bcf36",
|
||||
"traceId": "07c0df68cf2c470f816cbf06d1220f29",
|
||||
"evidence": "membershipId=2085904502246461444",
|
||||
"checkedAt": "2026-08-08T01:42:43.300Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "按账号查询平台内部用户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/users?page=1&size=20&keyword=admin_accept_808014241953"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "24d51f86-af43-4a2a-b953-f9bcb57f1639, dfe7e908-1437-48dd-ba63-ac82d87291ff",
|
||||
"traceId": "553ba9d384834849aa038240a317c3e3",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:43.346Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "用户列表包含新账号且字段完整",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/users?page=1&size=20&keyword=admin_accept_808014241953"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "24d51f86-af43-4a2a-b953-f9bcb57f1639, dfe7e908-1437-48dd-ba63-ac82d87291ff",
|
||||
"traceId": "553ba9d384834849aa038240a317c3e3",
|
||||
"evidence": "records=1",
|
||||
"checkedAt": "2026-08-08T01:42:43.346Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "编辑平台内部用户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085904502246461444"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "68357647-6e2c-477b-bca6-355c2ac8c336, 8abe4456-e213-449d-8f95-f5a7aa8cd269",
|
||||
"traceId": "3db6a0906cbe4a84a6857fb4e7f36590",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:43.511Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "用户编辑正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085904502246461444"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "68357647-6e2c-477b-bca6-355c2ac8c336, 8abe4456-e213-449d-8f95-f5a7aa8cd269",
|
||||
"traceId": "3db6a0906cbe4a84a6857fb4e7f36590",
|
||||
"evidence": "membershipId=2085904502246461444",
|
||||
"checkedAt": "2026-08-08T01:42:43.511Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "新建内部用户可使用初始密码登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5511e82f-3d3e-4684-b19e-fd546995d376, 922bfcd5-e74f-4301-8109-341b9f0f4c70",
|
||||
"traceId": "cbb48c8b80814e8ab54653d07691886d",
|
||||
"evidence": "username=admin_accept_808014241953",
|
||||
"checkedAt": "2026-08-08T01:42:43.854Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "重置平台内部用户密码",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085904502246461444/password"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6c82688d-5c61-42b0-898e-df93f46472c1, f4814fac-39a0-4274-9d7e-1b4622b3c253",
|
||||
"traceId": "7a921093f9254c74bdee43dbb4d4fed4",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:44.270Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "内部用户使用重置密码登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f0ba5839-c929-46b1-b88d-3b9efd55631f, a1f453b3-e0e4-48e1-af8b-f39e8e329d33",
|
||||
"traceId": "29e4cadeb808446bbea7ce36dc0e8c1d",
|
||||
"evidence": "username=admin_accept_808014241953",
|
||||
"checkedAt": "2026-08-08T01:42:44.608Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "清空测试用户角色",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085904502246461444"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0400",
|
||||
"message": "请选择角色",
|
||||
"requestId": "395f3729-59d8-4318-8635-2e982d65689b",
|
||||
"traceId": "939f0b64578644f48ad600c6c71945ef",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:44.635Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "测试用户角色已清空",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085904502246461444"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0400",
|
||||
"message": "请选择角色",
|
||||
"requestId": "395f3729-59d8-4318-8635-2e982d65689b",
|
||||
"traceId": "939f0b64578644f48ad600c6c71945ef",
|
||||
"evidence": "roleCount=n/a",
|
||||
"checkedAt": "2026-08-08T01:42:44.635Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "停用平台内部用户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085904502246461444/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "40821960-2d23-48db-8e38-a8ccf2e86bfa, abe3d3aa-b6e5-4c0c-ac15-e504bf62755e",
|
||||
"traceId": "8fd0f9b1fd6c43a188373514dd8608a1",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:44.763Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "内部用户停用状态正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085904502246461444/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "40821960-2d23-48db-8e38-a8ccf2e86bfa, abe3d3aa-b6e5-4c0c-ac15-e504bf62755e",
|
||||
"traceId": "8fd0f9b1fd6c43a188373514dd8608a1",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T01:42:44.763Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "停用用户禁止登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0403",
|
||||
"message": "账号已禁用",
|
||||
"requestId": "1f6bc9f9-775d-48fe-98da-ce14dda250bd",
|
||||
"traceId": "2dcc3aa5601b45ed9156cc891a552355",
|
||||
"evidence": "HTTP=200, code=A0403",
|
||||
"checkedAt": "2026-08-08T01:42:44.784Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "清空测试角色权限",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "bbbeb1a1-67aa-460e-98b1-a1812794bca2, 10868182-906f-46ac-8748-ca18bfce29a8",
|
||||
"traceId": "ebe468e6eb214e0d8e34d2e2ba59c883",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:44.829Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "删除临时测试角色",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "DELETE",
|
||||
"path": "/api/platform/v1/iam/roles/2085904500719734785"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "角色已分配给成员,不能删除",
|
||||
"requestId": "b3b98661-969b-415c-a3f9-2a1f70157be7",
|
||||
"traceId": "0e2cbc17e3a74107af588bda5a93af0e",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:44.870Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "删除临时权限资源",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "DELETE",
|
||||
"path": "/api/platform/v1/iam/permissions/2085904500002508801"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "eef358f2-dcd2-40db-86ce-bf615ad78de7, b6858e45-82fc-4e16-94ac-2b25c056d16f",
|
||||
"traceId": "921ba4d6c2cd46779d63851ae9b1617e",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:42:44.907Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,740 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808014935078",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T01:49:35.989Z",
|
||||
"startedAt": "2026-08-08T01:49:35.078Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 38,
|
||||
"passed": 31,
|
||||
"failed": 7
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "customers",
|
||||
"startedAt": "2026-08-08T01:49:35.449Z",
|
||||
"finishedAt": "2026-08-08T01:49:35.989Z",
|
||||
"success": false,
|
||||
"passed": 30,
|
||||
"failed": 7,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "customer-dimension-rules",
|
||||
"module": "customers",
|
||||
"success": true,
|
||||
"deploymentBlocked": false,
|
||||
"passed": 13,
|
||||
"failed": 0
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [],
|
||||
"createdResources": {
|
||||
"customer": {
|
||||
"tenantId": "2085906232656908290",
|
||||
"marker": "ADMIN-API-20260808014935078",
|
||||
"contactPhone": "16153775449"
|
||||
}
|
||||
},
|
||||
"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": "a720a97c-bbdd-4de5-89de-b48a88173ee3, 5b4d1342-f103-468c-a99f-88cb1fba5f1b",
|
||||
"traceId": "af52909ad7e145c9a94cbe28b895aa3b",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:49:35.449Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "检查测试联系电话可用性",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16153775449"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a1184143-913e-4721-8321-74a93b3a71ee, bbd21c85-e5ed-4011-9414-638be1043067",
|
||||
"traceId": "2821f39b6a94496ebc93303e54f46dae",
|
||||
"evidence": "attempt=1",
|
||||
"checkedAt": "2026-08-08T01:49:35.491Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "创建客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9cda04a4-3646-4f69-9c01-aebd7118fd22, bab83655-d9b4-4420-aecf-aa01328d6a30",
|
||||
"traceId": "b6aca188f51f4455a145a1782677f971",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:49:35.531Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "创建响应客户字段完整",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9cda04a4-3646-4f69-9c01-aebd7118fd22, bab83655-d9b4-4420-aecf-aa01328d6a30",
|
||||
"traceId": "b6aca188f51f4455a145a1782677f971",
|
||||
"evidence": "missing=unifiedSocialCreditCode,approvedAt",
|
||||
"checkedAt": "2026-08-08T01:49:35.531Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "新客户基础字段正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9cda04a4-3646-4f69-9c01-aebd7118fd22, bab83655-d9b4-4420-aecf-aa01328d6a30",
|
||||
"traceId": "b6aca188f51f4455a145a1782677f971",
|
||||
"evidence": "tenantId=2085906232656908290, status=PROFILE_REQUIRED",
|
||||
"checkedAt": "2026-08-08T01:49:35.531Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "创建客户生成初始密码",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9cda04a4-3646-4f69-9c01-aebd7118fd22, bab83655-d9b4-4420-aecf-aa01328d6a30",
|
||||
"traceId": "b6aca188f51f4455a145a1782677f971",
|
||||
"evidence": "generated=false, length=0",
|
||||
"checkedAt": "2026-08-08T01:49:35.531Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "管理员用户名默认使用联系电话",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9cda04a4-3646-4f69-9c01-aebd7118fd22, bab83655-d9b4-4420-aecf-aa01328d6a30",
|
||||
"traceId": "b6aca188f51f4455a145a1782677f971",
|
||||
"evidence": "matches=false",
|
||||
"checkedAt": "2026-08-08T01:49:35.531Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "新客户尺寸规则可查询",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3a9fab6f-d233-49ce-9671-ee18d65c6d17, 14909cd4-8d05-4406-8ef3-1bff5303a410",
|
||||
"traceId": "837808a650b4498dabac6a48b9c8d91b",
|
||||
"evidence": "tenantId=2085906232656908290",
|
||||
"checkedAt": "2026-08-08T01:49:35.569Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "固定四箱规顺序完整且无重复",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3a9fab6f-d233-49ce-9671-ee18d65c6d17, 14909cd4-8d05-4406-8ef3-1bff5303a410",
|
||||
"traceId": "837808a650b4498dabac6a48b9c8d91b",
|
||||
"evidence": "count=4, order=SMALL,MEDIUM,LARGE,EXTRA_LARGE",
|
||||
"checkedAt": "2026-08-08T01:49:35.569Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "四箱规默认内径、加边和备注正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3a9fab6f-d233-49ce-9671-ee18d65c6d17, 14909cd4-8d05-4406-8ef3-1bff5303a410",
|
||||
"traceId": "837808a650b4498dabac6a48b9c8d91b",
|
||||
"evidence": "defaults=matched",
|
||||
"checkedAt": "2026-08-08T01:49:35.569Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "客户 ID、规则 ID 为字符串且初始版本为0",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3a9fab6f-d233-49ce-9671-ee18d65c6d17, 14909cd4-8d05-4406-8ef3-1bff5303a410",
|
||||
"traceId": "837808a650b4498dabac6a48b9c8d91b",
|
||||
"evidence": "groupTenantIdType=string, rows=string/v0,string/v0,string/v0,string/v0",
|
||||
"checkedAt": "2026-08-08T01:49:35.569Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "默认规则外径与 HALF_UP 三位 CBM 正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3a9fab6f-d233-49ce-9671-ee18d65c6d17, 14909cd4-8d05-4406-8ef3-1bff5303a410",
|
||||
"traceId": "837808a650b4498dabac6a48b9c8d91b",
|
||||
"evidence": "derivedRows=4",
|
||||
"checkedAt": "2026-08-08T01:49:35.569Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "PUT 每行只发送约定7字段并整组保存",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3a9fab6f-d233-49ce-9671-ee18d65c6d17, 14909cd4-8d05-4406-8ef3-1bff5303a410",
|
||||
"traceId": "837808a650b4498dabac6a48b9c8d91b",
|
||||
"evidence": "fields=boxType,innerLengthCm,innerWidthCm,innerHeightCm,edgeAdditionCm,remark,version",
|
||||
"checkedAt": "2026-08-08T01:49:35.569Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "一次 PUT 保存四条三位小数规则",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0a02678d-9b08-481c-83fd-e49aca8f95d1, f80c147e-57d2-48d2-87bd-41e7cfc20ec9",
|
||||
"traceId": "d7d775ad69294342a0fa7ecab51f0371",
|
||||
"evidence": "rows=4",
|
||||
"checkedAt": "2026-08-08T01:49:35.610Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "修改后四行版本+1且派生外径/CBM正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0a02678d-9b08-481c-83fd-e49aca8f95d1, f80c147e-57d2-48d2-87bd-41e7cfc20ec9",
|
||||
"traceId": "d7d775ad69294342a0fa7ecab51f0371",
|
||||
"evidence": "versions=1,1,1,1",
|
||||
"checkedAt": "2026-08-08T01:49:35.610Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "旧 version 重放 PUT 返回冲突",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "箱规尺寸配置已被修改,请刷新后重试",
|
||||
"requestId": "66ea1f92-f817-495f-b853-7cd32cca4c6c",
|
||||
"traceId": "c7eccaf37e5541f6bd7e862858e585e1",
|
||||
"evidence": "HTTP=200, code=A0409",
|
||||
"checkedAt": "2026-08-08T01:49:35.648Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "冲突后重新查询四条规则",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "333d1f5e-57a0-4ff8-a206-8f928bae7aa3, 4029e9ab-3e95-46e5-856e-687d3769e02b",
|
||||
"traceId": "0d610b96e002491fa9877bf1e8a17531",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:49:35.674Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "冲突请求未造成四行部分更新",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "333d1f5e-57a0-4ff8-a206-8f928bae7aa3, 4029e9ab-3e95-46e5-856e-687d3769e02b",
|
||||
"traceId": "0d610b96e002491fa9877bf1e8a17531",
|
||||
"evidence": "unchangedRows=4",
|
||||
"checkedAt": "2026-08-08T01:49:35.674Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "恢复本轮修改前的四箱规配置",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "94733cd5-bdae-4180-8718-28e6ab4a1403, bc0f1db1-9cee-49ec-94e3-ebb3edce4a6e",
|
||||
"traceId": "bc83db99ee44415c88262aeda0c5986e",
|
||||
"evidence": "restore=original-values",
|
||||
"checkedAt": "2026-08-08T01:49:35.718Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "尺寸规则恢复后回显与初始值一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "94733cd5-bdae-4180-8718-28e6ab4a1403, bc0f1db1-9cee-49ec-94e3-ebb3edce4a6e",
|
||||
"traceId": "bc83db99ee44415c88262aeda0c5986e",
|
||||
"evidence": "restoredRows=4",
|
||||
"checkedAt": "2026-08-08T01:49:35.718Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "查询客户列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants?page=1&size=20&keyword=%E5%90%8E%E5%8F%B0%E5%AE%A2%E6%88%B7%E9%AA%8C%E6%94%B6-808014935078"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b15d5d78-27cb-4f70-9539-bc9782fa9d4d, becba750-039d-45f3-9232-d234a0822d75",
|
||||
"traceId": "b164e91b4b5d4a71b0e33f7a58547796",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:49:35.761Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "列表包含新客户且字段完整",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants?page=1&size=20&keyword=%E5%90%8E%E5%8F%B0%E5%AE%A2%E6%88%B7%E9%AA%8C%E6%94%B6-808014935078"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b15d5d78-27cb-4f70-9539-bc9782fa9d4d, becba750-039d-45f3-9232-d234a0822d75",
|
||||
"traceId": "b164e91b4b5d4a71b0e33f7a58547796",
|
||||
"evidence": "found=true, missing=unifiedSocialCreditCode,approvedAt",
|
||||
"checkedAt": "2026-08-08T01:49:35.761Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "查询客户详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "aa331679-497b-4007-a2fb-da56e3cbbad4, f446df9f-2e1b-4d83-add1-89bd202e044b",
|
||||
"traceId": "8b3768d937bf40fc95d56ad6d113a018",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:49:35.786Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户详情基本信息正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "aa331679-497b-4007-a2fb-da56e3cbbad4, f446df9f-2e1b-4d83-add1-89bd202e044b",
|
||||
"traceId": "8b3768d937bf40fc95d56ad6d113a018",
|
||||
"evidence": "tenantId=2085906232656908290",
|
||||
"checkedAt": "2026-08-08T01:49:35.786Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "编辑客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "52b27de8-d911-4e28-bf4e-6f0336de347a, 8fd191d9-9086-4947-809b-9566cfa8ef3f",
|
||||
"traceId": "60335ad877ce4f2aab22a4b7a46ddea6",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:49:35.822Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户编辑正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "52b27de8-d911-4e28-bf4e-6f0336de347a, 8fd191d9-9086-4947-809b-9566cfa8ef3f",
|
||||
"traceId": "60335ad877ce4f2aab22a4b7a46ddea6",
|
||||
"evidence": "tenantId=2085906232656908290",
|
||||
"checkedAt": "2026-08-08T01:49:35.822Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "回查客户编辑结果",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "dddb9214-4e49-4700-a8c1-1b3251c1f770, c178d727-427f-498e-b9a2-53c147ce1d0f",
|
||||
"traceId": "fa9b09a40152434ca0b84fed609b8135",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:49:35.847Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户编辑已持久化",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "dddb9214-4e49-4700-a8c1-1b3251c1f770, c178d727-427f-498e-b9a2-53c147ce1d0f",
|
||||
"traceId": "fa9b09a40152434ca0b84fed609b8135",
|
||||
"evidence": "tenantId=2085906232656908290",
|
||||
"checkedAt": "2026-08-08T01:49:35.847Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况查询资质",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085906232656908290/qualifications"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "128ff201-0f6a-414e-9795-de0096fb3651, cd73f145-57fe-4868-ac80-2f17fe43e736",
|
||||
"traceId": "3f8cc6b956e642bfae01be933562bcb5",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:49:35.868Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "资质概况结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085906232656908290/qualifications"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "128ff201-0f6a-414e-9795-de0096fb3651, cd73f145-57fe-4868-ac80-2f17fe43e736",
|
||||
"traceId": "3f8cc6b956e642bfae01be933562bcb5",
|
||||
"evidence": "count=0",
|
||||
"checkedAt": "2026-08-08T01:49:35.868Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况查询成员",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085906232656908290/members"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "86b6120a-8875-4d54-8d31-be87136912a3, 004d2843-40b5-4f24-90d5-0a50fbfbff6a",
|
||||
"traceId": "f209e87c6de4499d88c225d417aae147",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:49:35.895Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "联系电话账号是企业管理员",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085906232656908290/members"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "86b6120a-8875-4d54-8d31-be87136912a3, 004d2843-40b5-4f24-90d5-0a50fbfbff6a",
|
||||
"traceId": "f209e87c6de4499d88c225d417aae147",
|
||||
"evidence": "ownerFound=false, matches=false",
|
||||
"checkedAt": "2026-08-08T01:49:35.895Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况查询运单数量",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/tenant-counts?tenantIds=2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a1628f1c-7c0e-487e-9c73-bdb947e5b097, 7a56c8b1-45b6-43d1-a375-04b7931031d1",
|
||||
"traceId": "a4702c0bc393445d9c87382fcb0b0967",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:49:35.927Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况返回当前客户运单数",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/tenant-counts?tenantIds=2085906232656908290"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a1628f1c-7c0e-487e-9c73-bdb947e5b097, 7a56c8b1-45b6-43d1-a375-04b7931031d1",
|
||||
"traceId": "a4702c0bc393445d9c87382fcb0b0967",
|
||||
"evidence": "orderCount=0",
|
||||
"checkedAt": "2026-08-08T01:49:35.927Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "查询客户运单记录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=2085906232656908290&page=1&size=10"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a451cd7f-d4ee-47e2-97cd-5a901cd94601, adc8098d-f2d4-4d63-aaf1-4de7bb39b09b",
|
||||
"traceId": "6d7fff06ac24421e81fa29ff76d01452",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:49:35.961Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "运单记录分页结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=2085906232656908290&page=1&size=10"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a451cd7f-d4ee-47e2-97cd-5a901cd94601, adc8098d-f2d4-4d63-aaf1-4de7bb39b09b",
|
||||
"traceId": "6d7fff06ac24421e81fa29ff76d01452",
|
||||
"evidence": "records=0, total=0",
|
||||
"checkedAt": "2026-08-08T01:49:35.961Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "停用客户",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085906232656908290/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "Tenant status must be changed through review / 当前租户状态必须通过审核流程变更",
|
||||
"requestId": "523dda29-c36f-4292-b9f6-f8ff11252cf8",
|
||||
"traceId": "d090c5e0512a485bb22b5747efe031c1",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:49:35.989Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户停用状态正确",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085906232656908290/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "Tenant status must be changed through review / 当前租户状态必须通过审核流程变更",
|
||||
"requestId": "523dda29-c36f-4292-b9f6-f8ff11252cf8",
|
||||
"traceId": "d090c5e0512a485bb22b5747efe031c1",
|
||||
"evidence": "status=missing",
|
||||
"checkedAt": "2026-08-08T01:49:35.989Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,813 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808015022476",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T01:50:25.152Z",
|
||||
"startedAt": "2026-08-08T01:50:22.476Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 42,
|
||||
"passed": 41,
|
||||
"failed": 1
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "system",
|
||||
"startedAt": "2026-08-08T01:50:22.852Z",
|
||||
"finishedAt": "2026-08-08T01:50:25.152Z",
|
||||
"success": false,
|
||||
"passed": 40,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [],
|
||||
"deploymentBlockers": [],
|
||||
"createdResources": {
|
||||
"systemPermission": {
|
||||
"id": "2085906431492083713",
|
||||
"code": "platform:acceptance:808015022476"
|
||||
},
|
||||
"systemRole": {
|
||||
"id": "2085906432268029954",
|
||||
"code": "ADMIN_ACCEPT_808015022476",
|
||||
"finalStatus": "DISABLED",
|
||||
"retainedBecauseAssigned": true
|
||||
},
|
||||
"systemUser": {
|
||||
"membershipId": "2085906433278857219",
|
||||
"username": "admin_accept_808015022476",
|
||||
"finalStatus": "DISABLED"
|
||||
}
|
||||
},
|
||||
"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": "3862d908-e909-4dcf-b5d6-68c35c601997, 647660f1-adf0-4904-944b-825865155384",
|
||||
"traceId": "05faac27686a4a039e64d757e0edd8e2",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:22.851Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "查询菜单权限资源",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "bc73da56-d8c6-4615-8925-35bd8c7fa80a, a42ef0ae-7ec7-43a3-855b-6942be136e1e",
|
||||
"traceId": "2e7511f2161a43768f9657a203c8433b",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:22.898Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "权限资源返回数组",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "bc73da56-d8c6-4615-8925-35bd8c7fa80a, a42ef0ae-7ec7-43a3-855b-6942be136e1e",
|
||||
"traceId": "2e7511f2161a43768f9657a203c8433b",
|
||||
"evidence": "count=117",
|
||||
"checkedAt": "2026-08-08T01:50:22.898Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "创建自定义权限资源",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7ea9f445-9c49-4d4e-aa08-da5a1c43625e, 49dd870b-d91c-4d1c-b331-dfc83546aeb7",
|
||||
"traceId": "eb56fb23c9894fd0be9ad81c740bbef6",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:22.924Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "权限创建字段正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7ea9f445-9c49-4d4e-aa08-da5a1c43625e, 49dd870b-d91c-4d1c-b331-dfc83546aeb7",
|
||||
"traceId": "eb56fb23c9894fd0be9ad81c740bbef6",
|
||||
"evidence": "permissionId=2085906431492083713",
|
||||
"checkedAt": "2026-08-08T01:50:22.924Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "编辑自定义权限资源",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085906431492083713"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "557ae432-4a69-4fbe-aaec-cfb8aa9dad96, eb9bd580-1281-4374-a1f6-11ef3e688a4e",
|
||||
"traceId": "1750b227fa944d4cb7da19a7ec3f34bd",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:22.962Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "权限编辑正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085906431492083713"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "557ae432-4a69-4fbe-aaec-cfb8aa9dad96, eb9bd580-1281-4374-a1f6-11ef3e688a4e",
|
||||
"traceId": "1750b227fa944d4cb7da19a7ec3f34bd",
|
||||
"evidence": "permissionId=2085906431492083713",
|
||||
"checkedAt": "2026-08-08T01:50:22.962Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "停用自定义权限",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085906431492083713/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "416a1c59-2f93-4a5d-97b0-a74fbd8641f5, f4327630-ab04-4de6-8e67-10c6f79026e1",
|
||||
"traceId": "ecf8f3f2dccd4aeeb1d44720c6a51fbe",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:23.001Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "权限状态回显 DISABLED",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085906431492083713/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "416a1c59-2f93-4a5d-97b0-a74fbd8641f5, f4327630-ab04-4de6-8e67-10c6f79026e1",
|
||||
"traceId": "ecf8f3f2dccd4aeeb1d44720c6a51fbe",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T01:50:23.001Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "启用自定义权限",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085906431492083713/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b2c70c80-3b83-47b5-836f-34ab2c25e844, 88c210bd-8da4-4918-a4ad-864d3b5f5feb",
|
||||
"traceId": "b3aa4cb6548f474e81170fa29ee8adfb",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:23.069Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "权限状态回显 ACTIVE",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085906431492083713/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b2c70c80-3b83-47b5-836f-34ab2c25e844, 88c210bd-8da4-4918-a4ad-864d3b5f5feb",
|
||||
"traceId": "b3aa4cb6548f474e81170fa29ee8adfb",
|
||||
"evidence": "status=ACTIVE",
|
||||
"checkedAt": "2026-08-08T01:50:23.069Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "创建平台自定义角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/roles"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b8cd050d-4490-4e67-a8b1-ae1863ae9a19, 185c5c9e-00f9-4eb2-879e-ef1c6787ed8a",
|
||||
"traceId": "c4bee06eed6643259949d1b59cae4b58",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:23.109Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色创建字段正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/roles"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b8cd050d-4490-4e67-a8b1-ae1863ae9a19, 185c5c9e-00f9-4eb2-879e-ef1c6787ed8a",
|
||||
"traceId": "c4bee06eed6643259949d1b59cae4b58",
|
||||
"evidence": "roleId=2085906432268029954",
|
||||
"checkedAt": "2026-08-08T01:50:23.109Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "编辑平台自定义角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085906432268029954"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "de9e5362-ba53-464a-b075-b5f4a4a1b2f9, a7db41c4-a7a4-4b1d-8da3-82eb84976501",
|
||||
"traceId": "8bf00a4b81db436f8f8e0d9eb4fc7504",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:23.143Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色编辑正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085906432268029954"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "de9e5362-ba53-464a-b075-b5f4a4a1b2f9, a7db41c4-a7a4-4b1d-8da3-82eb84976501",
|
||||
"traceId": "8bf00a4b81db436f8f8e0d9eb4fc7504",
|
||||
"evidence": "roleId=2085906432268029954",
|
||||
"checkedAt": "2026-08-08T01:50:23.143Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色全量保存权限",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "34652c0f-68e0-409b-a81b-a3fde1b0d5c7, 8098de9a-eb28-45df-ba7e-4fcc9da6a94f",
|
||||
"traceId": "2d873144d1764ace820c412ef5e066f7",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:23.173Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "回查平台角色列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/roles"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9c1d3e76-699d-4062-aa05-a829f59f981b, cf50013d-e46a-46fa-8ab8-2f44916365de",
|
||||
"traceId": "471a3378e73449f9bd7cd364cf348ba8",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:23.202Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色权限 ID 正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/roles"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9c1d3e76-699d-4062-aa05-a829f59f981b, cf50013d-e46a-46fa-8ab8-2f44916365de",
|
||||
"traceId": "471a3378e73449f9bd7cd364cf348ba8",
|
||||
"evidence": "permissionIds=2085906431492083713",
|
||||
"checkedAt": "2026-08-08T01:50:23.202Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "停用自定义角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085906432268029954/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c00aeb09-dfe3-4b2b-86e4-867d6fb6a3da, 04173951-61d9-404e-ba2d-82e280dec6c0",
|
||||
"traceId": "4a3dd5ce3e6b47ce898a1de3c8db5929",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:23.234Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色状态回显 DISABLED",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085906432268029954/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c00aeb09-dfe3-4b2b-86e4-867d6fb6a3da, 04173951-61d9-404e-ba2d-82e280dec6c0",
|
||||
"traceId": "4a3dd5ce3e6b47ce898a1de3c8db5929",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T01:50:23.234Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "启用自定义角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085906432268029954/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "90d3d0d3-6278-419d-80dc-8dd8e1871441, 5967fcdb-e915-453e-ad2e-659684c2e5a5",
|
||||
"traceId": "d26b4ae497674a8a807fa665e299bf66",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:23.266Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色状态回显 ACTIVE",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085906432268029954/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "90d3d0d3-6278-419d-80dc-8dd8e1871441, 5967fcdb-e915-453e-ad2e-659684c2e5a5",
|
||||
"traceId": "d26b4ae497674a8a807fa665e299bf66",
|
||||
"evidence": "status=ACTIVE",
|
||||
"checkedAt": "2026-08-08T01:50:23.266Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "查询内部用户可选平台角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/users/options"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "897baa98-b6e3-4342-9663-ae755aae520d, 211f9d91-4ddd-4bcf-b772-79ca675fc7b2",
|
||||
"traceId": "f18aa7f583a647dfae2e8c48f9a1b489",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:23.285Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "用户选项包含平台与测试角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/users/options"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "897baa98-b6e3-4342-9663-ae755aae520d, 211f9d91-4ddd-4bcf-b772-79ca675fc7b2",
|
||||
"traceId": "f18aa7f583a647dfae2e8c48f9a1b489",
|
||||
"evidence": "tenants=1, roles=6",
|
||||
"checkedAt": "2026-08-08T01:50:23.285Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "检查测试联系电话可用性",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16153823285"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "fbf33fe4-75f6-438c-99ba-47549ce8805d, ad6022b9-2efb-473c-8c3e-ae48d7aec604",
|
||||
"traceId": "c98156b1b6474dfba62afe560033c39d",
|
||||
"evidence": "attempt=1",
|
||||
"checkedAt": "2026-08-08T01:50:23.325Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "创建平台内部用户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/users"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "05181309-123d-48e7-88b1-d7c1515dfd85, 906d753a-6606-4bf8-a021-3546ac271d68",
|
||||
"traceId": "ef3b6ac399b04f3ba218a91ddaff4011",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:23.667Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "内部用户账号、平台范围和角色正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/users"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "05181309-123d-48e7-88b1-d7c1515dfd85, 906d753a-6606-4bf8-a021-3546ac271d68",
|
||||
"traceId": "ef3b6ac399b04f3ba218a91ddaff4011",
|
||||
"evidence": "membershipId=2085906433278857219",
|
||||
"checkedAt": "2026-08-08T01:50:23.667Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "按账号查询平台内部用户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/users?page=1&size=20&keyword=admin_accept_808015022476"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f7e19766-1a3b-453d-8da7-2ee7c6bb9510, 2d8f661c-adac-4b65-b387-c32fe416cf99",
|
||||
"traceId": "e9f4feff9de64dda8249da5c4f5c2997",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:23.706Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "用户列表包含新账号且字段完整",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/users?page=1&size=20&keyword=admin_accept_808015022476"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f7e19766-1a3b-453d-8da7-2ee7c6bb9510, 2d8f661c-adac-4b65-b387-c32fe416cf99",
|
||||
"traceId": "e9f4feff9de64dda8249da5c4f5c2997",
|
||||
"evidence": "records=1, missing=lastLoginAt",
|
||||
"checkedAt": "2026-08-08T01:50:23.706Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "编辑平台内部用户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085906433278857219"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "dab4bc55-e9b9-43ac-a441-60c5db913e8b, 68579859-a9ec-4c0f-b88a-dfe3c6ecb943",
|
||||
"traceId": "bf625720e0ed48d7be260c96e3cc52dd",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:23.835Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "用户编辑正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085906433278857219"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "dab4bc55-e9b9-43ac-a441-60c5db913e8b, 68579859-a9ec-4c0f-b88a-dfe3c6ecb943",
|
||||
"traceId": "bf625720e0ed48d7be260c96e3cc52dd",
|
||||
"evidence": "membershipId=2085906433278857219",
|
||||
"checkedAt": "2026-08-08T01:50:23.835Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "新建内部用户可使用初始密码登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2900cbe1-03b4-47b0-8a36-9d35f8b501a5, d9ca3bfd-63a5-4f55-a4f0-23f787c9fad9",
|
||||
"traceId": "ff4db6c1b70143a0896632987c607028",
|
||||
"evidence": "username=admin_accept_808015022476",
|
||||
"checkedAt": "2026-08-08T01:50:24.172Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "重置平台内部用户密码",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085906433278857219/password"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5394ac6a-39a7-4cbd-8585-15e5e4b7b5b2, 5a848ca0-e0be-4202-90b8-349ea139b66d",
|
||||
"traceId": "b7400d39555e4e6882c48fb51881962d",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:24.555Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "内部用户使用重置密码登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ef5a94f0-5441-4949-b1b9-a35b13b91171, 0d027de5-7a79-48ea-8e9a-67520119945e",
|
||||
"traceId": "bdc5956b70af4c07a21d1a920a6a03cb",
|
||||
"evidence": "username=admin_accept_808015022476",
|
||||
"checkedAt": "2026-08-08T01:50:24.896Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "停用平台内部用户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085906433278857219/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c33b0953-838a-4588-a812-3a1562b1a152, 1d240a0b-da43-4022-8448-f665d545a340",
|
||||
"traceId": "b63b36a345524296b83418827c1e0c74",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:25.006Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "内部用户停用状态正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085906433278857219/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c33b0953-838a-4588-a812-3a1562b1a152, 1d240a0b-da43-4022-8448-f665d545a340",
|
||||
"traceId": "b63b36a345524296b83418827c1e0c74",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T01:50:25.006Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "停用用户禁止登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0403",
|
||||
"message": "账号已禁用",
|
||||
"requestId": "7cdffebc-71dc-4936-af2b-c84587e57d35",
|
||||
"traceId": "e9e240b4f20648bcb9a3cfaf5b635936",
|
||||
"evidence": "HTTP=200, code=A0403",
|
||||
"checkedAt": "2026-08-08T01:50:25.038Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "清空测试角色权限",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ca6af757-c870-4edb-ae7e-b52f66a660f7, 51a8a91f-b0ca-4604-a589-2d96ae867f0b",
|
||||
"traceId": "715a9dde2e6f4506ae9d119022912fd7",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:25.063Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": "system-role-protection",
|
||||
"name": "已分配成员的角色禁止删除",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "DELETE",
|
||||
"path": "/api/platform/v1/iam/roles/2085906432268029954"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "角色已分配给成员,不能删除",
|
||||
"requestId": "36ff0f03-e18a-460d-bb4f-74f9840abb0a",
|
||||
"traceId": "9a3784e25d9e4caf9f5fd5b1a6a6c589",
|
||||
"evidence": "HTTP=200, code=A0409",
|
||||
"checkedAt": "2026-08-08T01:50:25.086Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "清理时停用测试角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085906432268029954/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9f6fe407-f7f4-48ad-bf20-321b4f51940b, 5122341b-9884-40b1-bd83-efd4aa63ddf7",
|
||||
"traceId": "2c07306a4f8341c8a50a1b622b0f782d",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:25.113Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "保留测试角色处于停用状态",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085906432268029954/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9f6fe407-f7f4-48ad-bf20-321b4f51940b, 5122341b-9884-40b1-bd83-efd4aa63ddf7",
|
||||
"traceId": "2c07306a4f8341c8a50a1b622b0f782d",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T01:50:25.113Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "删除临时权限资源",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "DELETE",
|
||||
"path": "/api/platform/v1/iam/permissions/2085906431492083713"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9a131c57-5b58-4520-b57b-4ce11b97c6c1, 87535aa2-341f-42d0-bb2f-9d2473e2c2d6",
|
||||
"traceId": "d38da0cbdff043e2a02941e7c22b5aa7",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:50:25.152Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,813 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808015100919",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T01:51:03.556Z",
|
||||
"startedAt": "2026-08-08T01:51:00.919Z",
|
||||
"success": true,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 42,
|
||||
"passed": 42,
|
||||
"failed": 0
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "system",
|
||||
"startedAt": "2026-08-08T01:51:01.288Z",
|
||||
"finishedAt": "2026-08-08T01:51:03.556Z",
|
||||
"success": true,
|
||||
"passed": 41,
|
||||
"failed": 0,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [],
|
||||
"deploymentBlockers": [],
|
||||
"createdResources": {
|
||||
"systemPermission": {
|
||||
"id": "2085906592846958593",
|
||||
"code": "platform:acceptance:808015100919"
|
||||
},
|
||||
"systemRole": {
|
||||
"id": "2085906593333497857",
|
||||
"code": "ADMIN_ACCEPT_808015100919",
|
||||
"finalStatus": "DISABLED",
|
||||
"retainedBecauseAssigned": true
|
||||
},
|
||||
"systemUser": {
|
||||
"membershipId": "2085906594386268164",
|
||||
"username": "admin_accept_808015100919",
|
||||
"finalStatus": "DISABLED"
|
||||
}
|
||||
},
|
||||
"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": "c46fca94-1309-46aa-95e9-1b784448858e, ad409e6c-e6cf-4d53-a116-9158de60164d",
|
||||
"traceId": "7fd072801f5642758e684535cda2a566",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:01.287Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "查询菜单权限资源",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "fcb82450-2a21-40f2-9d97-527c3e5a6d3c, 3e8612e4-9644-4124-a1ad-5b73fc0c5583",
|
||||
"traceId": "eb96c9d48c3044d1a2930934b117397b",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:01.357Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "权限资源返回数组",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "fcb82450-2a21-40f2-9d97-527c3e5a6d3c, 3e8612e4-9644-4124-a1ad-5b73fc0c5583",
|
||||
"traceId": "eb96c9d48c3044d1a2930934b117397b",
|
||||
"evidence": "count=117",
|
||||
"checkedAt": "2026-08-08T01:51:01.357Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "创建自定义权限资源",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "659e3afe-fa3c-497e-88f2-c2837c98cbb4, d974ee1d-789f-4d85-a526-c983f88ddb50",
|
||||
"traceId": "0650e78de8a149469f0bad90d49744b4",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:01.394Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "权限创建字段正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "659e3afe-fa3c-497e-88f2-c2837c98cbb4, d974ee1d-789f-4d85-a526-c983f88ddb50",
|
||||
"traceId": "0650e78de8a149469f0bad90d49744b4",
|
||||
"evidence": "permissionId=2085906592846958593",
|
||||
"checkedAt": "2026-08-08T01:51:01.394Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "编辑自定义权限资源",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085906592846958593"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d15875fe-d1a6-49f9-85d5-5eea9cf63784, 47bcb4f1-6e67-40ca-bf51-5c211b201830",
|
||||
"traceId": "9ec6e12e915d4ee6b25f294ecab3fa04",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:01.423Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "权限编辑正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085906592846958593"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d15875fe-d1a6-49f9-85d5-5eea9cf63784, 47bcb4f1-6e67-40ca-bf51-5c211b201830",
|
||||
"traceId": "9ec6e12e915d4ee6b25f294ecab3fa04",
|
||||
"evidence": "permissionId=2085906592846958593",
|
||||
"checkedAt": "2026-08-08T01:51:01.423Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "停用自定义权限",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085906592846958593/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f0ffa2ab-b69a-40ba-85a9-d086b04fe728, 93c33865-bcf0-4343-9211-c4a8409dcf2b",
|
||||
"traceId": "0e02ae7bf28f4a82a345d2b7ed48f0af",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:01.452Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "权限状态回显 DISABLED",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085906592846958593/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f0ffa2ab-b69a-40ba-85a9-d086b04fe728, 93c33865-bcf0-4343-9211-c4a8409dcf2b",
|
||||
"traceId": "0e02ae7bf28f4a82a345d2b7ed48f0af",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T01:51:01.452Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "启用自定义权限",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085906592846958593/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d4d761c9-49f0-4ade-84df-0a1e49a35719, 909949c9-bab9-40e3-a55b-f2b1caa70fd7",
|
||||
"traceId": "310e92cf8eda446680090988b6d445b6",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:01.483Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "权限状态回显 ACTIVE",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/permissions/2085906592846958593/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d4d761c9-49f0-4ade-84df-0a1e49a35719, 909949c9-bab9-40e3-a55b-f2b1caa70fd7",
|
||||
"traceId": "310e92cf8eda446680090988b6d445b6",
|
||||
"evidence": "status=ACTIVE",
|
||||
"checkedAt": "2026-08-08T01:51:01.483Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "创建平台自定义角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/roles"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "245ccb89-2c4f-4e4b-90e2-b71e56e15853, d676f5fa-865b-4dc9-b41a-6f04fae2d40b",
|
||||
"traceId": "95d1980bca0b4eebbc29e54ca1f2fb80",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:01.510Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色创建字段正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/roles"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "245ccb89-2c4f-4e4b-90e2-b71e56e15853, d676f5fa-865b-4dc9-b41a-6f04fae2d40b",
|
||||
"traceId": "95d1980bca0b4eebbc29e54ca1f2fb80",
|
||||
"evidence": "roleId=2085906593333497857",
|
||||
"checkedAt": "2026-08-08T01:51:01.510Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "编辑平台自定义角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085906593333497857"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "99058303-5cc8-4284-b7ea-c600de0ad937, fa5ead52-af51-45a6-bde0-1baa763ad519",
|
||||
"traceId": "b989dc3a137e4c72b99853b066c1eca4",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:01.547Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色编辑正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085906593333497857"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "99058303-5cc8-4284-b7ea-c600de0ad937, fa5ead52-af51-45a6-bde0-1baa763ad519",
|
||||
"traceId": "b989dc3a137e4c72b99853b066c1eca4",
|
||||
"evidence": "roleId=2085906593333497857",
|
||||
"checkedAt": "2026-08-08T01:51:01.547Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色全量保存权限",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3a5b503f-d9bc-4dc2-87e8-6bda92f02bb0, b0ec509c-b230-4d27-9c2c-5d40105f3a66",
|
||||
"traceId": "47e3da73f3bc44e9bcd984ab00e14637",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:01.579Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "回查平台角色列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/roles"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9858f207-aca4-4ece-b3b3-cea34d3ba860, a4e495b3-9f0a-42dc-98a0-af5fe656b966",
|
||||
"traceId": "e63feb304286400a8fa373ca7591ad07",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:01.607Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色权限 ID 正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/roles"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9858f207-aca4-4ece-b3b3-cea34d3ba860, a4e495b3-9f0a-42dc-98a0-af5fe656b966",
|
||||
"traceId": "e63feb304286400a8fa373ca7591ad07",
|
||||
"evidence": "permissionIds=2085906592846958593",
|
||||
"checkedAt": "2026-08-08T01:51:01.607Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "停用自定义角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085906593333497857/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ec78442e-7ba6-4be6-b69c-8ea64185c5bf, 8eb982bb-61d9-4dc3-9c96-91f92875bda4",
|
||||
"traceId": "8ab508205d914b2284375d8da6b7970a",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:01.633Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色状态回显 DISABLED",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085906593333497857/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ec78442e-7ba6-4be6-b69c-8ea64185c5bf, 8eb982bb-61d9-4dc3-9c96-91f92875bda4",
|
||||
"traceId": "8ab508205d914b2284375d8da6b7970a",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T01:51:01.633Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "启用自定义角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085906593333497857/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5c80676b-4394-4961-858c-f497c4b27081, 7ec30864-f9a5-4df0-addc-2c0f840feb17",
|
||||
"traceId": "c384c297cf864eefa3566b7d09b11fee",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:01.670Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "角色状态回显 ACTIVE",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085906593333497857/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5c80676b-4394-4961-858c-f497c4b27081, 7ec30864-f9a5-4df0-addc-2c0f840feb17",
|
||||
"traceId": "c384c297cf864eefa3566b7d09b11fee",
|
||||
"evidence": "status=ACTIVE",
|
||||
"checkedAt": "2026-08-08T01:51:01.670Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "查询内部用户可选平台角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/users/options"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "13acee9f-902f-4539-8da0-99f3797b5bc1, 8b394968-d7ff-4258-91b2-c31a5a2d7909",
|
||||
"traceId": "d1c5595ce5cb4442bf6bd0e1b0e25870",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:01.696Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "用户选项包含平台与测试角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/users/options"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "13acee9f-902f-4539-8da0-99f3797b5bc1, 8b394968-d7ff-4258-91b2-c31a5a2d7909",
|
||||
"traceId": "d1c5595ce5cb4442bf6bd0e1b0e25870",
|
||||
"evidence": "tenants=1, roles=7",
|
||||
"checkedAt": "2026-08-08T01:51:01.696Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "检查测试联系电话可用性",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16153861696"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d1698183-b833-48f2-9c0d-4505d4378b23, 402a4e7c-72e6-441c-8270-f2b45cb9b513",
|
||||
"traceId": "f644e76d31f34c8ba554b469333e968a",
|
||||
"evidence": "attempt=1",
|
||||
"checkedAt": "2026-08-08T01:51:01.729Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "创建平台内部用户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/users"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "cdd4805b-c311-44c9-bf48-06574d45cf22, b3489347-6716-4e7a-a08f-03a4c96b8268",
|
||||
"traceId": "e0a99588c6354a2a90b29003ace78b98",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:02.087Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "内部用户账号、平台范围和角色正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/users"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "cdd4805b-c311-44c9-bf48-06574d45cf22, b3489347-6716-4e7a-a08f-03a4c96b8268",
|
||||
"traceId": "e0a99588c6354a2a90b29003ace78b98",
|
||||
"evidence": "membershipId=2085906594386268164",
|
||||
"checkedAt": "2026-08-08T01:51:02.088Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "按账号查询平台内部用户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/users?page=1&size=20&keyword=admin_accept_808015100919"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "8c02a4f1-3c13-4a6e-a4d9-b034b0080015, ddeac472-31bd-4d30-8a7e-d57b8189414d",
|
||||
"traceId": "ae4a6a1ad8304042b7d736fbd3a065a7",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:02.133Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "用户列表包含新账号且字段完整",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/users?page=1&size=20&keyword=admin_accept_808015100919"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "8c02a4f1-3c13-4a6e-a4d9-b034b0080015, ddeac472-31bd-4d30-8a7e-d57b8189414d",
|
||||
"traceId": "ae4a6a1ad8304042b7d736fbd3a065a7",
|
||||
"evidence": "records=1, missing=none, lastLoginAt=omitted",
|
||||
"checkedAt": "2026-08-08T01:51:02.133Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "编辑平台内部用户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085906594386268164"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d578d25c-e92b-4a49-a31d-568814b1eb61, 6e5ba8ec-e4a3-47ca-8b13-7d87c705e965",
|
||||
"traceId": "cd97d23a1d3f461ca100bf5f12230ca5",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:02.243Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "用户编辑正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085906594386268164"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d578d25c-e92b-4a49-a31d-568814b1eb61, 6e5ba8ec-e4a3-47ca-8b13-7d87c705e965",
|
||||
"traceId": "cd97d23a1d3f461ca100bf5f12230ca5",
|
||||
"evidence": "membershipId=2085906594386268164",
|
||||
"checkedAt": "2026-08-08T01:51:02.243Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "新建内部用户可使用初始密码登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "8571d9e4-f96a-4443-a87c-32eb55f091cb, b784af8d-f8c7-4090-8214-c12baf001725",
|
||||
"traceId": "144d89ec70de4973978f6c74459281b1",
|
||||
"evidence": "username=admin_accept_808015100919",
|
||||
"checkedAt": "2026-08-08T01:51:02.583Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "重置平台内部用户密码",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085906594386268164/password"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "eb8fd540-afb8-471b-9f07-d4ccc67a4116, 976d8f22-2ead-4d73-8453-29d7bf275026",
|
||||
"traceId": "4c6f4ce003d34a0c9f8664ba0827d15c",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:02.962Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "内部用户使用重置密码登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "124f7055-ac54-477b-a05f-66bfbc99dde8, 382be9db-ccfe-4768-a3bc-1c01488b50dd",
|
||||
"traceId": "b5997c34877e40fb9e3b537bc0dfc6d9",
|
||||
"evidence": "username=admin_accept_808015100919",
|
||||
"checkedAt": "2026-08-08T01:51:03.296Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "停用平台内部用户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085906594386268164/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "af59e590-1033-410a-aa8b-fd8eb16c3dcc, 272075fb-6736-4a83-af07-35984e48208f",
|
||||
"traceId": "5d1830a60ecd43aab91ebcfd1a5c84c0",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:03.397Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "内部用户停用状态正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/users/2085906594386268164/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "af59e590-1033-410a-aa8b-fd8eb16c3dcc, 272075fb-6736-4a83-af07-35984e48208f",
|
||||
"traceId": "5d1830a60ecd43aab91ebcfd1a5c84c0",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T01:51:03.397Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "停用用户禁止登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0403",
|
||||
"message": "账号已禁用",
|
||||
"requestId": "29944df8-91e3-44a1-9fd6-db763cf82590",
|
||||
"traceId": "ea8ef8687c444375998445cbeb888643",
|
||||
"evidence": "HTTP=200, code=A0403",
|
||||
"checkedAt": "2026-08-08T01:51:03.426Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "清空测试角色权限",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/permissions"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d3537c80-d23e-46e8-b18d-3d4447cc4083, e1285a3b-6ae6-47ca-bff3-da2ee98ae697",
|
||||
"traceId": "6ce1bb2efc2c43bebe413f83096e969c",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:03.469Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": "system-role-protection",
|
||||
"name": "已分配成员的角色禁止删除",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "DELETE",
|
||||
"path": "/api/platform/v1/iam/roles/2085906593333497857"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "角色已分配给成员,不能删除",
|
||||
"requestId": "b03df360-5159-4d7d-aee6-56b8b17f96aa",
|
||||
"traceId": "0742aa6eee464fbba7dd2ba3f4551636",
|
||||
"evidence": "HTTP=200, code=A0409",
|
||||
"checkedAt": "2026-08-08T01:51:03.491Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "清理时停用测试角色",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085906593333497857/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7cb0f80b-5a00-4c22-9c4f-28b3b67ade9f, 70a6b1f3-1d1d-4646-b099-b26b14d794fd",
|
||||
"traceId": "e070173b00714448b1e969e4ed63a2a9",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:03.527Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "保留测试角色处于停用状态",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/roles/2085906593333497857/status"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7cb0f80b-5a00-4c22-9c4f-28b3b67ade9f, 70a6b1f3-1d1d-4646-b099-b26b14d794fd",
|
||||
"traceId": "e070173b00714448b1e969e4ed63a2a9",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T01:51:03.527Z"
|
||||
},
|
||||
{
|
||||
"module": "system",
|
||||
"scenario": null,
|
||||
"name": "删除临时权限资源",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "DELETE",
|
||||
"path": "/api/platform/v1/iam/permissions/2085906592846958593"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1878c927-e1b6-41ef-8c4b-db2c6226fcc2, d6376a43-5105-4ddc-a4fb-e703b59bfcc1",
|
||||
"traceId": "a9968e4afb2c403aa3956be6624f7fe0",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:03.556Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,841 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808015112686",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T01:51:15.306Z",
|
||||
"startedAt": "2026-08-08T01:51:12.686Z",
|
||||
"success": true,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 43,
|
||||
"passed": 43,
|
||||
"failed": 0
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "master-data",
|
||||
"startedAt": "2026-08-08T01:51:13.053Z",
|
||||
"finishedAt": "2026-08-08T01:51:15.306Z",
|
||||
"success": true,
|
||||
"passed": 42,
|
||||
"failed": 0,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [],
|
||||
"deploymentBlockers": [],
|
||||
"createdResources": {
|
||||
"warehouse": {
|
||||
"id": "2085906642714542081",
|
||||
"code": "AW808015112686",
|
||||
"finalStatus": "INACTIVE"
|
||||
},
|
||||
"location": {
|
||||
"id": "2085906643662454786",
|
||||
"warehouseId": "2085906642714542081",
|
||||
"deleted": false
|
||||
},
|
||||
"pallet": {
|
||||
"id": "2085906644723613697",
|
||||
"warehouseId": "2085906642714542081",
|
||||
"deleted": true
|
||||
},
|
||||
"expressCompany": {
|
||||
"id": "2085906645604417538",
|
||||
"code": "EX808015112686",
|
||||
"finalStatus": "INACTIVE"
|
||||
},
|
||||
"partner": {
|
||||
"id": "2085906646594273281",
|
||||
"code": "PT808015112686",
|
||||
"finalStatus": "INACTIVE"
|
||||
}
|
||||
},
|
||||
"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": "1ef641c7-79de-4ed6-a839-c0d7b54d717c, 99bc9d62-a3ad-44ed-b466-e370c97bac9f",
|
||||
"traceId": "187deb804f5b4f28aa6e0e7c19ba604e",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.052Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "查询平台仓库列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/warehouse-admin?page=1&size=20"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1ae69a26-fab4-463a-bd0a-f879e5b7f042, 2ecb0dd3-d8df-476c-a3a8-078f7a321ab0",
|
||||
"traceId": "6b0170d887dd4f84b75cef71c8a1f10b",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.136Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "仓库列表分页结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/warehouse-admin?page=1&size=20"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1ae69a26-fab4-463a-bd0a-f879e5b7f042, 2ecb0dd3-d8df-476c-a3a8-078f7a321ab0",
|
||||
"traceId": "6b0170d887dd4f84b75cef71c8a1f10b",
|
||||
"evidence": "total=266",
|
||||
"checkedAt": "2026-08-08T01:51:13.136Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "创建平台公共仓库",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/warehouse-admin"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1fe78ad4-d10c-42f7-93a7-261ca921c160, e1526cc7-30cc-4cef-b55b-0482ade19bcc",
|
||||
"traceId": "3de321d1858a43ada9fb2b8967ed6658",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.308Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "仓库创建返回字符串兼容 ID",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/warehouse-admin"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1fe78ad4-d10c-42f7-93a7-261ca921c160, e1526cc7-30cc-4cef-b55b-0482ade19bcc",
|
||||
"traceId": "3de321d1858a43ada9fb2b8967ed6658",
|
||||
"evidence": "warehouseId=2085906642714542081",
|
||||
"checkedAt": "2026-08-08T01:51:13.308Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "查询平台仓库详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/warehouse-admin/2085906642714542081?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "802a5696-3011-4321-8e04-ca01d1b9ce73, b98b5f8e-bd09-4a62-bb5a-cf434c76286c",
|
||||
"traceId": "d47debad2dfa4ebc95ccef7e543513a9",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.339Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "仓库详情、地址和能力正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/warehouse-admin/2085906642714542081?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "802a5696-3011-4321-8e04-ca01d1b9ce73, b98b5f8e-bd09-4a62-bb5a-cf434c76286c",
|
||||
"traceId": "d47debad2dfa4ebc95ccef7e543513a9",
|
||||
"evidence": "addresses=1, capabilities=1",
|
||||
"checkedAt": "2026-08-08T01:51:13.339Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "编辑平台仓库",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/warehouse-admin/2085906642714542081?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7f3b45a4-01ef-47cf-aa46-68381336214a, 3168722f-b184-45c2-be32-05445e6d7184",
|
||||
"traceId": "5abea76955804f938bd792150e700dba",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.414Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "回查编辑后的平台仓库",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/warehouse-admin/2085906642714542081?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "283efed9-6562-4e6e-bc9f-0f469b01c5b3, fc291ee4-c263-422c-8c03-54e7178ecd06",
|
||||
"traceId": "78b247e6f3f94a8887b57e7a92544b19",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.445Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "仓库编辑已持久化",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/warehouse-admin/2085906642714542081?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "283efed9-6562-4e6e-bc9f-0f469b01c5b3, fc291ee4-c263-422c-8c03-54e7178ecd06",
|
||||
"traceId": "78b247e6f3f94a8887b57e7a92544b19",
|
||||
"evidence": "warehouseId=2085906642714542081",
|
||||
"checkedAt": "2026-08-08T01:51:13.445Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "创建仓库库位",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/locations?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ba671a58-75ac-43fe-bf44-d12b3092957b, ee3d0f31-1d17-4a5a-9585-64d13a96e08a",
|
||||
"traceId": "7cb020a4ed944d5db972080de5c78204",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.512Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "查询库位详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/locations/2085906643662454786?tenantId=0&warehouseId=2085906642714542081"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0c11050f-ade1-4bfa-b953-1f19c22afe3e, db448a60-956d-4994-8f47-a6bd9b44ce42",
|
||||
"traceId": "e14a466068504819b64c8cdf2cd9de69",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.543Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "库位详情关联正确仓库",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/locations/2085906643662454786?tenantId=0&warehouseId=2085906642714542081"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0c11050f-ade1-4bfa-b953-1f19c22afe3e, db448a60-956d-4994-8f47-a6bd9b44ce42",
|
||||
"traceId": "e14a466068504819b64c8cdf2cd9de69",
|
||||
"evidence": "locationId=2085906643662454786",
|
||||
"checkedAt": "2026-08-08T01:51:13.543Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "编辑库位",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/locations/2085906643662454786?tenantId=0&warehouseId=2085906642714542081"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "09909b24-5a09-49a1-8440-b3dc6db25dab, dd165f85-9ba9-4b8a-b8ad-cd38890c6b33",
|
||||
"traceId": "82ebaf3f05f1458da4d226643bf90ca8",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.599Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "回查编辑后的库位",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/locations/2085906643662454786?tenantId=0&warehouseId=2085906642714542081"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "48cf9423-205f-4e60-a50f-a5cf2d917ddc, b1e193c6-dae3-45b4-a489-47fb42b18629",
|
||||
"traceId": "ef46e900c9364dc082a0f5dc4e214940",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.629Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "库位编辑与版本递增正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/locations/2085906643662454786?tenantId=0&warehouseId=2085906642714542081"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "48cf9423-205f-4e60-a50f-a5cf2d917ddc, b1e193c6-dae3-45b4-a489-47fb42b18629",
|
||||
"traceId": "ef46e900c9364dc082a0f5dc4e214940",
|
||||
"evidence": "version=1",
|
||||
"checkedAt": "2026-08-08T01:51:13.629Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "停用库位",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PATCH",
|
||||
"path": "/api/platform/v1/locations/2085906643662454786/status?tenantId=0&warehouseId=2085906642714542081"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e1d6ae58-c6ea-4961-b8c7-6d5366f92218, bde78f2c-1629-4c7e-a3ee-a88da44457de",
|
||||
"traceId": "15cd0ef443b943cba3ff0814e7eaed18",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.667Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "删除未占用测试库位",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "DELETE",
|
||||
"path": "/api/platform/v1/locations/2085906643662454786?tenantId=0&warehouseId=2085906642714542081&version=2"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9be3228a-c600-4f3f-8377-ef51f638f26d, dc648e93-bf03-4816-987a-be105ad9163e",
|
||||
"traceId": "23726e294a754bb1a201fd0fee6ee8e8",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.703Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "创建仓库托盘",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/pallets?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3d8e81f4-5354-4545-af6f-99cab01bbfd8, ca6733c2-f6b6-43bb-b496-119f856589f6",
|
||||
"traceId": "09ee75d6fb414c1887f4a548479df789",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.762Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "查询托盘详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/pallets/2085906644723613697?tenantId=0&warehouseId=2085906642714542081"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "816ef3e3-35ba-40a4-842e-d7b2f6e08c32, cc15e9f1-85c2-4d6b-835e-ed9b355bc6d5",
|
||||
"traceId": "80bbf30816024e3892436f9b37d80870",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.803Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "托盘详情关联正确仓库",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/pallets/2085906644723613697?tenantId=0&warehouseId=2085906642714542081"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "816ef3e3-35ba-40a4-842e-d7b2f6e08c32, cc15e9f1-85c2-4d6b-835e-ed9b355bc6d5",
|
||||
"traceId": "80bbf30816024e3892436f9b37d80870",
|
||||
"evidence": "palletId=2085906644723613697",
|
||||
"checkedAt": "2026-08-08T01:51:13.803Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "编辑托盘",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/pallets/2085906644723613697?tenantId=0&warehouseId=2085906642714542081"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1e663a9d-4ad5-4067-931c-524c8f684414, 49952e54-7b84-43a2-b4ba-e5cd66a618a5",
|
||||
"traceId": "a537bb9bf0ec4b2b89c6d5006cd5159a",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.850Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "回查编辑后的托盘",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/pallets/2085906644723613697?tenantId=0&warehouseId=2085906642714542081"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6b85ce32-cd57-4969-a7fe-7fa5a73a1d6d, b1ba3cb3-eebc-491a-9e4a-9d71fc43eda6",
|
||||
"traceId": "712dc29aacfb4621ad11cd93feb22617",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.873Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "托盘编辑已持久化",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/pallets/2085906644723613697?tenantId=0&warehouseId=2085906642714542081"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6b85ce32-cd57-4969-a7fe-7fa5a73a1d6d, b1ba3cb3-eebc-491a-9e4a-9d71fc43eda6",
|
||||
"traceId": "712dc29aacfb4621ad11cd93feb22617",
|
||||
"evidence": "palletId=2085906644723613697",
|
||||
"checkedAt": "2026-08-08T01:51:13.873Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "删除未使用测试托盘",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "DELETE",
|
||||
"path": "/api/platform/v1/pallets/2085906644723613697?tenantId=0&warehouseId=2085906642714542081"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "bef950ad-0c47-446a-ac22-dfe274c94e9f, 178851f2-542f-4eaa-90ca-7292edeaf2c5",
|
||||
"traceId": "57a9b30f3b2643428f10e07e04f27514",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.915Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "创建快递公司",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/express-companies?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d45dac88-ddf2-4fcf-8d1f-32903d3603aa, 06b5cf45-bddc-48eb-8e35-8c37f702a7ca",
|
||||
"traceId": "39e3e7beddb34ca8a685dacd1ac8bdc8",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.973Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "查询快递公司详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/express-companies/2085906645604417538?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3e791401-a620-45cb-8a98-6133ede11869, 9d0c5a8c-d86a-464d-aceb-e6d7302dfb27",
|
||||
"traceId": "d6c304ef339e4be9ad2e9575c4eff3ea",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:13.999Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "快递公司详情正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/express-companies/2085906645604417538?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3e791401-a620-45cb-8a98-6133ede11869, 9d0c5a8c-d86a-464d-aceb-e6d7302dfb27",
|
||||
"traceId": "d6c304ef339e4be9ad2e9575c4eff3ea",
|
||||
"evidence": "expressId=2085906645604417538",
|
||||
"checkedAt": "2026-08-08T01:51:13.999Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "编辑快递公司",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/express-companies/2085906645604417538?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c5a387ec-8b2d-4f92-b9fc-2da20d060feb, 70157926-52be-4e58-9307-59052ae5b78c",
|
||||
"traceId": "4ecc9cc89233433bb6e5a6f2ddaab2dd",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:14.038Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "停用快递公司",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PATCH",
|
||||
"path": "/api/platform/v1/express-companies/2085906645604417538/status?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "062601e2-5dba-487c-bb19-a428aa763c78, bac5717a-fc6e-4313-bfda-5464f0fcefcc",
|
||||
"traceId": "fe0d135c3fc04fcd827df6c6908714c6",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:14.085Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "筛选快递公司列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/express-companies?page=1&size=20&keyword=EX808015112686"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "98298dab-4669-4fce-924e-697302d27af8, a1ae79b5-8300-492c-9bff-0da660607e0b",
|
||||
"traceId": "d2b00bf84ec6475685c4d5be1c264c62",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:14.145Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "快递公司列表回显停用状态",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/express-companies?page=1&size=20&keyword=EX808015112686"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "98298dab-4669-4fce-924e-697302d27af8, a1ae79b5-8300-492c-9bff-0da660607e0b",
|
||||
"traceId": "d2b00bf84ec6475685c4d5be1c264c62",
|
||||
"evidence": "records=1",
|
||||
"checkedAt": "2026-08-08T01:51:14.146Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "创建往来单位",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/partners?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c9af27f3-7013-4d13-a72a-2d6eed35db71, 359738bc-ee6f-48c4-8f85-ab615a070995",
|
||||
"traceId": "3566029c1c784e91a85c4b9d31eb832d",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:14.211Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "查询往来单位详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/partners/2085906646594273281?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1730bb54-5f1c-4f0c-bf13-4ea61e620314, 1e4b9158-35d2-42a7-a7ad-f53e2569fa7a",
|
||||
"traceId": "52baa99de51647158df9c0f8fe2b63b3",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:14.248Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "往来单位详情正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/partners/2085906646594273281?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1730bb54-5f1c-4f0c-bf13-4ea61e620314, 1e4b9158-35d2-42a7-a7ad-f53e2569fa7a",
|
||||
"traceId": "52baa99de51647158df9c0f8fe2b63b3",
|
||||
"evidence": "partnerId=2085906646594273281",
|
||||
"checkedAt": "2026-08-08T01:51:14.248Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "编辑往来单位",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/partners/2085906646594273281?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ac0bef92-9d28-4a11-aa2c-5a5dbd33f6a1, fd05b54a-716c-42e3-9434-a0630dd7457c",
|
||||
"traceId": "e9f7a126a0a14e95bd04bc6b1bc78f3a",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:14.293Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "停用往来单位",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PATCH",
|
||||
"path": "/api/platform/v1/partners/2085906646594273281/status?tenantId=0"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d0f760bf-9f17-4eb1-a780-f8820b87a9a1, d2a490be-2378-48e1-a3d0-7ab449e5f951",
|
||||
"traceId": "a736d8e144f345a2bf4f9c48d1def321",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:14.332Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "筛选往来单位列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/partners?page=1&size=20&keyword=PT808015112686"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "907f44fe-f8b8-44bf-85ab-a0c69f2478ad, 7e717103-216c-4b38-a994-9531746c2940",
|
||||
"traceId": "cdf53bd68d3c409c95146f6c7b559124",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:14.377Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "往来单位列表回显编辑与停用状态",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/partners?page=1&size=20&keyword=PT808015112686"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "907f44fe-f8b8-44bf-85ab-a0c69f2478ad, 7e717103-216c-4b38-a994-9531746c2940",
|
||||
"traceId": "cdf53bd68d3c409c95146f6c7b559124",
|
||||
"evidence": "records=1",
|
||||
"checkedAt": "2026-08-08T01:51:14.377Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "下载仓库导入模板",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/warehouse-admin/import-template"
|
||||
},
|
||||
"http": 200,
|
||||
"code": null,
|
||||
"message": "3852 bytes (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)",
|
||||
"requestId": "b2f6a827-8145-47f9-9278-3a487a7949dc, bb227b6e-4e7c-4edd-b397-c5688c23a629",
|
||||
"traceId": "e1a8c949a58c45a2857eb13320a1bd84",
|
||||
"evidence": "bytes=3852, contentType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
||||
"checkedAt": "2026-08-08T01:51:14.927Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "下载快递公司导入模板",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/express-companies/import-template"
|
||||
},
|
||||
"http": 200,
|
||||
"code": null,
|
||||
"message": "3691 bytes (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)",
|
||||
"requestId": "ae4dd7e8-09be-45d4-9726-300b6b2825fc, 7a6fb2f3-9d61-4262-890a-1b2b4edd8284",
|
||||
"traceId": "b8f1e4fdceff484a8f2c8bd33a49bc94",
|
||||
"evidence": "bytes=3691, contentType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
||||
"checkedAt": "2026-08-08T01:51:15.223Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "下载往来单位导入模板",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/partners/import-template"
|
||||
},
|
||||
"http": 200,
|
||||
"code": null,
|
||||
"message": "3829 bytes (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)",
|
||||
"requestId": "da616cb4-1d1c-4b3f-a425-8a9dd76f79b0, fdf996ea-64b5-4d96-a957-9ce287d5b044",
|
||||
"traceId": "c1e4777d7d48439990fba23346a450df",
|
||||
"evidence": "bytes=3829, contentType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
||||
"checkedAt": "2026-08-08T01:51:15.270Z"
|
||||
},
|
||||
{
|
||||
"module": "master-data",
|
||||
"scenario": null,
|
||||
"name": "停用测试仓库",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PATCH",
|
||||
"path": "/api/platform/v1/warehouse-admin/2085906642714542081/status?tenantId=0&status=INACTIVE"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e4156701-dfb5-477d-a308-bb5705d6d162, b0134658-c2ba-493c-ab64-8fb10c10b25d",
|
||||
"traceId": "ff955ad956bc49e384fb9435aa3f8ab9",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:15.306Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,207 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808015123816",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T01:51:28.649Z",
|
||||
"startedAt": "2026-08-08T01:51:23.816Z",
|
||||
"success": true,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 9,
|
||||
"passed": 9,
|
||||
"failed": 0
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "downloads",
|
||||
"startedAt": "2026-08-08T01:51:24.193Z",
|
||||
"finishedAt": "2026-08-08T01:51:28.649Z",
|
||||
"success": true,
|
||||
"passed": 8,
|
||||
"failed": 0,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [],
|
||||
"deploymentBlockers": [],
|
||||
"createdResources": {
|
||||
"exportTask": {
|
||||
"id": "2085906689023344642"
|
||||
}
|
||||
},
|
||||
"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": "f224e2f6-ed1e-4ce9-9269-9809e39b9c24, 44b6a750-78af-4f48-b492-53014903ebcc",
|
||||
"traceId": "091531d115f0450c897615089b74c4e8",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:24.192Z"
|
||||
},
|
||||
{
|
||||
"module": "downloads",
|
||||
"scenario": null,
|
||||
"name": "创建客户列表导出任务",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/files/export-tasks"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6a036de6-e397-42af-85d5-982b86363291, 6aad9d95-aafa-429d-8a31-3d1e96838613",
|
||||
"traceId": "b6c05bc1c62e4e41af77f633473386b4",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:24.339Z"
|
||||
},
|
||||
{
|
||||
"module": "downloads",
|
||||
"scenario": null,
|
||||
"name": "导出任务创建字段正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/files/export-tasks"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6a036de6-e397-42af-85d5-982b86363291, 6aad9d95-aafa-429d-8a31-3d1e96838613",
|
||||
"traceId": "b6c05bc1c62e4e41af77f633473386b4",
|
||||
"evidence": "taskId=2085906689023344642, status=PENDING",
|
||||
"checkedAt": "2026-08-08T01:51:24.339Z"
|
||||
},
|
||||
{
|
||||
"module": "downloads",
|
||||
"scenario": null,
|
||||
"name": "查询下载中心任务列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/files/export-tasks?page=1&size=20&exportType=CUSTOMER_LIST"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1b323f47-c5b7-4d9d-869f-d4dbf3e750fe, 1b7f8e83-9958-44c4-940f-ad4079d85fb7",
|
||||
"traceId": "3dbbff1c6e4140eba6b61a8a14eea612",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:24.458Z"
|
||||
},
|
||||
{
|
||||
"module": "downloads",
|
||||
"scenario": null,
|
||||
"name": "下载中心列表包含新任务",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/files/export-tasks?page=1&size=20&exportType=CUSTOMER_LIST"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1b323f47-c5b7-4d9d-869f-d4dbf3e750fe, 1b7f8e83-9958-44c4-940f-ad4079d85fb7",
|
||||
"traceId": "3dbbff1c6e4140eba6b61a8a14eea612",
|
||||
"evidence": "records=3",
|
||||
"checkedAt": "2026-08-08T01:51:24.459Z"
|
||||
},
|
||||
{
|
||||
"module": "downloads",
|
||||
"scenario": null,
|
||||
"name": "轮询导出任务直到终态",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/files/export-tasks/2085906689023344642"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c5e6c1cb-4ebd-4200-8b1a-b79c1f3c660d, 8d593d8c-ee47-408c-a228-8f978834d7c1",
|
||||
"traceId": "641aafb4f4664fa38853cf1a44a9ca88",
|
||||
"evidence": "status=SUCCEEDED, processedRows=0",
|
||||
"checkedAt": "2026-08-08T01:51:28.568Z"
|
||||
},
|
||||
{
|
||||
"module": "downloads",
|
||||
"scenario": null,
|
||||
"name": "查询导出任务详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/files/export-tasks/2085906689023344642"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "af467347-8049-47b4-8033-46630f9dedf9, c6c058a8-03bb-48ec-b196-f873055f4039",
|
||||
"traceId": "c6111c38b3ad4b2fa1da5730e282a42a",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:51:28.608Z"
|
||||
},
|
||||
{
|
||||
"module": "downloads",
|
||||
"scenario": null,
|
||||
"name": "导出详情行数和文件元数据正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/files/export-tasks/2085906689023344642"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "af467347-8049-47b4-8033-46630f9dedf9, c6c058a8-03bb-48ec-b196-f873055f4039",
|
||||
"traceId": "c6111c38b3ad4b2fa1da5730e282a42a",
|
||||
"evidence": "processedRows=0, sizeBytes=4066",
|
||||
"checkedAt": "2026-08-08T01:51:28.608Z"
|
||||
},
|
||||
{
|
||||
"module": "downloads",
|
||||
"scenario": null,
|
||||
"name": "下载并校验客户列表 XLSX",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/files/export-tasks/2085906689023344642/download"
|
||||
},
|
||||
"http": 200,
|
||||
"code": null,
|
||||
"message": "4066 bytes (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)",
|
||||
"requestId": "575144ab-472a-4aab-9014-2645a5481aa0, a889d47e-0771-4203-9299-a72ccc2717b6",
|
||||
"traceId": "377bd4490a2b479cb5c27366ca3eb215",
|
||||
"evidence": "bytes=4066, contentType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
||||
"checkedAt": "2026-08-08T01:51:28.649Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,351 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808015217256",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T01:52:21.122Z",
|
||||
"startedAt": "2026-08-08T01:52:17.256Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 16,
|
||||
"passed": 15,
|
||||
"failed": 1
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "pricing",
|
||||
"startedAt": "2026-08-08T01:52:17.700Z",
|
||||
"finishedAt": "2026-08-08T01:52:21.122Z",
|
||||
"success": false,
|
||||
"passed": 14,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "price-book-lifecycle",
|
||||
"module": "pricing",
|
||||
"success": false,
|
||||
"deploymentBlocked": true,
|
||||
"passed": 14,
|
||||
"failed": 1
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "国内起运仓和目的海外仓均精确映射",
|
||||
"evidence": "origins=none, overseas=none, missing=CN-DONGGUAN-01:0,CN-YIWU-01:0,纽约仓/US-NYC-01:0,洛杉矶仓/US-LAX-01:0",
|
||||
"code": "200",
|
||||
"requestId": "cc81fcc4-8273-43a6-b4c8-3e5f130b54d3, a277860d-2568-4a2b-aaad-ff7e9ea37a03",
|
||||
"traceId": "565abde8751743338bffd42e3b4574ee"
|
||||
}
|
||||
],
|
||||
"createdResources": {
|
||||
"priceBookVersion": {
|
||||
"versionId": "2085906913647177729",
|
||||
"marker": "ADMIN-API-20260808015217256",
|
||||
"sourceSha256": "3170fd3aa8795cd816ca9600f87a6a2a06b15d0cf6042d4592f33d4b30c7b8ab"
|
||||
}
|
||||
},
|
||||
"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": "f9c60930-f70d-4b01-8bee-98dd018b439d, 531a52ec-c085-4f9c-9edf-6d5928ef1468",
|
||||
"traceId": "5d1f869c92b1410080fe35c8eff721af",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:52:17.699Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "查询发布前船期价格版本",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e2a75598-bb18-4337-8fe0-9b59e0ad8aa0, 11c63498-91f8-4886-9e10-aab751fd2e13",
|
||||
"traceId": "ae8a30fa81fd46a089174f91b00958df",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:52:17.738Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "发布前最多一份生效版本",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e2a75598-bb18-4337-8fe0-9b59e0ad8aa0, 11c63498-91f8-4886-9e10-aab751fd2e13",
|
||||
"traceId": "ae8a30fa81fd46a089174f91b00958df",
|
||||
"evidence": "versions=6, active=1",
|
||||
"checkedAt": "2026-08-08T01:52:17.738Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "船期价格测试文件已隔离",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "fileName=ADMIN-API-20260808015217256-2026.08.03柏悦价格表 船期2026.08.12.xlsx, bytes=1343413, sha256=3170fd3aa8795cd816ca9600f87a6a2a06b15d0cf6042d4592f33d4b30c7b8ab",
|
||||
"checkedAt": "2026-08-08T01:52:17.741Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "上传并解析船期价格表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3cc44632-978c-4738-bcaf-3f01bddefda8, 5e08671c-f7d4-471a-9b01-133551c1b489",
|
||||
"traceId": "005da6c1da3b42b082f7f5a2834e1b6a",
|
||||
"evidence": "fileName=ADMIN-API-20260808015217256-2026.08.03柏悦价格表 船期2026.08.12.xlsx, bytes=1343413, sha256=3170fd3aa8795cd816ca9600f87a6a2a06b15d0cf6042d4592f33d4b30c7b8ab",
|
||||
"checkedAt": "2026-08-08T01:52:20.865Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "上传返回隔离的待确认版本",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3cc44632-978c-4738-bcaf-3f01bddefda8, 5e08671c-f7d4-471a-9b01-133551c1b489",
|
||||
"traceId": "005da6c1da3b42b082f7f5a2834e1b6a",
|
||||
"evidence": "versionId=2085906913647177729, status=PENDING_CONFIRMATION, fileName=ADMIN-API-20260808015217256-2026.08.03柏悦价格表 船期2026.08.12.xlsx, shaMatched=true",
|
||||
"checkedAt": "2026-08-08T01:52:20.866Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "解析出15个固定渠道且编码唯一",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3cc44632-978c-4738-bcaf-3f01bddefda8, 5e08671c-f7d4-471a-9b01-133551c1b489",
|
||||
"traceId": "005da6c1da3b42b082f7f5a2834e1b6a",
|
||||
"evidence": "channelCount=15, unique=15, missing=none",
|
||||
"checkedAt": "2026-08-08T01:52:20.866Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "解析价格行完整且可追溯到 Excel",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3cc44632-978c-4738-bcaf-3f01bddefda8, 5e08671c-f7d4-471a-9b01-133551c1b489",
|
||||
"traceId": "005da6c1da3b42b082f7f5a2834e1b6a",
|
||||
"evidence": "rateCount=2157, declared=2157, valid=true",
|
||||
"checkedAt": "2026-08-08T01:52:20.866Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "解析阻断仅包含可确认的仓库映射问题",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3cc44632-978c-4738-bcaf-3f01bddefda8, 5e08671c-f7d4-471a-9b01-133551c1b489",
|
||||
"traceId": "005da6c1da3b42b082f7f5a2834e1b6a",
|
||||
"evidence": "blocking=0, unexpected=none, infrastructure=none",
|
||||
"checkedAt": "2026-08-08T01:52:20.866Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "上传后回查价格版本列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "346c77b6-f7cd-48de-90e6-28bf71e0df6e, 44b4f4ed-461e-456a-b2f8-a002dc79a2fe",
|
||||
"traceId": "e4b0d45964f24590a6f775b8095c8cea",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:52:20.891Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "上传只生成待确认版本且不替换当前生效版本",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "346c77b6-f7cd-48de-90e6-28bf71e0df6e, 44b4f4ed-461e-456a-b2f8-a002dc79a2fe",
|
||||
"traceId": "e4b0d45964f24590a6f775b8095c8cea",
|
||||
"evidence": "pending=PENDING_CONFIRMATION, activeBefore=2085661426268549121, activeAfterUpload=2085661426268549121",
|
||||
"checkedAt": "2026-08-08T01:52:20.891Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "查询待确认版本渠道和价格预览",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books/2085906913647177729"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "01d816ed-813f-446f-b48b-68d9a06b7214, 4c1182b5-e14b-466d-bbc0-23dff4231773",
|
||||
"traceId": "ec62c42ad48c404c92ba76991b7050d2",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:52:20.978Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "详情与上传解析结果一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books/2085906913647177729"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "01d816ed-813f-446f-b48b-68d9a06b7214, 4c1182b5-e14b-466d-bbc0-23dff4231773",
|
||||
"traceId": "ec62c42ad48c404c92ba76991b7050d2",
|
||||
"evidence": "versionId=2085906913647177729, channels=15, rates=2157, issues=2",
|
||||
"checkedAt": "2026-08-08T01:52:20.978Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "下载原始 XLSX 且内容散列一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books/2085906913647177729/source"
|
||||
},
|
||||
"http": 200,
|
||||
"code": null,
|
||||
"message": "1343413 bytes (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)",
|
||||
"requestId": "483c4175-e0c6-4546-8881-56867d597bfb, c7e835e6-b14f-4b69-923a-8ffe94fb1454, bdd9f7e1-27ad-410c-9b46-8c43115d5a17",
|
||||
"traceId": "00d9415284fe452ca76e65907aa804a8, d826c60003f0415abc9328759fa51537",
|
||||
"evidence": "bytes=1343413, contentType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, zipMagic=true, sha256=3170fd3aa8795cd816ca9600f87a6a2a06b15d0cf6042d4592f33d4b30c7b8ab",
|
||||
"checkedAt": "2026-08-08T01:52:21.084Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "查询启用的平台公共仓库映射候选",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/warehouse-admin?page=1&size=200&status=ACTIVE"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "cc81fcc4-8273-43a6-b4c8-3e5f130b54d3, a277860d-2568-4a2b-aaad-ff7e9ea37a03",
|
||||
"traceId": "565abde8751743338bffd42e3b4574ee",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:52:21.121Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "国内起运仓和目的海外仓均精确映射",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/warehouse-admin?page=1&size=200&status=ACTIVE"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "cc81fcc4-8273-43a6-b4c8-3e5f130b54d3, a277860d-2568-4a2b-aaad-ff7e9ea37a03",
|
||||
"traceId": "565abde8751743338bffd42e3b4574ee",
|
||||
"evidence": "origins=none, overseas=none, missing=CN-DONGGUAN-01:0,CN-YIWU-01:0,纽约仓/US-NYC-01:0,洛杉矶仓/US-LAX-01:0",
|
||||
"checkedAt": "2026-08-08T01:52:21.121Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,318 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808015313253",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T01:53:13.958Z",
|
||||
"startedAt": "2026-08-08T01:53:13.253Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 14,
|
||||
"passed": 13,
|
||||
"failed": 1
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "orders",
|
||||
"startedAt": "2026-08-08T01:53:13.665Z",
|
||||
"finishedAt": "2026-08-08T01:53:13.955Z",
|
||||
"success": true,
|
||||
"passed": 12,
|
||||
"failed": 0,
|
||||
"fatal": null
|
||||
},
|
||||
{
|
||||
"name": "inbound-measurement",
|
||||
"startedAt": "2026-08-08T01:53:13.957Z",
|
||||
"finishedAt": "2026-08-08T01:53:13.958Z",
|
||||
"success": false,
|
||||
"passed": 0,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "mojia-carton-measurement",
|
||||
"module": "inbound-measurement",
|
||||
"success": false,
|
||||
"deploymentBlocked": true,
|
||||
"passed": 0,
|
||||
"failed": 1
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "inbound-measurement",
|
||||
"scenario": "mojia-carton-measurement",
|
||||
"name": "取得隔离的待测量入库单",
|
||||
"evidence": "orders 模块未提供 marker=ADMIN-API-20260808015313253 的 inboundId/tenantId;为避免修改随机历史订单,本模块停止写入",
|
||||
"code": null,
|
||||
"requestId": null,
|
||||
"traceId": null
|
||||
}
|
||||
],
|
||||
"createdResources": {},
|
||||
"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": "86e3206d-1691-432c-9a99-b015db7f8f97, 973c647e-a637-400e-8bb9-5b9ad35079fd",
|
||||
"traceId": "9f8e6191cbcf4d28a8bc1adb7f8d458f",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:13.663Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "查询统一订单列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders?page=1&size=20"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "13bf6838-66e2-42cf-985a-5a87b5d2fbb4, 3c93f152-23ef-481b-95a0-3ff83c8f81c0",
|
||||
"traceId": "8e199a8800064fa3bd7d1d04423bad43",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:13.750Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "统一订单分页结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders?page=1&size=20"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "13bf6838-66e2-42cf-985a-5a87b5d2fbb4, 3c93f152-23ef-481b-95a0-3ff83c8f81c0",
|
||||
"traceId": "8e199a8800064fa3bd7d1d04423bad43",
|
||||
"evidence": "records=20, total=348",
|
||||
"checkedAt": "2026-08-08T01:53:13.750Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "查询统一订单详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085906673965793281?tenantId=2085906649595891713"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "4d1c88c9-e5d6-4ce4-aa3c-006604edc15f, 50489bb2-25fd-45c8-ba70-7f3b14dc5fb1",
|
||||
"traceId": "de649f51c8884eaf979c74908b191558",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:13.789Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "统一订单详情与列表身份一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085906673965793281?tenantId=2085906649595891713"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "4d1c88c9-e5d6-4ce4-aa3c-006604edc15f, 50489bb2-25fd-45c8-ba70-7f3b14dc5fb1",
|
||||
"traceId": "de649f51c8884eaf979c74908b191558",
|
||||
"evidence": "tenantId=2085906649595891713, orderId=2085906673965793281, timeline=3",
|
||||
"checkedAt": "2026-08-08T01:53:13.789Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "查询头程订单列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?page=1&size=20"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e02edcaa-3950-4f19-b4cb-a97f62e179ef, 9bbd217c-eb50-427e-a8e5-3917deeb17bf",
|
||||
"traceId": "fcb8427cce6243d2b100a906627e2b94",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:13.838Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "头程订单分页结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?page=1&size=20"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e02edcaa-3950-4f19-b4cb-a97f62e179ef, 9bbd217c-eb50-427e-a8e5-3917deeb17bf",
|
||||
"traceId": "fcb8427cce6243d2b100a906627e2b94",
|
||||
"evidence": "records=20, total=474",
|
||||
"checkedAt": "2026-08-08T01:53:13.839Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "查询头程订单详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085906676373323777?tenantId=2085906649595891713"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ff604e75-e48e-4478-83e4-73552521ab4b, 15776b66-94cb-4dda-a3be-f90baebfca36",
|
||||
"traceId": "64264f2946a441ec9c3637a3ded6aabd",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:13.879Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "头程订单详情包含货物、地址、备注和状态历史",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085906676373323777?tenantId=2085906649595891713"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ff604e75-e48e-4478-83e4-73552521ab4b, 15776b66-94cb-4dda-a3be-f90baebfca36",
|
||||
"traceId": "64264f2946a441ec9c3637a3ded6aabd",
|
||||
"evidence": "orderId=2085906676373323777, cargoes=1, history=2",
|
||||
"checkedAt": "2026-08-08T01:53:13.879Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "查询平台入库单列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/inbounds?page=1&size=20"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ad2936d7-8f63-4afd-b04f-9afcd956c63b, 4c8f2435-1a24-4524-86a7-83db13d230a0",
|
||||
"traceId": "02518a2fe0fc4987855ff4c28d943689",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:13.922Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "入库单分页结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/inbounds?page=1&size=20"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ad2936d7-8f63-4afd-b04f-9afcd956c63b, 4c8f2435-1a24-4524-86a7-83db13d230a0",
|
||||
"traceId": "02518a2fe0fc4987855ff4c28d943689",
|
||||
"evidence": "records=20, total=244",
|
||||
"checkedAt": "2026-08-08T01:53:13.922Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "查询平台入库单详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/inbounds/2085905439760363522?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1ffa560d-6466-4e55-b66b-12fbb715a8c4, 3e6c3fa5-3b61-4886-aad0-25433133ce3e",
|
||||
"traceId": "c952a2b76780471187a9b223df9b243f",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:13.955Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "入库单详情包含托盘库位、文件、备注和状态历史",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/inbounds/2085905439760363522?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1ffa560d-6466-4e55-b66b-12fbb715a8c4, 3e6c3fa5-3b61-4886-aad0-25433133ce3e",
|
||||
"traceId": "c952a2b76780471187a9b223df9b243f",
|
||||
"evidence": "inboundId=2085905439760363522, status=WAIT_SPLIT",
|
||||
"checkedAt": "2026-08-08T01:53:13.955Z"
|
||||
},
|
||||
{
|
||||
"module": "inbound-measurement",
|
||||
"scenario": "mojia-carton-measurement",
|
||||
"name": "取得隔离的待测量入库单",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "orders 模块未提供 marker=ADMIN-API-20260808015313253 的 inboundId/tenantId;为避免修改随机历史订单,本模块停止写入",
|
||||
"checkedAt": "2026-08-08T01:53:13.957Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,539 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808015323030",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T01:53:28.059Z",
|
||||
"startedAt": "2026-08-08T01:53:23.030Z",
|
||||
"success": true,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 27,
|
||||
"passed": 27,
|
||||
"failed": 0
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "pricing",
|
||||
"startedAt": "2026-08-08T01:53:23.467Z",
|
||||
"finishedAt": "2026-08-08T01:53:28.059Z",
|
||||
"success": true,
|
||||
"passed": 26,
|
||||
"failed": 0,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "price-book-lifecycle",
|
||||
"module": "pricing",
|
||||
"success": true,
|
||||
"deploymentBlocked": false,
|
||||
"passed": 26,
|
||||
"failed": 0
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [],
|
||||
"createdResources": {
|
||||
"priceBookVersion": {
|
||||
"versionId": "2085907189707878402",
|
||||
"marker": "ADMIN-API-20260808015323030",
|
||||
"sourceSha256": "3170fd3aa8795cd816ca9600f87a6a2a06b15d0cf6042d4592f33d4b30c7b8ab"
|
||||
}
|
||||
},
|
||||
"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": "ffd1a415-9a05-484f-80bf-3d560ed20a20, bafe323a-38a8-4b50-8215-4720276f5f5a",
|
||||
"traceId": "aefcc866fdaa4398834019d8c90945c6",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:23.464Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "查询发布前船期价格版本",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "19ba7a2d-8e69-4638-ac35-c9d73681c8a2, fea311a9-9a0f-41f1-b6df-a0ac829420ea",
|
||||
"traceId": "8813930e89d44b1ca390cd0e6e7c36e1",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:23.521Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "发布前最多一份生效版本",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "19ba7a2d-8e69-4638-ac35-c9d73681c8a2, fea311a9-9a0f-41f1-b6df-a0ac829420ea",
|
||||
"traceId": "8813930e89d44b1ca390cd0e6e7c36e1",
|
||||
"evidence": "versions=7, active=1",
|
||||
"checkedAt": "2026-08-08T01:53:23.521Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "船期价格测试文件已隔离",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "fileName=ADMIN-API-20260808015323030-2026.08.03柏悦价格表 船期2026.08.12.xlsx, bytes=1343413, sha256=3170fd3aa8795cd816ca9600f87a6a2a06b15d0cf6042d4592f33d4b30c7b8ab",
|
||||
"checkedAt": "2026-08-08T01:53:23.530Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "上传并解析船期价格表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "950d0386-ac27-4dfe-a89c-ca96b582d659, 6d5e1be0-30fc-4ca8-a18b-a9c8ca7d51a9",
|
||||
"traceId": "99f605ff4563477da81996d4d7d9d24c",
|
||||
"evidence": "fileName=ADMIN-API-20260808015323030-2026.08.03柏悦价格表 船期2026.08.12.xlsx, bytes=1343413, sha256=3170fd3aa8795cd816ca9600f87a6a2a06b15d0cf6042d4592f33d4b30c7b8ab",
|
||||
"checkedAt": "2026-08-08T01:53:25.408Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "上传返回隔离的待确认版本",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "950d0386-ac27-4dfe-a89c-ca96b582d659, 6d5e1be0-30fc-4ca8-a18b-a9c8ca7d51a9",
|
||||
"traceId": "99f605ff4563477da81996d4d7d9d24c",
|
||||
"evidence": "versionId=2085907189707878402, status=PENDING_CONFIRMATION, fileName=ADMIN-API-20260808015323030-2026.08.03柏悦价格表 船期2026.08.12.xlsx, shaMatched=true",
|
||||
"checkedAt": "2026-08-08T01:53:25.409Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "解析出15个固定渠道且编码唯一",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "950d0386-ac27-4dfe-a89c-ca96b582d659, 6d5e1be0-30fc-4ca8-a18b-a9c8ca7d51a9",
|
||||
"traceId": "99f605ff4563477da81996d4d7d9d24c",
|
||||
"evidence": "channelCount=15, unique=15, missing=none",
|
||||
"checkedAt": "2026-08-08T01:53:25.409Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "解析价格行完整且可追溯到 Excel",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "950d0386-ac27-4dfe-a89c-ca96b582d659, 6d5e1be0-30fc-4ca8-a18b-a9c8ca7d51a9",
|
||||
"traceId": "99f605ff4563477da81996d4d7d9d24c",
|
||||
"evidence": "rateCount=2157, declared=2157, valid=true",
|
||||
"checkedAt": "2026-08-08T01:53:25.410Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "解析阻断仅包含可确认的仓库映射问题",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "950d0386-ac27-4dfe-a89c-ca96b582d659, 6d5e1be0-30fc-4ca8-a18b-a9c8ca7d51a9",
|
||||
"traceId": "99f605ff4563477da81996d4d7d9d24c",
|
||||
"evidence": "blocking=0, unexpected=none, infrastructure=none",
|
||||
"checkedAt": "2026-08-08T01:53:25.410Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "上传后回查价格版本列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "85ae312c-18e0-4a27-bcfc-d97e8e98f149, ac831c7e-d205-426b-a122-35073893ac7b",
|
||||
"traceId": "810f528e025c44aaa7518cddc54faf07",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:25.434Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "上传只生成待确认版本且不替换当前生效版本",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "85ae312c-18e0-4a27-bcfc-d97e8e98f149, ac831c7e-d205-426b-a122-35073893ac7b",
|
||||
"traceId": "810f528e025c44aaa7518cddc54faf07",
|
||||
"evidence": "pending=PENDING_CONFIRMATION, activeBefore=2085661426268549121, activeAfterUpload=2085661426268549121",
|
||||
"checkedAt": "2026-08-08T01:53:25.435Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "查询待确认版本渠道和价格预览",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books/2085907189707878402"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "deffed17-5367-4cd8-a3c1-7ab6ad14f78a, 047c53de-2cec-4dd7-80ea-a63b46805c1b",
|
||||
"traceId": "987e92da473444b981bb8d49807b4fe2",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:25.541Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "详情与上传解析结果一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books/2085907189707878402"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "deffed17-5367-4cd8-a3c1-7ab6ad14f78a, 047c53de-2cec-4dd7-80ea-a63b46805c1b",
|
||||
"traceId": "987e92da473444b981bb8d49807b4fe2",
|
||||
"evidence": "versionId=2085907189707878402, channels=15, rates=2157, issues=2",
|
||||
"checkedAt": "2026-08-08T01:53:25.541Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "下载原始 XLSX 且内容散列一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books/2085907189707878402/source"
|
||||
},
|
||||
"http": 200,
|
||||
"code": null,
|
||||
"message": "1343413 bytes (application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)",
|
||||
"requestId": "a87afbfa-e2a8-4716-ad3e-0b9f81bd7e6d, ee2fca00-55ec-406d-b39a-9cdc27cb34c8, 3c9cffc2-06eb-4beb-9213-74289ae5b87d",
|
||||
"traceId": "8adf5a4db38f4a789d4bf6431d6f4c97, 490c5fe289b24a99a28af29a2afe4fb3",
|
||||
"evidence": "bytes=1343413, contentType=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, zipMagic=true, sha256=3170fd3aa8795cd816ca9600f87a6a2a06b15d0cf6042d4592f33d4b30c7b8ab",
|
||||
"checkedAt": "2026-08-08T01:53:25.679Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "查询启用的平台公共国内仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/warehouse-admin?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ef2feb3c-a719-4369-86e9-21a7c9ca5df2, 3f35d758-6b6b-468f-80d5-eda98207ca04",
|
||||
"traceId": "a7864a481e09470cb23c5ac2f5d1364d",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:25.715Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "查询启用的平台公共海外仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/warehouse-admin?page=1&size=200&status=ACTIVE&warehouseType=OVERSEAS"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e00f34ba-ace4-4586-a8dd-3a53030cbc21, 44446dc8-10c5-4cdb-afc3-8450010efc4f",
|
||||
"traceId": "ce9fc0584ba8445ca468f9e5ca2f630b",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:25.764Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "国内起运仓和目的海外仓均精确映射",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/warehouse-admin?page=1&size=200&status=ACTIVE&warehouseType=OVERSEAS"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e00f34ba-ace4-4586-a8dd-3a53030cbc21, 44446dc8-10c5-4cdb-afc3-8450010efc4f",
|
||||
"traceId": "ce9fc0584ba8445ca468f9e5ca2f630b",
|
||||
"evidence": "origins=CN-DONGGUAN-01->193000000000200002,CN-YIWU-01->193000000000200001, overseas=纽约仓->193000000000200004,洛杉矶仓->193000000000200003, missing=none",
|
||||
"checkedAt": "2026-08-08T01:53:25.765Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "确认仓库映射并立即生效",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books/2085907189707878402/publish"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "292ac8b9-c619-4b88-9c0a-d8a6a99acc78, d51d8c16-cca7-4a10-966c-93f30cb8da71",
|
||||
"traceId": "19cb4f1200434041a6bb2dd12324bbec",
|
||||
"evidence": "versionId=2085907189707878402, originMappings=2, overseasMappings=2",
|
||||
"checkedAt": "2026-08-08T01:53:27.865Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "发布后价格版本为 ACTIVE 且无阻断",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books/2085907189707878402/publish"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "292ac8b9-c619-4b88-9c0a-d8a6a99acc78, d51d8c16-cca7-4a10-966c-93f30cb8da71",
|
||||
"traceId": "19cb4f1200434041a6bb2dd12324bbec",
|
||||
"evidence": "status=ACTIVE, blocking=0, publishedAt=2026-08-08T09:53:26.781, channels=15, rates=2157",
|
||||
"checkedAt": "2026-08-08T01:53:27.865Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "发布后回查当前生效和历史版本",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0e715e18-3b4e-413e-9f2c-299a7aa37350, a3d54336-5c33-4458-b234-082298026520",
|
||||
"traceId": "da1deab503934499b576ebeedacd785b",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:27.900Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "始终只有一份当前生效版本",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0e715e18-3b4e-413e-9f2c-299a7aa37350, a3d54336-5c33-4458-b234-082298026520",
|
||||
"traceId": "da1deab503934499b576ebeedacd785b",
|
||||
"evidence": "active=2085907189707878402",
|
||||
"checkedAt": "2026-08-08T01:53:27.901Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "上一生效版本已保留为历史版本",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0e715e18-3b4e-413e-9f2c-299a7aa37350, a3d54336-5c33-4458-b234-082298026520",
|
||||
"traceId": "da1deab503934499b576ebeedacd785b",
|
||||
"evidence": "previous=2085661426268549121, superseded=true",
|
||||
"checkedAt": "2026-08-08T01:53:27.901Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "查询当前生效价格版本详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books/2085907189707878402"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "75c1590f-8d33-43f6-bd24-2dd29436c45f, e5944f65-f645-4694-8ced-aef3f3c8b36d",
|
||||
"traceId": "becb11887ecd41d6b81c441c807cdc8d",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:27.990Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "当前生效版本预览数据完整",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books/2085907189707878402"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "75c1590f-8d33-43f6-bd24-2dd29436c45f, e5944f65-f645-4694-8ced-aef3f3c8b36d",
|
||||
"traceId": "becb11887ecd41d6b81c441c807cdc8d",
|
||||
"evidence": "status=ACTIVE, channels=15, rates=2157",
|
||||
"checkedAt": "2026-08-08T01:53:27.990Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "已生效版本禁止重复发布",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books/2085907189707878402/publish"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "只有待确认上传记录可以确认并生效",
|
||||
"requestId": "af0d78af-caac-4095-9164-6de76bf07c33",
|
||||
"traceId": "00bbbdf631374c56ad0d965c6fdae0a3",
|
||||
"evidence": "HTTP=200, code=A0409",
|
||||
"checkedAt": "2026-08-08T01:53:28.027Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "重复发布被拒绝后回查版本状态",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "162da644-9186-445c-980f-6bd59800e362, 4cbd2911-2dfd-45e5-848d-50a574bc457a",
|
||||
"traceId": "a1a2ed53cd2345e5a3150c577dd38693",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:28.059Z"
|
||||
},
|
||||
{
|
||||
"module": "pricing",
|
||||
"scenario": "price-book-lifecycle",
|
||||
"name": "重复发布未改变唯一生效版本",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/fba-pricing/carrier-rates/price-books"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "162da644-9186-445c-980f-6bd59800e362, 4cbd2911-2dfd-45e5-848d-50a574bc457a",
|
||||
"traceId": "a1a2ed53cd2345e5a3150c577dd38693",
|
||||
"evidence": "active=2085907189707878402",
|
||||
"checkedAt": "2026-08-08T01:53:28.059Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,740 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808015325966",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T01:53:27.032Z",
|
||||
"startedAt": "2026-08-08T01:53:25.966Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 38,
|
||||
"passed": 36,
|
||||
"failed": 2
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "customers",
|
||||
"startedAt": "2026-08-08T01:53:26.382Z",
|
||||
"finishedAt": "2026-08-08T01:53:27.032Z",
|
||||
"success": false,
|
||||
"passed": 35,
|
||||
"failed": 2,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "customer-dimension-rules",
|
||||
"module": "customers",
|
||||
"success": true,
|
||||
"deploymentBlocked": false,
|
||||
"passed": 13,
|
||||
"failed": 0
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [],
|
||||
"createdResources": {
|
||||
"customer": {
|
||||
"tenantId": "2085907201314639874",
|
||||
"marker": "ADMIN-API-20260808015325966",
|
||||
"contactPhone": "16154006382"
|
||||
}
|
||||
},
|
||||
"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": "db634c73-67af-4c33-b3a7-69c7198b7e5c, f3c2e482-059b-49e1-b260-67caf7c7bcd5",
|
||||
"traceId": "ba2aee8dce5c4fb380d3fed7297f9b15",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:26.381Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "检查测试联系电话可用性",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16154006382"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "24e85948-fd9a-4f46-9e9f-1fc93b9a874e, d962cc30-8abe-4f40-9444-67665eaba6ab",
|
||||
"traceId": "fc06afaa3d564789a5588244d4c7898c",
|
||||
"evidence": "attempt=1",
|
||||
"checkedAt": "2026-08-08T01:53:26.431Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "创建客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d3cbed21-b931-46ad-a48e-172162068cdd, a7962dde-3790-4391-a910-2ea5f3651443",
|
||||
"traceId": "b5fc9f51280f412d8d9423e2bee3fb07",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:26.486Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "创建响应客户字段完整",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d3cbed21-b931-46ad-a48e-172162068cdd, a7962dde-3790-4391-a910-2ea5f3651443",
|
||||
"traceId": "b5fc9f51280f412d8d9423e2bee3fb07",
|
||||
"evidence": "missing=none",
|
||||
"checkedAt": "2026-08-08T01:53:26.486Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "新客户基础字段正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d3cbed21-b931-46ad-a48e-172162068cdd, a7962dde-3790-4391-a910-2ea5f3651443",
|
||||
"traceId": "b5fc9f51280f412d8d9423e2bee3fb07",
|
||||
"evidence": "tenantId=2085907201314639874, status=PROFILE_REQUIRED",
|
||||
"checkedAt": "2026-08-08T01:53:26.486Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户草稿不提前生成管理员凭据",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d3cbed21-b931-46ad-a48e-172162068cdd, a7962dde-3790-4391-a910-2ea5f3651443",
|
||||
"traceId": "b5fc9f51280f412d8d9423e2bee3fb07",
|
||||
"evidence": "temporaryPassword=omitted, administratorUsername=omitted",
|
||||
"checkedAt": "2026-08-08T01:53:26.486Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "待完善客户的审核字段保持为空",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d3cbed21-b931-46ad-a48e-172162068cdd, a7962dde-3790-4391-a910-2ea5f3651443",
|
||||
"traceId": "b5fc9f51280f412d8d9423e2bee3fb07",
|
||||
"evidence": "creditCode=omitted, approvedAt=omitted",
|
||||
"checkedAt": "2026-08-08T01:53:26.486Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "新客户尺寸规则可查询",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f0c1e457-9f56-4bb8-ae5c-8921241530f4, afbf4496-ce98-42f7-8cfa-41845c360584",
|
||||
"traceId": "4b76edbbac0444959b26be3748f77618",
|
||||
"evidence": "tenantId=2085907201314639874",
|
||||
"checkedAt": "2026-08-08T01:53:26.518Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "固定四箱规顺序完整且无重复",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f0c1e457-9f56-4bb8-ae5c-8921241530f4, afbf4496-ce98-42f7-8cfa-41845c360584",
|
||||
"traceId": "4b76edbbac0444959b26be3748f77618",
|
||||
"evidence": "count=4, order=SMALL,MEDIUM,LARGE,EXTRA_LARGE",
|
||||
"checkedAt": "2026-08-08T01:53:26.518Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "四箱规默认内径、加边和备注正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f0c1e457-9f56-4bb8-ae5c-8921241530f4, afbf4496-ce98-42f7-8cfa-41845c360584",
|
||||
"traceId": "4b76edbbac0444959b26be3748f77618",
|
||||
"evidence": "defaults=matched",
|
||||
"checkedAt": "2026-08-08T01:53:26.518Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "客户 ID、规则 ID 为字符串且初始版本为0",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f0c1e457-9f56-4bb8-ae5c-8921241530f4, afbf4496-ce98-42f7-8cfa-41845c360584",
|
||||
"traceId": "4b76edbbac0444959b26be3748f77618",
|
||||
"evidence": "groupTenantIdType=string, rows=string/v0,string/v0,string/v0,string/v0",
|
||||
"checkedAt": "2026-08-08T01:53:26.518Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "默认规则外径与 HALF_UP 三位 CBM 正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f0c1e457-9f56-4bb8-ae5c-8921241530f4, afbf4496-ce98-42f7-8cfa-41845c360584",
|
||||
"traceId": "4b76edbbac0444959b26be3748f77618",
|
||||
"evidence": "derivedRows=4",
|
||||
"checkedAt": "2026-08-08T01:53:26.518Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "PUT 每行只发送约定7字段并整组保存",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f0c1e457-9f56-4bb8-ae5c-8921241530f4, afbf4496-ce98-42f7-8cfa-41845c360584",
|
||||
"traceId": "4b76edbbac0444959b26be3748f77618",
|
||||
"evidence": "fields=boxType,innerLengthCm,innerWidthCm,innerHeightCm,edgeAdditionCm,remark,version",
|
||||
"checkedAt": "2026-08-08T01:53:26.519Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "一次 PUT 保存四条三位小数规则",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0c34bdcc-dbea-40c0-9f45-5fca1655ab13, b6a24c2e-f7f1-4a8c-9c5b-66ad69d982ef",
|
||||
"traceId": "60653a35cef34af5b7a136ff0d8456e3",
|
||||
"evidence": "rows=4",
|
||||
"checkedAt": "2026-08-08T01:53:26.552Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "修改后四行版本+1且派生外径/CBM正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0c34bdcc-dbea-40c0-9f45-5fca1655ab13, b6a24c2e-f7f1-4a8c-9c5b-66ad69d982ef",
|
||||
"traceId": "60653a35cef34af5b7a136ff0d8456e3",
|
||||
"evidence": "versions=1,1,1,1",
|
||||
"checkedAt": "2026-08-08T01:53:26.553Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "旧 version 重放 PUT 返回冲突",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "箱规尺寸配置已被修改,请刷新后重试",
|
||||
"requestId": "0b861ca5-a2a4-4e85-b6ea-5dbe4f944db0",
|
||||
"traceId": "46a446fe831e4c969e8c1ce3c02ea313",
|
||||
"evidence": "HTTP=200, code=A0409",
|
||||
"checkedAt": "2026-08-08T01:53:26.585Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "冲突后重新查询四条规则",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6c5f6611-d7c7-4a3c-a969-f7b5275bfea3, 55881a79-9266-4727-bf33-efbf77fcc3fb",
|
||||
"traceId": "0f17b1e9109f4838a4696e789fec7072",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:26.617Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "冲突请求未造成四行部分更新",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6c5f6611-d7c7-4a3c-a969-f7b5275bfea3, 55881a79-9266-4727-bf33-efbf77fcc3fb",
|
||||
"traceId": "0f17b1e9109f4838a4696e789fec7072",
|
||||
"evidence": "unchangedRows=4",
|
||||
"checkedAt": "2026-08-08T01:53:26.617Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "恢复本轮修改前的四箱规配置",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "65b35a20-b9de-4b29-abf8-05f4e2bde0e3, 5d75f480-c97d-4cae-a6c3-a031570fa7f6",
|
||||
"traceId": "7604a277ba2a4d3dbaf453b4491983bc",
|
||||
"evidence": "restore=original-values",
|
||||
"checkedAt": "2026-08-08T01:53:26.669Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "尺寸规则恢复后回显与初始值一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "65b35a20-b9de-4b29-abf8-05f4e2bde0e3, 5d75f480-c97d-4cae-a6c3-a031570fa7f6",
|
||||
"traceId": "7604a277ba2a4d3dbaf453b4491983bc",
|
||||
"evidence": "restoredRows=4",
|
||||
"checkedAt": "2026-08-08T01:53:26.669Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "查询客户列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants?page=1&size=20&keyword=%E5%90%8E%E5%8F%B0%E5%AE%A2%E6%88%B7%E9%AA%8C%E6%94%B6-808015325966"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d3d89c7c-60aa-466e-8427-df5023fc9be1, 9d2528ed-3b66-44b6-9312-fd825c0f6c7b",
|
||||
"traceId": "0791dc3ecbd74e5ea570583924d43914",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:26.707Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "列表包含新客户且字段完整",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants?page=1&size=20&keyword=%E5%90%8E%E5%8F%B0%E5%AE%A2%E6%88%B7%E9%AA%8C%E6%94%B6-808015325966"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d3d89c7c-60aa-466e-8427-df5023fc9be1, 9d2528ed-3b66-44b6-9312-fd825c0f6c7b",
|
||||
"traceId": "0791dc3ecbd74e5ea570583924d43914",
|
||||
"evidence": "found=true, missing=none",
|
||||
"checkedAt": "2026-08-08T01:53:26.707Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "查询客户详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c2b214e1-d5fd-4df1-85e5-dcb2604fca29, a5cc615b-ae7e-44eb-a394-d80cc215788f",
|
||||
"traceId": "58f87b8dad654f34a253ca6169a63268",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:26.755Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户详情基本信息正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c2b214e1-d5fd-4df1-85e5-dcb2604fca29, a5cc615b-ae7e-44eb-a394-d80cc215788f",
|
||||
"traceId": "58f87b8dad654f34a253ca6169a63268",
|
||||
"evidence": "tenantId=2085907201314639874",
|
||||
"checkedAt": "2026-08-08T01:53:26.756Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "编辑客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2c6d2069-c5ae-4227-a88b-825130a052e8, 60cfcb3c-a8c8-4fe0-8168-0ff601c94e42",
|
||||
"traceId": "56cb0abf70d747eaa7ef0d77b2bcfa39",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:26.802Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户编辑正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2c6d2069-c5ae-4227-a88b-825130a052e8, 60cfcb3c-a8c8-4fe0-8168-0ff601c94e42",
|
||||
"traceId": "56cb0abf70d747eaa7ef0d77b2bcfa39",
|
||||
"evidence": "tenantId=2085907201314639874",
|
||||
"checkedAt": "2026-08-08T01:53:26.802Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "回查客户编辑结果",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "cc7f4674-b902-4f71-8f33-a5afdf1c1744, ca7a07c2-ba52-4996-a09c-6208704de74b",
|
||||
"traceId": "af1b6e53c8aa43ac98028aa314a2f6e9",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:26.826Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户编辑已持久化",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "cc7f4674-b902-4f71-8f33-a5afdf1c1744, ca7a07c2-ba52-4996-a09c-6208704de74b",
|
||||
"traceId": "af1b6e53c8aa43ac98028aa314a2f6e9",
|
||||
"evidence": "tenantId=2085907201314639874",
|
||||
"checkedAt": "2026-08-08T01:53:26.826Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况查询资质",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085907201314639874/qualifications"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "124f0e8b-c64d-42f1-a697-ab385d852aed, 195e34f3-1253-4d72-87b6-d38c23652de1",
|
||||
"traceId": "7c7fa61561f84f0d9d5d415a72202849",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:26.849Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "资质概况结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085907201314639874/qualifications"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "124f0e8b-c64d-42f1-a697-ab385d852aed, 195e34f3-1253-4d72-87b6-d38c23652de1",
|
||||
"traceId": "7c7fa61561f84f0d9d5d415a72202849",
|
||||
"evidence": "count=0",
|
||||
"checkedAt": "2026-08-08T01:53:26.849Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况查询成员",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085907201314639874/members"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3748f7f8-766a-4746-a9d9-9340e7737bb2, 4b0269c1-29de-4a08-9f18-e0daacafbceb",
|
||||
"traceId": "75a180aa950f4c96963dd0527ad5c073",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:26.893Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "待完善客户尚未生成企业管理员",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085907201314639874/members"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3748f7f8-766a-4746-a9d9-9340e7737bb2, 4b0269c1-29de-4a08-9f18-e0daacafbceb",
|
||||
"traceId": "75a180aa950f4c96963dd0527ad5c073",
|
||||
"evidence": "members=0",
|
||||
"checkedAt": "2026-08-08T01:53:26.894Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况查询运单数量",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/tenant-counts?tenantIds=2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "57045150-9185-4fbe-bdfb-eb25f0b910c0, 8ac72add-0902-4975-a7af-bf98772f8117",
|
||||
"traceId": "2aac73b5c3fa48d18a2a9bbaf46f2d40",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:26.933Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况返回当前客户运单数",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/tenant-counts?tenantIds=2085907201314639874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "57045150-9185-4fbe-bdfb-eb25f0b910c0, 8ac72add-0902-4975-a7af-bf98772f8117",
|
||||
"traceId": "2aac73b5c3fa48d18a2a9bbaf46f2d40",
|
||||
"evidence": "orderCount=0",
|
||||
"checkedAt": "2026-08-08T01:53:26.933Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "查询客户运单记录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=2085907201314639874&page=1&size=10"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d48f448d-352d-43bd-89b0-51d8372ea9b6, ad3eb7be-0a5a-436d-95a1-d7795713eef6",
|
||||
"traceId": "6056d078fa394c18a3e2c7fec4bfadca",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:26.973Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "运单记录分页结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=2085907201314639874&page=1&size=10"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d48f448d-352d-43bd-89b0-51d8372ea9b6, ad3eb7be-0a5a-436d-95a1-d7795713eef6",
|
||||
"traceId": "6056d078fa394c18a3e2c7fec4bfadca",
|
||||
"evidence": "records=0, total=0",
|
||||
"checkedAt": "2026-08-08T01:53:26.973Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "归档测试客户",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085907201314639874/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "S0500",
|
||||
"message": "Internal server error",
|
||||
"requestId": "e35a256c-67a2-4146-87b4-294e0ad6a872",
|
||||
"traceId": "135e1ad7b73d4d669db31ac1738dd3a2",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:27.032Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "测试客户归档后处于停用状态",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085907201314639874/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "S0500",
|
||||
"message": "Internal server error",
|
||||
"requestId": "e35a256c-67a2-4146-87b4-294e0ad6a872",
|
||||
"traceId": "135e1ad7b73d4d669db31ac1738dd3a2",
|
||||
"evidence": "status=missing",
|
||||
"checkedAt": "2026-08-08T01:53:27.032Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,83 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808015327235",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T01:53:27.783Z",
|
||||
"startedAt": "2026-08-08T01:53:27.235Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 2,
|
||||
"passed": 1,
|
||||
"failed": 1
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "inbound-weight-ocr",
|
||||
"startedAt": "2026-08-08T01:53:27.684Z",
|
||||
"finishedAt": "2026-08-08T01:53:27.783Z",
|
||||
"success": false,
|
||||
"passed": 0,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "weight-image-recognition-and-confirmation",
|
||||
"module": "inbound-weight-ocr",
|
||||
"success": false,
|
||||
"deploymentBlocked": false,
|
||||
"passed": 0,
|
||||
"failed": 1
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [],
|
||||
"createdResources": {},
|
||||
"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": "b97739c1-555c-45a8-a9df-a11fac175b3d, 5d5a2199-d959-442e-8267-b277285b38b3",
|
||||
"traceId": "0dc9c24b611a4a67b04e478be3171572",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:53:27.681Z"
|
||||
},
|
||||
{
|
||||
"module": "inbound-weight-ocr",
|
||||
"scenario": "weight-image-recognition-and-confirmation",
|
||||
"name": "仅选择带本轮测试标记的可编辑入库单",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "marker=ADMIN-API-20260808015327235, 未找到本轮创建且状态为 WAIT_MEASURE/MEASURING/MEASURE_REJECTED 的入库单",
|
||||
"checkedAt": "2026-08-08T01:53:27.783Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,932 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808015845602",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T01:58:48.416Z",
|
||||
"startedAt": "2026-08-08T01:58:45.602Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 48,
|
||||
"passed": 46,
|
||||
"failed": 2
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "orders",
|
||||
"startedAt": "2026-08-08T01:58:45.972Z",
|
||||
"finishedAt": "2026-08-08T01:58:48.416Z",
|
||||
"success": false,
|
||||
"passed": 45,
|
||||
"failed": 2,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [],
|
||||
"deploymentBlockers": [],
|
||||
"createdResources": {
|
||||
"orders": {
|
||||
"marker": "ADMIN-API-20260808015845602",
|
||||
"tenantId": "10001",
|
||||
"orderId": "2085908544302415874",
|
||||
"productImageFileId": "2085908543895568386",
|
||||
"boxTypes": [
|
||||
"SMALL",
|
||||
"MEDIUM",
|
||||
"LARGE",
|
||||
"EXTRA_LARGE"
|
||||
],
|
||||
"inboundId": "2085908549518012417",
|
||||
"orderNo": "FL2085908544302415874",
|
||||
"inboundCode": "RK-2085908544302415874",
|
||||
"processStatus": "WAIT_MEASURE"
|
||||
},
|
||||
"ocrInbound": {
|
||||
"tenantId": "10001",
|
||||
"inboundId": "2085908549518012417",
|
||||
"marker": "ADMIN-API-20260808015845602"
|
||||
},
|
||||
"testInbound": {
|
||||
"tenantId": "10001",
|
||||
"inboundId": "2085908549518012417",
|
||||
"marker": "ADMIN-API-20260808015845602"
|
||||
}
|
||||
},
|
||||
"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": "2df00281-3bc2-448b-a0e7-7b2d8a3686c0, 29ecd91d-f58f-4816-9571-5bc9316016f7",
|
||||
"traceId": "e964f0bee2dc41a9b2819394c7a40869",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:45.971Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试账号登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9bafe061-2875-4edf-b88e-2b07a9f1dd5c, 88a6b4cc-15bb-42ca-84e2-155d3dd02a59",
|
||||
"traceId": "32698d4d352b43b8b33385327d62459b",
|
||||
"evidence": "username=merchant_admin",
|
||||
"checkedAt": "2026-08-08T01:58:46.317Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询当前企业资料",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f0319880-b18c-4c74-a8aa-d9b4ebfd3139, 2949ef4f-8049-4b02-bed6-9c85be09abdb",
|
||||
"traceId": "0d4f1aef979043feb4fa7e12ed33d8e0",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:46.344Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试企业已审核且客户 ID 有效",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f0319880-b18c-4c74-a8aa-d9b4ebfd3139, 2949ef4f-8049-4b02-bed6-9c85be09abdb",
|
||||
"traceId": "0d4f1aef979043feb4fa7e12ed33d8e0",
|
||||
"evidence": "tenantId=10001, status=ACTIVE",
|
||||
"checkedAt": "2026-08-08T01:58:46.344Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Admin 查询客户固定箱型",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f5b956ab-635f-4d5a-b5f4-c6e06a99ea11, f3855650-244a-42a6-b738-cd302bb9ce65",
|
||||
"traceId": "c918eedc616c4d9ebd1e1f8f3ece807f",
|
||||
"evidence": "tenantId=10001",
|
||||
"checkedAt": "2026-08-08T01:58:46.378Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "固定四箱型顺序、内径及每边加2cm正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f5b956ab-635f-4d5a-b5f4-c6e06a99ea11, f3855650-244a-42a6-b738-cd302bb9ce65",
|
||||
"traceId": "c918eedc616c4d9ebd1e1f8f3ece807f",
|
||||
"evidence": "types=SMALL,MEDIUM,LARGE,EXTRA_LARGE",
|
||||
"checkedAt": "2026-08-08T01:58:46.378Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2b7b22b6-705b-4e6d-8ffb-e3ae3bea9e86, d0fb6ae1-e618-4432-b9d4-a58a09da32c7",
|
||||
"traceId": "56f1f1300a144c7b9c90c8824eff5899",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:46.412Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2b7b22b6-705b-4e6d-8ffb-e3ae3bea9e86, d0fb6ae1-e618-4432-b9d4-a58a09da32c7",
|
||||
"traceId": "56f1f1300a144c7b9c90c8824eff5899",
|
||||
"evidence": "count=2",
|
||||
"checkedAt": "2026-08-08T01:58:46.412Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "45045704-2cd0-4403-be53-293bc5f26e72, 5bfc6053-ac43-4c9c-83ad-b326b083ebd2",
|
||||
"traceId": "b5775339f5cf44549606038c716326bb",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:46.464Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "45045704-2cd0-4403-be53-293bc5f26e72, 5bfc6053-ac43-4c9c-83ad-b326b083ebd2",
|
||||
"traceId": "b5775339f5cf44549606038c716326bb",
|
||||
"evidence": "count=200",
|
||||
"checkedAt": "2026-08-08T01:58:46.464Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询可用计费渠道",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "79f6d7f0-f634-4282-b9c0-a0167dba8d8d, e9a9e0a1-a9e3-4fe7-8dda-321b25706f74",
|
||||
"traceId": "4d91cee3c9a546489ca856683c1e3866",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:46.500Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在带计价税制的可用渠道",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "79f6d7f0-f634-4282-b9c0-a0167dba8d8d, e9a9e0a1-a9e3-4fe7-8dda-321b25706f74",
|
||||
"traceId": "4d91cee3c9a546489ca856683c1e3866",
|
||||
"evidence": "count=15",
|
||||
"checkedAt": "2026-08-08T01:58:46.501Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询发货客户候选",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/partners/candidates?type=SHIPPER"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "151cabba-06d0-47c1-ae7a-e9c04a53bb99, df6dc290-eb32-4e1a-871e-24b997e3be8e",
|
||||
"traceId": "3d56dc4845224ed6a960d0941afa2437",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:46.532Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 上传产品图片",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/files/product-images"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "84e5df0a-1165-4616-9fea-e126b773b012, e5625c74-fae1-4156-843c-b302789abd8d",
|
||||
"traceId": "f4dc865591b74b50b2fb216a3a6eb7e8",
|
||||
"evidence": "contentType=image/png",
|
||||
"checkedAt": "2026-08-08T01:58:46.563Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "产品图片上传返回字符串文件 ID",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/files/product-images"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "84e5df0a-1165-4616-9fea-e126b773b012, e5625c74-fae1-4156-843c-b302789abd8d",
|
||||
"traceId": "f4dc865591b74b50b2fb216a3a6eb7e8",
|
||||
"evidence": "fileIdType=string, contentType=image/png",
|
||||
"checkedAt": "2026-08-08T01:58:46.563Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 可下载本轮产品图片",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/files/product-images/2085908543895568386"
|
||||
},
|
||||
"http": 200,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "6fb2eb7d-e6c0-465e-85ba-80ceee864afe, 9064fb39-dd42-4a98-acd6-17f395903625",
|
||||
"traceId": "647a5fda1fcd4efba4b597718e8b6577",
|
||||
"evidence": "bytes=68, contentType=image/png",
|
||||
"checkedAt": "2026-08-08T01:58:46.595Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 创建四箱型隔离订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "45a345d8-d836-47ec-af79-03da6448ddb3, ae795305-805a-4361-b15f-769f02211433",
|
||||
"traceId": "6a6671c65031457885d3140d9ddea7b0",
|
||||
"evidence": "marker=ADMIN-API-20260808015845602",
|
||||
"checkedAt": "2026-08-08T01:58:46.665Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 创建订单幂等重放",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1cbf94cf-898c-450c-bda1-aff27188791a, fdf7c425-ac45-495c-afc2-f3c0af3c2e64",
|
||||
"traceId": "e4fc664072c449f5bcdd3091b9e0826c",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:46.711Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 创建幂等结果一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1cbf94cf-898c-450c-bda1-aff27188791a, fdf7c425-ac45-495c-afc2-f3c0af3c2e64",
|
||||
"traceId": "e4fc664072c449f5bcdd3091b9e0826c",
|
||||
"evidence": "orderId=2085908544302415874, replayedId=2085908544302415874",
|
||||
"checkedAt": "2026-08-08T01:58:46.711Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询隔离订单草稿",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085908544302415874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9a744a35-40ac-4f27-b0b6-e88a05148da7, 307ebeb3-91ea-4d0a-aced-6d1a8c54f2e5",
|
||||
"traceId": "5ca1918bae824baf8a5e9f4c941b1187",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:46.750Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 草稿身份、marker 和状态正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085908544302415874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9a744a35-40ac-4f27-b0b6-e88a05148da7, 307ebeb3-91ea-4d0a-aced-6d1a8c54f2e5",
|
||||
"traceId": "5ca1918bae824baf8a5e9f4c941b1187",
|
||||
"evidence": "orderNo=FL2085908544302415874, status=DRAFT",
|
||||
"checkedAt": "2026-08-08T01:58:46.751Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "四箱型产品字段及图片契约完整回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085908544302415874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9a744a35-40ac-4f27-b0b6-e88a05148da7, 307ebeb3-91ea-4d0a-aced-6d1a8c54f2e5",
|
||||
"traceId": "5ca1918bae824baf8a5e9f4c941b1187",
|
||||
"evidence": "cargoes=4, imageFileId=2085908543895568386",
|
||||
"checkedAt": "2026-08-08T01:58:46.751Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 提交隔离订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085908544302415874/submit"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2ddeae60-09f4-46f4-ba95-0da918cae5a1, 1c99eaa3-59c8-44c4-be1f-d8032cd7a5c8",
|
||||
"traceId": "77a5f60280ca457f8342b0bcd69f9b3c",
|
||||
"evidence": "orderId=2085908544302415874",
|
||||
"checkedAt": "2026-08-08T01:58:46.815Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 回查已提交订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085908544302415874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2a7d9c8a-e5e3-4e0f-9ad1-38d8448f7ba7, f719ea5c-96ee-43ae-a7e0-b7bbec868a91",
|
||||
"traceId": "3ad7ca4193654a048d4b7176bb940316",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:46.844Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 订单已进入待审核状态",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085908544302415874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2a7d9c8a-e5e3-4e0f-9ad1-38d8448f7ba7, f719ea5c-96ee-43ae-a7e0-b7bbec868a91",
|
||||
"traceId": "3ad7ca4193654a048d4b7176bb940316",
|
||||
"evidence": "status=SUBMITTED",
|
||||
"checkedAt": "2026-08-08T01:58:46.844Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询统一订单列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders?page=1&size=100&tenantId=10001&orderNo=FL2085908544302415874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "90b72878-5370-4bda-93a7-fad6b786f9a1, 94f8b715-4da1-481f-9e33-0e68b0164d4e",
|
||||
"traceId": "142e51a32c114f25a5bb5bc2f27e20e4",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:46.884Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 统一订单列表只核对本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders?page=1&size=100&tenantId=10001&orderNo=FL2085908544302415874"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "90b72878-5370-4bda-93a7-fad6b786f9a1, 94f8b715-4da1-481f-9e33-0e68b0164d4e",
|
||||
"traceId": "142e51a32c114f25a5bb5bc2f27e20e4",
|
||||
"evidence": "orderId=2085908544302415874, found=true",
|
||||
"checkedAt": "2026-08-08T01:58:46.884Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询统一订单详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085908544302415874?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ab453fcc-d6dc-4692-aac7-71aa232700ed, 16fe95a7-1ea1-4505-b3a5-1dfd5a5ffe07",
|
||||
"traceId": "9dcddfefa35d4f7f91cd6d6f274a8e3f",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:46.927Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 统一订单详情身份与待审核状态正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085908544302415874?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ab453fcc-d6dc-4692-aac7-71aa232700ed, 16fe95a7-1ea1-4505-b3a5-1dfd5a5ffe07",
|
||||
"traceId": "9dcddfefa35d4f7f91cd6d6f274a8e3f",
|
||||
"evidence": "mainStatus=PENDING_REVIEW, timeline=2",
|
||||
"checkedAt": "2026-08-08T01:58:46.927Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询头程订单列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=10001&keyword=FL2085908544302415874&page=1&size=100"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9fe027f9-daf9-4524-b630-15c8e33f8f5a, 1650d83d-e4b4-4b5a-8712-3f896b0a40bc",
|
||||
"traceId": "b6832bb6eae644ad976303bd062b778f",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:46.957Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 头程订单列表只核对本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=10001&keyword=FL2085908544302415874&page=1&size=100"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9fe027f9-daf9-4524-b630-15c8e33f8f5a, 1650d83d-e4b4-4b5a-8712-3f896b0a40bc",
|
||||
"traceId": "b6832bb6eae644ad976303bd062b778f",
|
||||
"evidence": "orderId=2085908544302415874, found=true",
|
||||
"checkedAt": "2026-08-08T01:58:46.957Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询头程订单详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085908544302415874?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "fc22ec0a-1b44-4407-abd4-02b0998ce3c4, bcb367cf-09ee-4856-ae76-e6c8a04ad0a5",
|
||||
"traceId": "9a683d10e9b0495f8229336e44874e38",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:46.985Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 头程订单详情聚合结构完整",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085908544302415874?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "fc22ec0a-1b44-4407-abd4-02b0998ce3c4, bcb367cf-09ee-4856-ae76-e6c8a04ad0a5",
|
||||
"traceId": "9a683d10e9b0495f8229336e44874e38",
|
||||
"evidence": "cargoes=4, history=2",
|
||||
"checkedAt": "2026-08-08T01:58:46.985Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "四箱型产品字段及图片契约完整回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085908544302415874?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "fc22ec0a-1b44-4407-abd4-02b0998ce3c4, bcb367cf-09ee-4856-ae76-e6c8a04ad0a5",
|
||||
"traceId": "9a683d10e9b0495f8229336e44874e38",
|
||||
"evidence": "cargoes=4, imageFileId=2085908543895568386",
|
||||
"checkedAt": "2026-08-08T01:58:46.985Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 为本轮订单添加内部备注",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085908544302415874/internal-notes?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c93d3ee3-bf0f-411b-846f-667cccd1a99a, cc8111a2-41fb-487d-bd6d-1ab0293f45f1",
|
||||
"traceId": "2761a0f12b804b97b422df9ce2296e25",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:47.021Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 审核通过本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085908544302415874/approve?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3786268b-5995-4700-a25e-5d9ec2d76028, d6ff05db-ba34-4479-b74a-3938b5c560ac",
|
||||
"traceId": "8f34aa7fc14045eaa94d672d1a77addd",
|
||||
"evidence": "orderId=2085908544302415874",
|
||||
"checkedAt": "2026-08-08T01:58:47.068Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "审核后生成隔离入库单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085908544302415874?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "23f20a88-9f4c-4580-9522-346a525f61a0, 3bb76bd9-c6f1-4319-b2e3-006f3e7b6933",
|
||||
"traceId": "2020d9c73ccd4e8ea1c22dc1a66d5af4",
|
||||
"evidence": "inboundId=2085908549518012417",
|
||||
"checkedAt": "2026-08-08T01:58:48.176Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Admin 查询本轮入库单详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/inbounds/2085908549518012417?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3bf50e55-ab10-4da5-84f1-ed4c6a8218f3, 1bb3971c-1ca4-43fd-bf4f-df29c69daf29",
|
||||
"traceId": "8df76fb788f44bcaa521ca3623caf22c",
|
||||
"evidence": "inboundId=2085908549518012417",
|
||||
"checkedAt": "2026-08-08T01:58:48.212Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "隔离入库单 marker 来源与可测量状态正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/inbounds/2085908549518012417?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3bf50e55-ab10-4da5-84f1-ed4c6a8218f3, 1bb3971c-1ca4-43fd-bf4f-df29c69daf29",
|
||||
"traceId": "8df76fb788f44bcaa521ca3623caf22c",
|
||||
"evidence": "markerFound=true, status=WAIT_MEASURE",
|
||||
"checkedAt": "2026-08-08T01:58:48.212Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "入库单详情包含托盘库位、文件、备注和状态历史",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/inbounds/2085908549518012417?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3bf50e55-ab10-4da5-84f1-ed4c6a8218f3, 1bb3971c-1ca4-43fd-bf4f-df29c69daf29",
|
||||
"traceId": "8df76fb788f44bcaa521ca3623caf22c",
|
||||
"evidence": "inboundId=2085908549518012417, history=1",
|
||||
"checkedAt": "2026-08-08T01:58:48.212Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询入库单列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/inbounds?tenantId=10001&inboundCode=RK-2085908544302415874&page=1&size=100"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "77756604-d418-4061-8bb0-4c3e9f1ff147, 05844fd5-68b6-41bc-b63d-f238c7a6fa50",
|
||||
"traceId": "c356efe5a4b349fa8624a956bb4a545f",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:48.250Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 入库单列表只核对本轮入库单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/inbounds?tenantId=10001&inboundCode=RK-2085908544302415874&page=1&size=100"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "77756604-d418-4061-8bb0-4c3e9f1ff147, 05844fd5-68b6-41bc-b63d-f238c7a6fa50",
|
||||
"traceId": "c356efe5a4b349fa8624a956bb4a545f",
|
||||
"evidence": "inboundId=2085908549518012417, total=1",
|
||||
"checkedAt": "2026-08-08T01:58:48.251Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询本轮订单履约任务",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/tasks/by-order/2085908544302415874?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "头程履约任务不存在",
|
||||
"requestId": "dcede4ed-e6e3-4037-a5b3-8b5a2b41b447",
|
||||
"traceId": "689fe50d1c4140debc77cb9c358dff84",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:48.287Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "履约任务与本轮订单和客户一致",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/tasks/by-order/2085908544302415874?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "头程履约任务不存在",
|
||||
"requestId": "dcede4ed-e6e3-4037-a5b3-8b5a2b41b447",
|
||||
"traceId": "689fe50d1c4140debc77cb9c358dff84",
|
||||
"evidence": "taskId=missing, status=missing",
|
||||
"checkedAt": "2026-08-08T01:58:48.287Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 受理本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085908544302415874/accept?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "fcaf6403-0b07-45ab-aea0-0060bef0d8a1, 56cb5483-3a9b-4cc2-b36f-941caf68892c",
|
||||
"traceId": "c807bc35c9d548de905c0fb365d43f8a",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:48.328Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 启动本轮订单履约",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085908544302415874/start?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "8fc7773f-c7fa-45b1-94e9-214d456cd01b, 50b6afb8-5586-4d33-993c-f5d4914c591b",
|
||||
"traceId": "3e4a441b3683484e80228080f3b3aa53",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:48.374Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 回查本轮订单履约状态",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085908544302415874?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "be32f8d8-9186-4350-a025-e7acd0ba707b, 3fc8db0b-dc64-40fe-a67c-e82b5103dd28",
|
||||
"traceId": "7cdaeb99beb64aec8290800701610733",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T01:58:48.416Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "本轮订单已进入处理中且保留状态历史",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085908544302415874?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "be32f8d8-9186-4350-a025-e7acd0ba707b, 3fc8db0b-dc64-40fe-a67c-e82b5103dd28",
|
||||
"traceId": "7cdaeb99beb64aec8290800701610733",
|
||||
"evidence": "status=PROCESSING, history=5",
|
||||
"checkedAt": "2026-08-08T01:58:48.416Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,777 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808020600398",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T02:06:01.284Z",
|
||||
"startedAt": "2026-08-08T02:06:00.398Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 38,
|
||||
"passed": 34,
|
||||
"failed": 4
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "customers",
|
||||
"startedAt": "2026-08-08T02:06:00.764Z",
|
||||
"finishedAt": "2026-08-08T02:06:01.284Z",
|
||||
"success": false,
|
||||
"passed": 33,
|
||||
"failed": 4,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "customer-dimension-rules",
|
||||
"module": "customers",
|
||||
"success": true,
|
||||
"deploymentBlocked": false,
|
||||
"passed": 13,
|
||||
"failed": 0
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-owner-provisioning",
|
||||
"name": "创建客户生成初始密码",
|
||||
"evidence": "generated=false, length=0",
|
||||
"code": "200",
|
||||
"requestId": "1f863aad-18a9-4bd0-903d-54b6137a1e97, 5cde4d63-7324-42c5-8302-73f092b285e8",
|
||||
"traceId": "4675d04359f7429b99de4d6ff4582045"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-owner-provisioning",
|
||||
"name": "管理员用户名默认使用联系电话",
|
||||
"evidence": "matches=false",
|
||||
"code": "200",
|
||||
"requestId": "1f863aad-18a9-4bd0-903d-54b6137a1e97, 5cde4d63-7324-42c5-8302-73f092b285e8",
|
||||
"traceId": "4675d04359f7429b99de4d6ff4582045"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-owner-provisioning",
|
||||
"name": "联系电话账号是企业管理员",
|
||||
"evidence": "ownerFound=false, matches=false",
|
||||
"code": "200",
|
||||
"requestId": "4e38b00f-9877-448f-9c54-d7a4a604bf79, 6261cac3-bf0d-4e9c-81f5-19edb4a89bec",
|
||||
"traceId": "261ac37d19d94fa0a6108d65333c84c6"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-draft-archive",
|
||||
"name": "归档测试客户",
|
||||
"evidence": "tenantId=2085910365380136962",
|
||||
"code": "S0500",
|
||||
"requestId": "d7382957-3ac8-44a5-bf1d-fb10394f2181",
|
||||
"traceId": "33ede0d091f644a283c541e91aa0ab65"
|
||||
}
|
||||
],
|
||||
"createdResources": {
|
||||
"customer": {
|
||||
"tenantId": "2085910365380136962",
|
||||
"marker": "ADMIN-API-20260808020600398",
|
||||
"contactPhone": "16154760765"
|
||||
}
|
||||
},
|
||||
"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": "4c559599-241d-4e9d-a8cd-717f333037b8, 6c7f9a77-889f-484f-b39a-b6755a68779f",
|
||||
"traceId": "3765d7a68a1d4d85bab38362c14f15c2",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:06:00.764Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "检查测试联系电话可用性",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16154760765"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "32c4883f-a91f-4212-a0cd-269c521726a0, ab347d17-f86f-43b3-b904-6c45cb78dcf9",
|
||||
"traceId": "de191475b4d84f88998330c796c56d1a",
|
||||
"evidence": "attempt=1",
|
||||
"checkedAt": "2026-08-08T02:06:00.806Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "创建客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1f863aad-18a9-4bd0-903d-54b6137a1e97, 5cde4d63-7324-42c5-8302-73f092b285e8",
|
||||
"traceId": "4675d04359f7429b99de4d6ff4582045",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:06:00.850Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "创建响应客户字段完整",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1f863aad-18a9-4bd0-903d-54b6137a1e97, 5cde4d63-7324-42c5-8302-73f092b285e8",
|
||||
"traceId": "4675d04359f7429b99de4d6ff4582045",
|
||||
"evidence": "missing=none",
|
||||
"checkedAt": "2026-08-08T02:06:00.850Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "新客户基础字段正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1f863aad-18a9-4bd0-903d-54b6137a1e97, 5cde4d63-7324-42c5-8302-73f092b285e8",
|
||||
"traceId": "4675d04359f7429b99de4d6ff4582045",
|
||||
"evidence": "tenantId=2085910365380136962, status=PROFILE_REQUIRED",
|
||||
"checkedAt": "2026-08-08T02:06:00.850Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-owner-provisioning",
|
||||
"name": "创建客户生成初始密码",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1f863aad-18a9-4bd0-903d-54b6137a1e97, 5cde4d63-7324-42c5-8302-73f092b285e8",
|
||||
"traceId": "4675d04359f7429b99de4d6ff4582045",
|
||||
"evidence": "generated=false, length=0",
|
||||
"checkedAt": "2026-08-08T02:06:00.850Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-owner-provisioning",
|
||||
"name": "管理员用户名默认使用联系电话",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1f863aad-18a9-4bd0-903d-54b6137a1e97, 5cde4d63-7324-42c5-8302-73f092b285e8",
|
||||
"traceId": "4675d04359f7429b99de4d6ff4582045",
|
||||
"evidence": "matches=false",
|
||||
"checkedAt": "2026-08-08T02:06:00.850Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "待完善客户的审核字段保持为空",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1f863aad-18a9-4bd0-903d-54b6137a1e97, 5cde4d63-7324-42c5-8302-73f092b285e8",
|
||||
"traceId": "4675d04359f7429b99de4d6ff4582045",
|
||||
"evidence": "creditCode=omitted, approvedAt=omitted",
|
||||
"checkedAt": "2026-08-08T02:06:00.850Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "新客户尺寸规则可查询",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c2b20bbb-3ca8-43c2-8eb1-3dbb47fc71de, 87759826-5c05-4ff9-8567-c708ee171a80",
|
||||
"traceId": "a1535addd49848878e84957c42d65e7c",
|
||||
"evidence": "tenantId=2085910365380136962",
|
||||
"checkedAt": "2026-08-08T02:06:00.882Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "固定四箱规顺序完整且无重复",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c2b20bbb-3ca8-43c2-8eb1-3dbb47fc71de, 87759826-5c05-4ff9-8567-c708ee171a80",
|
||||
"traceId": "a1535addd49848878e84957c42d65e7c",
|
||||
"evidence": "count=4, order=SMALL,MEDIUM,LARGE,EXTRA_LARGE",
|
||||
"checkedAt": "2026-08-08T02:06:00.882Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "四箱规默认内径、加边和备注正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c2b20bbb-3ca8-43c2-8eb1-3dbb47fc71de, 87759826-5c05-4ff9-8567-c708ee171a80",
|
||||
"traceId": "a1535addd49848878e84957c42d65e7c",
|
||||
"evidence": "defaults=matched",
|
||||
"checkedAt": "2026-08-08T02:06:00.882Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "客户 ID、规则 ID 为字符串且初始版本为0",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c2b20bbb-3ca8-43c2-8eb1-3dbb47fc71de, 87759826-5c05-4ff9-8567-c708ee171a80",
|
||||
"traceId": "a1535addd49848878e84957c42d65e7c",
|
||||
"evidence": "groupTenantIdType=string, rows=string/v0,string/v0,string/v0,string/v0",
|
||||
"checkedAt": "2026-08-08T02:06:00.882Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "默认规则外径与 HALF_UP 三位 CBM 正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c2b20bbb-3ca8-43c2-8eb1-3dbb47fc71de, 87759826-5c05-4ff9-8567-c708ee171a80",
|
||||
"traceId": "a1535addd49848878e84957c42d65e7c",
|
||||
"evidence": "derivedRows=4",
|
||||
"checkedAt": "2026-08-08T02:06:00.882Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "PUT 每行只发送约定7字段并整组保存",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c2b20bbb-3ca8-43c2-8eb1-3dbb47fc71de, 87759826-5c05-4ff9-8567-c708ee171a80",
|
||||
"traceId": "a1535addd49848878e84957c42d65e7c",
|
||||
"evidence": "fields=boxType,innerLengthCm,innerWidthCm,innerHeightCm,edgeAdditionCm,remark,version",
|
||||
"checkedAt": "2026-08-08T02:06:00.882Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "一次 PUT 保存四条三位小数规则",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9448a113-33b2-474b-b2f5-6d4a9ab65acc, f36a1a2b-c50d-4035-9abc-7820481390f5",
|
||||
"traceId": "ad86761022ae47e98793789acda99f56",
|
||||
"evidence": "rows=4",
|
||||
"checkedAt": "2026-08-08T02:06:00.919Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "修改后四行版本+1且派生外径/CBM正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9448a113-33b2-474b-b2f5-6d4a9ab65acc, f36a1a2b-c50d-4035-9abc-7820481390f5",
|
||||
"traceId": "ad86761022ae47e98793789acda99f56",
|
||||
"evidence": "versions=1,1,1,1",
|
||||
"checkedAt": "2026-08-08T02:06:00.919Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "旧 version 重放 PUT 返回冲突",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "箱规尺寸配置已被修改,请刷新后重试",
|
||||
"requestId": "afa9f40a-9b2b-4f70-a788-454d762dc5da",
|
||||
"traceId": "56c946c77a5b4befb42727cfe28e5710",
|
||||
"evidence": "HTTP=200, code=A0409",
|
||||
"checkedAt": "2026-08-08T02:06:00.943Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "冲突后重新查询四条规则",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f18c251b-bbda-4cb2-b6f6-fd826709a1eb, 70013868-202c-4147-b8a3-68426a4e9d63",
|
||||
"traceId": "29a534c8a04d462e87f979f04fbccbe5",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:06:00.975Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "冲突请求未造成四行部分更新",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f18c251b-bbda-4cb2-b6f6-fd826709a1eb, 70013868-202c-4147-b8a3-68426a4e9d63",
|
||||
"traceId": "29a534c8a04d462e87f979f04fbccbe5",
|
||||
"evidence": "unchangedRows=4",
|
||||
"checkedAt": "2026-08-08T02:06:00.975Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "恢复本轮修改前的四箱规配置",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "31537a8d-cd3e-403d-9ff3-52e722046fa2, add8c74d-b88a-42d9-9d2c-75dd4dc09064",
|
||||
"traceId": "9e8f45ceebff4cefb032b1f754542797",
|
||||
"evidence": "restore=original-values",
|
||||
"checkedAt": "2026-08-08T02:06:01.011Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-dimension-rules",
|
||||
"name": "尺寸规则恢复后回显与初始值一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "31537a8d-cd3e-403d-9ff3-52e722046fa2, add8c74d-b88a-42d9-9d2c-75dd4dc09064",
|
||||
"traceId": "9e8f45ceebff4cefb032b1f754542797",
|
||||
"evidence": "restoredRows=4",
|
||||
"checkedAt": "2026-08-08T02:06:01.011Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "查询客户列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants?page=1&size=20&keyword=%E5%90%8E%E5%8F%B0%E5%AE%A2%E6%88%B7%E9%AA%8C%E6%94%B6-808020600398"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3ee91990-b379-4968-b0e3-ab08d13fe8ba, ced818cf-b7d1-472d-b0e6-f8f10e7b32e6",
|
||||
"traceId": "34abafb02a9a46938c58fd5f34c55318",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:06:01.038Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "列表包含新客户且字段完整",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants?page=1&size=20&keyword=%E5%90%8E%E5%8F%B0%E5%AE%A2%E6%88%B7%E9%AA%8C%E6%94%B6-808020600398"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3ee91990-b379-4968-b0e3-ab08d13fe8ba, ced818cf-b7d1-472d-b0e6-f8f10e7b32e6",
|
||||
"traceId": "34abafb02a9a46938c58fd5f34c55318",
|
||||
"evidence": "found=true, missing=none",
|
||||
"checkedAt": "2026-08-08T02:06:01.038Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "查询客户详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6d694ce1-49a2-4206-ac59-9345219cd35b, de69b6a5-4b88-4a77-8df4-6d6361f23fa1",
|
||||
"traceId": "21a96c4ca1f7428ca74a8050916999a7",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:06:01.068Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户详情基本信息正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6d694ce1-49a2-4206-ac59-9345219cd35b, de69b6a5-4b88-4a77-8df4-6d6361f23fa1",
|
||||
"traceId": "21a96c4ca1f7428ca74a8050916999a7",
|
||||
"evidence": "tenantId=2085910365380136962",
|
||||
"checkedAt": "2026-08-08T02:06:01.068Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "编辑客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e650c62c-ccf0-46c4-859a-6857c73c0aa4, f07c58e3-72cb-4615-9733-30b838835ebc",
|
||||
"traceId": "87a1412e0b984ae2b627f1262010504d",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:06:01.100Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户编辑正确回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e650c62c-ccf0-46c4-859a-6857c73c0aa4, f07c58e3-72cb-4615-9733-30b838835ebc",
|
||||
"traceId": "87a1412e0b984ae2b627f1262010504d",
|
||||
"evidence": "tenantId=2085910365380136962",
|
||||
"checkedAt": "2026-08-08T02:06:01.100Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "回查客户编辑结果",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "eac35a1c-d37f-4ddb-b88a-c0e28f3e2a8e, 5972f9bb-2da2-4b89-b081-a630190123b1",
|
||||
"traceId": "0570893840f145fd815a48af13bbb159",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:06:01.127Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "客户编辑已持久化",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "eac35a1c-d37f-4ddb-b88a-c0e28f3e2a8e, 5972f9bb-2da2-4b89-b081-a630190123b1",
|
||||
"traceId": "0570893840f145fd815a48af13bbb159",
|
||||
"evidence": "tenantId=2085910365380136962",
|
||||
"checkedAt": "2026-08-08T02:06:01.127Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况查询资质",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085910365380136962/qualifications"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b66ce26f-5511-4416-950c-0d8ff2ceff2e, 20900824-11f2-4bd9-9ee5-78db4267de35",
|
||||
"traceId": "4f08664e2e8c4ed18f9c87292e25085e",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:06:01.159Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "资质概况结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085910365380136962/qualifications"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b66ce26f-5511-4416-950c-0d8ff2ceff2e, 20900824-11f2-4bd9-9ee5-78db4267de35",
|
||||
"traceId": "4f08664e2e8c4ed18f9c87292e25085e",
|
||||
"evidence": "count=0",
|
||||
"checkedAt": "2026-08-08T02:06:01.159Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况查询成员",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085910365380136962/members"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "4e38b00f-9877-448f-9c54-d7a4a604bf79, 6261cac3-bf0d-4e9c-81f5-19edb4a89bec",
|
||||
"traceId": "261ac37d19d94fa0a6108d65333c84c6",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:06:01.189Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-owner-provisioning",
|
||||
"name": "联系电话账号是企业管理员",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085910365380136962/members"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "4e38b00f-9877-448f-9c54-d7a4a604bf79, 6261cac3-bf0d-4e9c-81f5-19edb4a89bec",
|
||||
"traceId": "261ac37d19d94fa0a6108d65333c84c6",
|
||||
"evidence": "ownerFound=false, matches=false",
|
||||
"checkedAt": "2026-08-08T02:06:01.189Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况查询运单数量",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/tenant-counts?tenantIds=2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "82d5ea41-1dbd-4d11-a353-fed6e3f69b58, 84dc0125-532d-4c5a-a591-563cd57eb2f0",
|
||||
"traceId": "a5c195d8f66e4ebd9f778724c84fef5e",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:06:01.221Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "业务概况返回当前客户运单数",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/tenant-counts?tenantIds=2085910365380136962"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "82d5ea41-1dbd-4d11-a353-fed6e3f69b58, 84dc0125-532d-4c5a-a591-563cd57eb2f0",
|
||||
"traceId": "a5c195d8f66e4ebd9f778724c84fef5e",
|
||||
"evidence": "orderCount=0",
|
||||
"checkedAt": "2026-08-08T02:06:01.221Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "查询客户运单记录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=2085910365380136962&page=1&size=10"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9c31f043-204a-426e-bd31-b12b2f858269, dd5e3362-ec45-4f90-a7f2-3ebed8f18794",
|
||||
"traceId": "4aa7a5a101ab45c8ad97c173ff98f13c",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:06:01.253Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": null,
|
||||
"name": "运单记录分页结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=2085910365380136962&page=1&size=10"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9c31f043-204a-426e-bd31-b12b2f858269, dd5e3362-ec45-4f90-a7f2-3ebed8f18794",
|
||||
"traceId": "4aa7a5a101ab45c8ad97c173ff98f13c",
|
||||
"evidence": "records=0, total=0",
|
||||
"checkedAt": "2026-08-08T02:06:01.253Z"
|
||||
},
|
||||
{
|
||||
"module": "customers",
|
||||
"scenario": "customer-draft-archive",
|
||||
"name": "归档测试客户",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085910365380136962/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "S0500",
|
||||
"message": "Internal server error",
|
||||
"requestId": "d7382957-3ac8-44a5-bf1d-fb10394f2181",
|
||||
"traceId": "33ede0d091f644a283c541e91aa0ab65",
|
||||
"evidence": "tenantId=2085910365380136962",
|
||||
"checkedAt": "2026-08-08T02:06:01.284Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,288 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808021317129",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T02:13:18.249Z",
|
||||
"startedAt": "2026-08-08T02:13:17.129Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 12,
|
||||
"passed": 4,
|
||||
"failed": 8
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "orders",
|
||||
"startedAt": "2026-08-08T02:13:17.613Z",
|
||||
"finishedAt": "2026-08-08T02:13:18.186Z",
|
||||
"success": false,
|
||||
"passed": 3,
|
||||
"failed": 7,
|
||||
"fatal": "缺少创建测试订单所需的收货仓或目的仓"
|
||||
},
|
||||
{
|
||||
"name": "inbound-weight-ocr",
|
||||
"startedAt": "2026-08-08T02:13:18.188Z",
|
||||
"finishedAt": "2026-08-08T02:13:18.249Z",
|
||||
"success": false,
|
||||
"passed": 0,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "weight-image-recognition-and-confirmation",
|
||||
"module": "inbound-weight-ocr",
|
||||
"success": false,
|
||||
"deploymentBlocked": false,
|
||||
"passed": 0,
|
||||
"failed": 1
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Admin 查询客户固定箱型",
|
||||
"evidence": "tenantId=10001",
|
||||
"code": null,
|
||||
"requestId": "000491d0-2057",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "固定四箱型顺序、内径及每边加2cm正确",
|
||||
"evidence": "types=missing",
|
||||
"code": null,
|
||||
"requestId": "000491d0-2057",
|
||||
"traceId": null
|
||||
}
|
||||
],
|
||||
"createdResources": {},
|
||||
"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": "0ab24bf5-f65c-4c9e-98ac-686032ee17c4, 5de04702-c17c-4a47-b824-ac05b6fa8801",
|
||||
"traceId": "142f895f3b8546a6966df4ae56fcb6da",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:13:17.612Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试账号登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0c5a6873-bb38-4be1-96f4-97ee438adbc5, 77a28b17-ead2-4562-9620-9c5ab9abc82b",
|
||||
"traceId": "7fa548e89954462eb6c67db4bed51844",
|
||||
"evidence": "username=merchant_admin",
|
||||
"checkedAt": "2026-08-08T02:13:18.048Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询当前企业资料",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c578974b-d386-4c2d-88cd-0de93fcb1d7e, 5669ad2d-1772-4162-ae07-989f738a9b3d",
|
||||
"traceId": "40123a07c80d4bdfb70a4b460d9d92a9",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:13:18.091Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试企业已审核且客户 ID 有效",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c578974b-d386-4c2d-88cd-0de93fcb1d7e, 5669ad2d-1772-4162-ae07-989f738a9b3d",
|
||||
"traceId": "40123a07c80d4bdfb70a4b460d9d92a9",
|
||||
"evidence": "tenantId=10001, status=ACTIVE",
|
||||
"checkedAt": "2026-08-08T02:13:18.091Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Admin 查询客户固定箱型",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "000491d0-2057",
|
||||
"traceId": null,
|
||||
"evidence": "tenantId=10001",
|
||||
"checkedAt": "2026-08-08T02:13:18.124Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "固定四箱型顺序、内径及每边加2cm正确",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "000491d0-2057",
|
||||
"traceId": null,
|
||||
"evidence": "types=missing",
|
||||
"checkedAt": "2026-08-08T02:13:18.124Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询国内收货仓",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "37626d2f-2058",
|
||||
"traceId": null,
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:13:18.159Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用国内收货仓",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "37626d2f-2058",
|
||||
"traceId": null,
|
||||
"evidence": "count=0",
|
||||
"checkedAt": "2026-08-08T02:13:18.159Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询 FBA 目的仓",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "000491d0-2059",
|
||||
"traceId": null,
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:13:18.186Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用 FBA 目的仓",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "000491d0-2059",
|
||||
"traceId": null,
|
||||
"evidence": "count=0",
|
||||
"checkedAt": "2026-08-08T02:13:18.186Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "模块执行",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "缺少创建测试订单所需的收货仓或目的仓",
|
||||
"checkedAt": "2026-08-08T02:13:18.186Z"
|
||||
},
|
||||
{
|
||||
"module": "inbound-weight-ocr",
|
||||
"scenario": "weight-image-recognition-and-confirmation",
|
||||
"name": "仅选择带本轮测试标记的可编辑入库单",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "marker=ADMIN-API-20260808021317129, 未找到本轮创建且状态为 WAIT_MEASURE/MEASURING/MEASURE_REJECTED 的入库单",
|
||||
"checkedAt": "2026-08-08T02:13:18.249Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808021429703",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T02:14:30.190Z",
|
||||
"startedAt": "2026-08-08T02:14:29.703Z",
|
||||
"success": false,
|
||||
"fatal": "平台管理员登录失败,未执行业务模块",
|
||||
"summary": {
|
||||
"total": 1,
|
||||
"passed": 0,
|
||||
"failed": 1
|
||||
},
|
||||
"modules": [],
|
||||
"scenarios": [],
|
||||
"deploymentBlockers": [],
|
||||
"createdResources": {},
|
||||
"excluded": [
|
||||
{
|
||||
"scope": "dashboard",
|
||||
"reason": "首页为静态演示数据,不调用后端 API"
|
||||
},
|
||||
{
|
||||
"scope": "hidden-prototypes",
|
||||
"reason": "隐藏原型页面尚无已确认后端契约"
|
||||
}
|
||||
],
|
||||
"securityNote": "报告不保存登录密码、Access Token、Refresh Token、图片二进制或 OCR 原文全文。",
|
||||
"steps": [
|
||||
{
|
||||
"module": "authentication",
|
||||
"scenario": null,
|
||||
"name": "平台管理员登录",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "S0503",
|
||||
"message": "IAM 权限服务暂时不可用",
|
||||
"requestId": "ff84ec01-d420-4118-9590-2c358d8654af",
|
||||
"traceId": "f1f5b5009a1740db96bbf1efff8d0b09",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:14:30.190Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,378 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808021540611",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T02:15:45.804Z",
|
||||
"startedAt": "2026-08-08T02:15:40.612Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 17,
|
||||
"passed": 13,
|
||||
"failed": 4
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "orders",
|
||||
"startedAt": "2026-08-08T02:15:41.594Z",
|
||||
"finishedAt": "2026-08-08T02:15:45.414Z",
|
||||
"success": false,
|
||||
"passed": 12,
|
||||
"failed": 3,
|
||||
"fatal": "产品图片新契约未部署,无法创建带图片的隔离订单"
|
||||
},
|
||||
{
|
||||
"name": "inbound-weight-ocr",
|
||||
"startedAt": "2026-08-08T02:15:45.416Z",
|
||||
"finishedAt": "2026-08-08T02:15:45.804Z",
|
||||
"success": false,
|
||||
"passed": 0,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "weight-image-recognition-and-confirmation",
|
||||
"module": "inbound-weight-ocr",
|
||||
"success": false,
|
||||
"deploymentBlocked": false,
|
||||
"passed": 0,
|
||||
"failed": 1
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 上传产品图片",
|
||||
"evidence": "contentType=image/png",
|
||||
"code": null,
|
||||
"requestId": "700de02f-10",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "产品图片上传返回字符串文件 ID",
|
||||
"evidence": "fileIdType=undefined, contentType=missing",
|
||||
"code": null,
|
||||
"requestId": "700de02f-10",
|
||||
"traceId": null
|
||||
}
|
||||
],
|
||||
"createdResources": {},
|
||||
"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": "6d4b2e6d-8811-4f56-a889-e595ff7cb503, 7f19250e-90f1-49df-a269-0f758c4be79e",
|
||||
"traceId": "d89b6dad97df4c2c842ba58703984168",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:15:41.592Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试账号登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "8032a1de-240f-431c-8e79-de1b31484353, 272c9865-6588-4524-929d-d3d049d6d95a",
|
||||
"traceId": "adc915919bc3446fa4f9472da2d43352",
|
||||
"evidence": "username=merchant_admin",
|
||||
"checkedAt": "2026-08-08T02:15:42.008Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询当前企业资料",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "eafa4f3a-9cc3-4ee6-a91c-2e5fdc0e3ebe, ee54cfa1-250a-4a96-b540-e6a02962480f",
|
||||
"traceId": "36a69786b59548b985c67f49d970a51c",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:15:42.655Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试企业已审核且客户 ID 有效",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "eafa4f3a-9cc3-4ee6-a91c-2e5fdc0e3ebe, ee54cfa1-250a-4a96-b540-e6a02962480f",
|
||||
"traceId": "36a69786b59548b985c67f49d970a51c",
|
||||
"evidence": "tenantId=10001, status=ACTIVE",
|
||||
"checkedAt": "2026-08-08T02:15:42.655Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Admin 查询客户固定箱型",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b701963f-025e-4612-af31-f7997c04094a, dc095ff3-98d0-4c26-b6b3-b51b5fcac89f",
|
||||
"traceId": "48bb3f6f9ae941f09122277efdcb92ce",
|
||||
"evidence": "tenantId=10001",
|
||||
"checkedAt": "2026-08-08T02:15:43.480Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "固定四箱型顺序、内径及每边加2cm正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b701963f-025e-4612-af31-f7997c04094a, dc095ff3-98d0-4c26-b6b3-b51b5fcac89f",
|
||||
"traceId": "48bb3f6f9ae941f09122277efdcb92ce",
|
||||
"evidence": "types=SMALL,MEDIUM,LARGE,EXTRA_LARGE",
|
||||
"checkedAt": "2026-08-08T02:15:43.480Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "43c7b3a0-810e-4566-972b-c0ab53203622, 6c4c9fb8-8370-4744-bdf0-1a2ea0dc2fc9",
|
||||
"traceId": "8797b3f5ce7c4a18928ba0353691eb41",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:15:44.944Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "43c7b3a0-810e-4566-972b-c0ab53203622, 6c4c9fb8-8370-4744-bdf0-1a2ea0dc2fc9",
|
||||
"traceId": "8797b3f5ce7c4a18928ba0353691eb41",
|
||||
"evidence": "count=2",
|
||||
"checkedAt": "2026-08-08T02:15:44.944Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "26ba298e-5f94-4132-bf84-578083f21fad, bd16e2d8-0559-4b4b-9793-0daec1be7a90",
|
||||
"traceId": "f0fa3d314cba4f96aaf8ebf4900ef648",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:15:45.113Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "26ba298e-5f94-4132-bf84-578083f21fad, bd16e2d8-0559-4b4b-9793-0daec1be7a90",
|
||||
"traceId": "f0fa3d314cba4f96aaf8ebf4900ef648",
|
||||
"evidence": "count=200",
|
||||
"checkedAt": "2026-08-08T02:15:45.113Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询可用计费渠道",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b8484f51-9267-4002-9a7b-40d2d4466d38, b3845f30-7193-4c73-b90a-8cb198149137",
|
||||
"traceId": "7a6a7d17aae1429e8f48162205b7f2fa",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:15:45.192Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在带计价税制的可用渠道",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b8484f51-9267-4002-9a7b-40d2d4466d38, b3845f30-7193-4c73-b90a-8cb198149137",
|
||||
"traceId": "7a6a7d17aae1429e8f48162205b7f2fa",
|
||||
"evidence": "count=15",
|
||||
"checkedAt": "2026-08-08T02:15:45.193Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询发货客户候选",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/partners/candidates?type=SHIPPER"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c0310692-e6a1-4dde-9828-c7f084c75cbe, 513ea693-c31e-47e7-a746-b8a9499ff48a",
|
||||
"traceId": "5955689a145d42a8ad2b293b67b8b3fb",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:15:45.289Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 上传产品图片",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/files/product-images"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "700de02f-10",
|
||||
"traceId": null,
|
||||
"evidence": "contentType=image/png",
|
||||
"checkedAt": "2026-08-08T02:15:45.413Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "产品图片上传返回字符串文件 ID",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/files/product-images"
|
||||
},
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "700de02f-10",
|
||||
"traceId": null,
|
||||
"evidence": "fileIdType=undefined, contentType=missing",
|
||||
"checkedAt": "2026-08-08T02:15:45.414Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "模块执行",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "产品图片新契约未部署,无法创建带图片的隔离订单",
|
||||
"checkedAt": "2026-08-08T02:15:45.414Z"
|
||||
},
|
||||
{
|
||||
"module": "inbound-weight-ocr",
|
||||
"scenario": "weight-image-recognition-and-confirmation",
|
||||
"name": "仅选择带本轮测试标记的可编辑入库单",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "marker=ADMIN-API-20260808021540611, 未找到本轮创建且状态为 WAIT_MEASURE/MEASURING/MEASURE_REJECTED 的入库单",
|
||||
"checkedAt": "2026-08-08T02:15:45.804Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,780 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808021651990",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T02:17:14.712Z",
|
||||
"startedAt": "2026-08-08T02:16:51.990Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 39,
|
||||
"passed": 36,
|
||||
"failed": 3
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "orders",
|
||||
"startedAt": "2026-08-08T02:16:52.371Z",
|
||||
"finishedAt": "2026-08-08T02:17:14.620Z",
|
||||
"success": false,
|
||||
"passed": 35,
|
||||
"failed": 2,
|
||||
"fatal": "订单审核后的入库单契约未部署,无法向 OCR/墨家模块交接"
|
||||
},
|
||||
{
|
||||
"name": "inbound-weight-ocr",
|
||||
"startedAt": "2026-08-08T02:17:14.621Z",
|
||||
"finishedAt": "2026-08-08T02:17:14.712Z",
|
||||
"success": false,
|
||||
"passed": 0,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "weight-image-recognition-and-confirmation",
|
||||
"module": "inbound-weight-ocr",
|
||||
"success": false,
|
||||
"deploymentBlocked": false,
|
||||
"passed": 0,
|
||||
"failed": 1
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "审核后生成隔离入库单",
|
||||
"evidence": "20秒内未返回 inboundId",
|
||||
"code": "S0503",
|
||||
"requestId": "40ba574d-240f-47d9-a6cb-2aecc922b0ff",
|
||||
"traceId": "75a3df822dce4d60a7b02e8906c487e2"
|
||||
}
|
||||
],
|
||||
"createdResources": {
|
||||
"orders": {
|
||||
"marker": "ADMIN-API-20260808021651990",
|
||||
"tenantId": "10001",
|
||||
"orderId": "2085913101392740353",
|
||||
"productImageFileId": "2085913100780371970",
|
||||
"boxTypes": [
|
||||
"SMALL",
|
||||
"MEDIUM",
|
||||
"LARGE",
|
||||
"EXTRA_LARGE"
|
||||
],
|
||||
"inboundId": null,
|
||||
"orderNo": "FL2085913101392740353"
|
||||
}
|
||||
},
|
||||
"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": "e272618f-4e86-4b6a-ba0c-487af0c7ac6d, 49ea627a-9612-431a-8884-72fc25ffe15c",
|
||||
"traceId": "36c286458df84c698ec00318c68f23dd",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:16:52.369Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试账号登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "12dbaf22-d81e-4a3a-9fc3-49958a9bd3ae, f224dadb-eefc-4d98-8b8e-79ef0c0414d0",
|
||||
"traceId": "0f9813a6b2f24803a71c74a665acd36e",
|
||||
"evidence": "username=merchant_admin",
|
||||
"checkedAt": "2026-08-08T02:16:52.719Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询当前企业资料",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3368029c-78c4-4a7e-bf64-dfa159720729, b3bf6a65-de45-41f1-b211-d02f46ade1be",
|
||||
"traceId": "c45e982e250c467a9483081e349c9487",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:16:52.745Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试企业已审核且客户 ID 有效",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3368029c-78c4-4a7e-bf64-dfa159720729, b3bf6a65-de45-41f1-b211-d02f46ade1be",
|
||||
"traceId": "c45e982e250c467a9483081e349c9487",
|
||||
"evidence": "tenantId=10001, status=ACTIVE",
|
||||
"checkedAt": "2026-08-08T02:16:52.745Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Admin 查询客户固定箱型",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a54b86f9-cd41-493c-b02e-d8ca707b8142, 633dc5d0-7a56-49a2-8028-40be150ca3b4",
|
||||
"traceId": "2b2232099c934fbf876d0b384a54dd2e",
|
||||
"evidence": "tenantId=10001",
|
||||
"checkedAt": "2026-08-08T02:16:52.779Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "固定四箱型顺序、内径及每边加2cm正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a54b86f9-cd41-493c-b02e-d8ca707b8142, 633dc5d0-7a56-49a2-8028-40be150ca3b4",
|
||||
"traceId": "2b2232099c934fbf876d0b384a54dd2e",
|
||||
"evidence": "types=SMALL,MEDIUM,LARGE,EXTRA_LARGE",
|
||||
"checkedAt": "2026-08-08T02:16:52.779Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7db19d61-25d3-4105-90d2-12118b7e3ccb, db7843ae-a339-4e87-877c-7be642074ade",
|
||||
"traceId": "e6f82e098e9641ffb688549437438af6",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:16:52.824Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7db19d61-25d3-4105-90d2-12118b7e3ccb, db7843ae-a339-4e87-877c-7be642074ade",
|
||||
"traceId": "e6f82e098e9641ffb688549437438af6",
|
||||
"evidence": "count=2",
|
||||
"checkedAt": "2026-08-08T02:16:52.824Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "4e7d7a42-f778-47fa-a45d-128d003fb634, 62bee44e-e55a-4b72-8a6f-f2cc3b8c052c",
|
||||
"traceId": "18698b25d0004d87bc0e00ea935b1526",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:16:52.897Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "4e7d7a42-f778-47fa-a45d-128d003fb634, 62bee44e-e55a-4b72-8a6f-f2cc3b8c052c",
|
||||
"traceId": "18698b25d0004d87bc0e00ea935b1526",
|
||||
"evidence": "count=200",
|
||||
"checkedAt": "2026-08-08T02:16:52.898Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询可用计费渠道",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "562d3951-bb94-4b66-810a-26f2026e5330, 2ae0789c-1f0d-4507-90b9-22583a0db68e",
|
||||
"traceId": "400f283c7e5042caacbe50b60e97bf34",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:16:52.942Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在带计价税制的可用渠道",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "562d3951-bb94-4b66-810a-26f2026e5330, 2ae0789c-1f0d-4507-90b9-22583a0db68e",
|
||||
"traceId": "400f283c7e5042caacbe50b60e97bf34",
|
||||
"evidence": "count=15",
|
||||
"checkedAt": "2026-08-08T02:16:52.942Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询发货客户候选",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/partners/candidates?type=SHIPPER"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f048d5dd-2640-435a-b765-58198f727648, cd8380eb-c1bd-4089-ac1a-12845ff1a0b7",
|
||||
"traceId": "e86dfd6fb2254adc9b7065fea9ebd0bc",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:16:52.978Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 上传产品图片",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/files/product-images"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "801af666-8a7d-43c2-8a35-b0c4caafc377, 6e6b965b-1f72-43ef-b010-b06a657e2a84",
|
||||
"traceId": "3ed0546f615a455a911a0c6c4f135c71",
|
||||
"evidence": "contentType=image/png",
|
||||
"checkedAt": "2026-08-08T02:16:53.015Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "产品图片上传返回字符串文件 ID",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/files/product-images"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "801af666-8a7d-43c2-8a35-b0c4caafc377, 6e6b965b-1f72-43ef-b010-b06a657e2a84",
|
||||
"traceId": "3ed0546f615a455a911a0c6c4f135c71",
|
||||
"evidence": "fileIdType=string, contentType=image/png",
|
||||
"checkedAt": "2026-08-08T02:16:53.015Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 可下载本轮产品图片",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/files/product-images/2085913100780371970"
|
||||
},
|
||||
"http": 200,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "2286600c-e017-47a6-97ac-918a72a1aaac, 863ceda5-6595-405e-b840-b3c6cf58921a",
|
||||
"traceId": "a4ba09bf35fa401bb7791b86c4fa22f5",
|
||||
"evidence": "bytes=68, contentType=image/png",
|
||||
"checkedAt": "2026-08-08T02:16:53.055Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 创建四箱型隔离订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1528b351-0fcc-46f6-8cf7-79f377b4b805, 97f0d8fe-6c04-4f21-a097-d65851064fd1",
|
||||
"traceId": "5f3bfaff8b994082ba048cdd8fa5a86d",
|
||||
"evidence": "marker=ADMIN-API-20260808021651990",
|
||||
"checkedAt": "2026-08-08T02:16:53.182Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 创建订单幂等重放",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9761aea8-33b4-4bbf-aa91-842e62a7008e, 8b75e2d0-baa4-4cad-a0e0-f04b0e8ee6d1",
|
||||
"traceId": "09006fcaf41d4c63a7ebc491977b53ae",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:16:53.233Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 创建幂等结果一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9761aea8-33b4-4bbf-aa91-842e62a7008e, 8b75e2d0-baa4-4cad-a0e0-f04b0e8ee6d1",
|
||||
"traceId": "09006fcaf41d4c63a7ebc491977b53ae",
|
||||
"evidence": "orderId=2085913101392740353, replayedId=2085913101392740353",
|
||||
"checkedAt": "2026-08-08T02:16:53.233Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询隔离订单草稿",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085913101392740353"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ca544cb8-1e75-421f-aa95-9faed072cb47, 87bcdea7-b151-416d-9d1b-105870a89e5d",
|
||||
"traceId": "7a4e0dc0d8454770b2cfe718886b367e",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:16:53.273Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 草稿身份、marker 和状态正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085913101392740353"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ca544cb8-1e75-421f-aa95-9faed072cb47, 87bcdea7-b151-416d-9d1b-105870a89e5d",
|
||||
"traceId": "7a4e0dc0d8454770b2cfe718886b367e",
|
||||
"evidence": "orderNo=FL2085913101392740353, status=DRAFT",
|
||||
"checkedAt": "2026-08-08T02:16:53.273Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "四箱型产品字段及图片契约完整回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085913101392740353"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ca544cb8-1e75-421f-aa95-9faed072cb47, 87bcdea7-b151-416d-9d1b-105870a89e5d",
|
||||
"traceId": "7a4e0dc0d8454770b2cfe718886b367e",
|
||||
"evidence": "cargoes=4, imageFileId=2085913100780371970",
|
||||
"checkedAt": "2026-08-08T02:16:53.273Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 提交隔离订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085913101392740353/submit"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "8ee44952-0e26-4b01-8959-b5bbbe6cace3, 8f685c45-7a23-4bfa-9cf8-c57a18f17d23",
|
||||
"traceId": "eee77623ea4448b092825f0f1d0eb999",
|
||||
"evidence": "orderId=2085913101392740353",
|
||||
"checkedAt": "2026-08-08T02:16:53.386Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 回查已提交订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085913101392740353"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2da02ea1-cfcf-47d2-a10f-c39764c6b657, ff179a27-7e26-48c7-a409-202265885d86",
|
||||
"traceId": "9399c417117d43ce9a6bcd02c517c0f2",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:16:53.431Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 订单已进入待审核状态",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085913101392740353"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2da02ea1-cfcf-47d2-a10f-c39764c6b657, ff179a27-7e26-48c7-a409-202265885d86",
|
||||
"traceId": "9399c417117d43ce9a6bcd02c517c0f2",
|
||||
"evidence": "status=SUBMITTED",
|
||||
"checkedAt": "2026-08-08T02:16:53.431Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询统一订单列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders?page=1&size=100&tenantId=10001&orderNo=FL2085913101392740353"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "454e5e07-4344-4de8-afdb-99c366e263cf, abade6f4-90e8-4bee-bc96-45ec2a5897b9",
|
||||
"traceId": "09b015cf86aa4e548e80ee93b9582ff3",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:16:53.527Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 统一订单列表只核对本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders?page=1&size=100&tenantId=10001&orderNo=FL2085913101392740353"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "454e5e07-4344-4de8-afdb-99c366e263cf, abade6f4-90e8-4bee-bc96-45ec2a5897b9",
|
||||
"traceId": "09b015cf86aa4e548e80ee93b9582ff3",
|
||||
"evidence": "orderId=2085913101392740353, found=true",
|
||||
"checkedAt": "2026-08-08T02:16:53.527Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询统一订单详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085913101392740353?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c91190bc-2731-4c60-b569-f2058a410841, c07b4a89-d538-4f02-b3e0-9f60843c27ff",
|
||||
"traceId": "a64f30af38884040973011a84d7f0954",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:16:53.587Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 统一订单详情身份与待审核状态正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085913101392740353?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c91190bc-2731-4c60-b569-f2058a410841, c07b4a89-d538-4f02-b3e0-9f60843c27ff",
|
||||
"traceId": "a64f30af38884040973011a84d7f0954",
|
||||
"evidence": "mainStatus=PENDING_REVIEW, timeline=2",
|
||||
"checkedAt": "2026-08-08T02:16:53.587Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询头程订单列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=10001&keyword=FL2085913101392740353&page=1&size=100"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9d86bda2-951e-4c39-806d-9ea740d9d46b, 33437fe3-3f4b-4ab7-9248-eb222f1714a8",
|
||||
"traceId": "e830d79cacc64cfcbccbeeeef37202b5",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:16:53.681Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 头程订单列表只核对本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=10001&keyword=FL2085913101392740353&page=1&size=100"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9d86bda2-951e-4c39-806d-9ea740d9d46b, 33437fe3-3f4b-4ab7-9248-eb222f1714a8",
|
||||
"traceId": "e830d79cacc64cfcbccbeeeef37202b5",
|
||||
"evidence": "orderId=2085913101392740353, found=true",
|
||||
"checkedAt": "2026-08-08T02:16:53.682Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询头程订单详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085913101392740353?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3c6e7418-6ade-4094-ab9b-4a655fcb69c0, 106d28b4-800b-4cab-95d8-c0295d55fbd8",
|
||||
"traceId": "4eb1b902666b4e52a42f851694ffdb56",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:16:53.732Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 头程订单详情聚合结构完整",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085913101392740353?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3c6e7418-6ade-4094-ab9b-4a655fcb69c0, 106d28b4-800b-4cab-95d8-c0295d55fbd8",
|
||||
"traceId": "4eb1b902666b4e52a42f851694ffdb56",
|
||||
"evidence": "cargoes=4, history=2",
|
||||
"checkedAt": "2026-08-08T02:16:53.732Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "四箱型产品字段及图片契约完整回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085913101392740353?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3c6e7418-6ade-4094-ab9b-4a655fcb69c0, 106d28b4-800b-4cab-95d8-c0295d55fbd8",
|
||||
"traceId": "4eb1b902666b4e52a42f851694ffdb56",
|
||||
"evidence": "cargoes=4, imageFileId=2085913100780371970",
|
||||
"checkedAt": "2026-08-08T02:16:53.732Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 为本轮订单添加内部备注",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085913101392740353/internal-notes?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6d9e2123-2645-405f-a151-50be16b7a9b9, 8a8ccea0-019d-47e7-8d02-3a1157cc56cc",
|
||||
"traceId": "f9c9ab1efed24902a8961d211de3a53b",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:16:53.802Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 审核通过本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085913101392740353/approve?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ded05598-6114-4a8c-81db-a6ca56aa15cc, 0f3e0813-94c5-47a5-b5bd-f7a6761191e3",
|
||||
"traceId": "05d5aab5d5ba45be8087bc4571b11385",
|
||||
"evidence": "orderId=2085913101392740353",
|
||||
"checkedAt": "2026-08-08T02:16:53.891Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "审核后生成隔离入库单",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085913101392740353?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "S0503",
|
||||
"message": "统一订单履约详情响应无效",
|
||||
"requestId": "40ba574d-240f-47d9-a6cb-2aecc922b0ff",
|
||||
"traceId": "75a3df822dce4d60a7b02e8906c487e2",
|
||||
"evidence": "20秒内未返回 inboundId",
|
||||
"checkedAt": "2026-08-08T02:17:14.620Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "模块执行",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "订单审核后的入库单契约未部署,无法向 OCR/墨家模块交接",
|
||||
"checkedAt": "2026-08-08T02:17:14.620Z"
|
||||
},
|
||||
{
|
||||
"module": "inbound-weight-ocr",
|
||||
"scenario": "weight-image-recognition-and-confirmation",
|
||||
"name": "仅选择带本轮测试标记的可编辑入库单",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "marker=ADMIN-API-20260808021651990, 未找到本轮创建且状态为 WAIT_MEASURE/MEASURING/MEASURE_REJECTED 的入库单",
|
||||
"checkedAt": "2026-08-08T02:17:14.712Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,780 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808021813228",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T02:18:35.352Z",
|
||||
"startedAt": "2026-08-08T02:18:13.228Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 39,
|
||||
"passed": 36,
|
||||
"failed": 3
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "orders",
|
||||
"startedAt": "2026-08-08T02:18:13.605Z",
|
||||
"finishedAt": "2026-08-08T02:18:35.262Z",
|
||||
"success": false,
|
||||
"passed": 35,
|
||||
"failed": 2,
|
||||
"fatal": "订单审核后的入库单契约未部署,无法向 OCR/墨家模块交接"
|
||||
},
|
||||
{
|
||||
"name": "inbound-weight-ocr",
|
||||
"startedAt": "2026-08-08T02:18:35.265Z",
|
||||
"finishedAt": "2026-08-08T02:18:35.352Z",
|
||||
"success": false,
|
||||
"passed": 0,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "weight-image-recognition-and-confirmation",
|
||||
"module": "inbound-weight-ocr",
|
||||
"success": false,
|
||||
"deploymentBlocked": false,
|
||||
"passed": 0,
|
||||
"failed": 1
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "审核后生成隔离入库单",
|
||||
"evidence": "20秒内未返回 inboundId",
|
||||
"code": "S0503",
|
||||
"requestId": "438a12d6-5829-4fa2-8574-bc2c403c9f75",
|
||||
"traceId": "9b51ea540a7c4a1f8566eab65620001c"
|
||||
}
|
||||
],
|
||||
"createdResources": {
|
||||
"orders": {
|
||||
"marker": "ADMIN-API-20260808021813228",
|
||||
"tenantId": "10001",
|
||||
"orderId": "2085913442075082754",
|
||||
"productImageFileId": "2085913441529823234",
|
||||
"boxTypes": [
|
||||
"SMALL",
|
||||
"MEDIUM",
|
||||
"LARGE",
|
||||
"EXTRA_LARGE"
|
||||
],
|
||||
"inboundId": null,
|
||||
"orderNo": "FL2085913442075082754"
|
||||
}
|
||||
},
|
||||
"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": "d724b317-473f-40bd-bde9-60aca7e0098c, 8b97525e-c8d8-4c7d-a5d5-323259556645",
|
||||
"traceId": "8627c96e270446d4b5fec252ac976e64",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:18:13.604Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试账号登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "57860ec6-be78-4066-9964-b7fe1b9e5496, 7c21b6f0-25c7-4773-964d-87309affd9e4",
|
||||
"traceId": "2fe3f787c5ed4856b34b72cd4d8831ea",
|
||||
"evidence": "username=merchant_admin",
|
||||
"checkedAt": "2026-08-08T02:18:13.956Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询当前企业资料",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "00b18b0a-89c4-47c8-b861-03725eb1c3fc, 5a026290-cb2e-42d7-9342-e2c76953f974",
|
||||
"traceId": "2068755a0728458b81792de5e31d3ef8",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:18:13.980Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试企业已审核且客户 ID 有效",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "00b18b0a-89c4-47c8-b861-03725eb1c3fc, 5a026290-cb2e-42d7-9342-e2c76953f974",
|
||||
"traceId": "2068755a0728458b81792de5e31d3ef8",
|
||||
"evidence": "tenantId=10001, status=ACTIVE",
|
||||
"checkedAt": "2026-08-08T02:18:13.981Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Admin 查询客户固定箱型",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "18221254-531c-475b-8aa6-b3601f371f1f, 22ac6187-eda0-433f-9a34-c24ea03f5af2",
|
||||
"traceId": "85a09e0acbd64f7d80355872710240f7",
|
||||
"evidence": "tenantId=10001",
|
||||
"checkedAt": "2026-08-08T02:18:14.017Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "固定四箱型顺序、内径及每边加2cm正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "18221254-531c-475b-8aa6-b3601f371f1f, 22ac6187-eda0-433f-9a34-c24ea03f5af2",
|
||||
"traceId": "85a09e0acbd64f7d80355872710240f7",
|
||||
"evidence": "types=SMALL,MEDIUM,LARGE,EXTRA_LARGE",
|
||||
"checkedAt": "2026-08-08T02:18:14.017Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "016c5f6a-bb16-4171-ac6f-98c6b4e7b61c, c1bbc087-4846-4fa6-90bb-2ffdae9f7f45",
|
||||
"traceId": "8c7e016f470c4c8fbb6b601f0d1a428f",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:18:14.054Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "016c5f6a-bb16-4171-ac6f-98c6b4e7b61c, c1bbc087-4846-4fa6-90bb-2ffdae9f7f45",
|
||||
"traceId": "8c7e016f470c4c8fbb6b601f0d1a428f",
|
||||
"evidence": "count=2",
|
||||
"checkedAt": "2026-08-08T02:18:14.054Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d811ee69-eca6-4ed9-b28b-2d252dd15cf9, 7050232a-d912-4b26-95b5-5665321ea314",
|
||||
"traceId": "35dc511159184c06b5d873a0860ea259",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:18:14.123Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d811ee69-eca6-4ed9-b28b-2d252dd15cf9, 7050232a-d912-4b26-95b5-5665321ea314",
|
||||
"traceId": "35dc511159184c06b5d873a0860ea259",
|
||||
"evidence": "count=200",
|
||||
"checkedAt": "2026-08-08T02:18:14.123Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询可用计费渠道",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "59cfb9db-9ead-4174-a505-42883a8a1eb6, 01d1377a-15cc-4856-9ffc-ff70d1db3f91",
|
||||
"traceId": "546da0b26ac44057881949356a38a6eb",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:18:14.171Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在带计价税制的可用渠道",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "59cfb9db-9ead-4174-a505-42883a8a1eb6, 01d1377a-15cc-4856-9ffc-ff70d1db3f91",
|
||||
"traceId": "546da0b26ac44057881949356a38a6eb",
|
||||
"evidence": "count=15",
|
||||
"checkedAt": "2026-08-08T02:18:14.171Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询发货客户候选",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/partners/candidates?type=SHIPPER"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "11946d37-21fe-468d-af44-7884f1df696e, 09f2cadf-629c-4569-bf41-c5b05e931cc9",
|
||||
"traceId": "3b323ee01419461d89fa412a444714e8",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:18:14.208Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 上传产品图片",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/files/product-images"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "21a2b983-d4f6-43e7-a464-71fb938ef7a5, bade6d3f-6516-46e6-b7d6-afa4fbab4e1a",
|
||||
"traceId": "19b4ecce4ebd4b868348822fea67a6f5",
|
||||
"evidence": "contentType=image/png",
|
||||
"checkedAt": "2026-08-08T02:18:14.254Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "产品图片上传返回字符串文件 ID",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/files/product-images"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "21a2b983-d4f6-43e7-a464-71fb938ef7a5, bade6d3f-6516-46e6-b7d6-afa4fbab4e1a",
|
||||
"traceId": "19b4ecce4ebd4b868348822fea67a6f5",
|
||||
"evidence": "fileIdType=string, contentType=image/png",
|
||||
"checkedAt": "2026-08-08T02:18:14.254Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 可下载本轮产品图片",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/files/product-images/2085913441529823234"
|
||||
},
|
||||
"http": 200,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b8d16fdc-892e-495f-9dbd-7f150681498f, f898d1e5-6ecc-4240-81dc-4cc792198f33",
|
||||
"traceId": "bc13aba31663407dbdf11e058535d422",
|
||||
"evidence": "bytes=68, contentType=image/png",
|
||||
"checkedAt": "2026-08-08T02:18:14.282Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 创建四箱型隔离订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ea9fa6cf-9722-41c6-a9f8-461669f8452c, ac93d499-e32e-4bcd-8204-4219c40be970",
|
||||
"traceId": "3009b5a516044fedb0e6648d3221f492",
|
||||
"evidence": "marker=ADMIN-API-20260808021813228",
|
||||
"checkedAt": "2026-08-08T02:18:14.395Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 创建订单幂等重放",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9c5bd574-0b44-4a77-816c-433b7d2e404e, 9380027e-8502-4ca3-88ec-f4317543f6f9",
|
||||
"traceId": "51baa17264144b9685976cbc4f457223",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:18:14.441Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 创建幂等结果一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9c5bd574-0b44-4a77-816c-433b7d2e404e, 9380027e-8502-4ca3-88ec-f4317543f6f9",
|
||||
"traceId": "51baa17264144b9685976cbc4f457223",
|
||||
"evidence": "orderId=2085913442075082754, replayedId=2085913442075082754",
|
||||
"checkedAt": "2026-08-08T02:18:14.442Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询隔离订单草稿",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085913442075082754"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e47a2e37-3346-4bd5-a8f3-03cf0300af63, ec85ecdf-92f1-44d1-8bea-49f908697ae8",
|
||||
"traceId": "6531eafc40ba48ff96d96cd5ef02779b",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:18:14.471Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 草稿身份、marker 和状态正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085913442075082754"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e47a2e37-3346-4bd5-a8f3-03cf0300af63, ec85ecdf-92f1-44d1-8bea-49f908697ae8",
|
||||
"traceId": "6531eafc40ba48ff96d96cd5ef02779b",
|
||||
"evidence": "orderNo=FL2085913442075082754, status=DRAFT",
|
||||
"checkedAt": "2026-08-08T02:18:14.471Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "四箱型产品字段及图片契约完整回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085913442075082754"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e47a2e37-3346-4bd5-a8f3-03cf0300af63, ec85ecdf-92f1-44d1-8bea-49f908697ae8",
|
||||
"traceId": "6531eafc40ba48ff96d96cd5ef02779b",
|
||||
"evidence": "cargoes=4, imageFileId=2085913441529823234",
|
||||
"checkedAt": "2026-08-08T02:18:14.471Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 提交隔离订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085913442075082754/submit"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6c67230a-d6ed-4978-8a27-8484ef7ecbb5, a05bda79-4452-496e-8125-c81abc496f94",
|
||||
"traceId": "d333673147bc451cbb936505d7c90307",
|
||||
"evidence": "orderId=2085913442075082754",
|
||||
"checkedAt": "2026-08-08T02:18:14.567Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 回查已提交订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085913442075082754"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d8c6d729-93a0-4f90-830d-2b65d4b2f6d1, 7c39c36a-a49a-45ce-a4fa-e3a13ff5a1e5",
|
||||
"traceId": "d113de3e006c423394763a2820aa39a9",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:18:14.605Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 订单已进入待审核状态",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085913442075082754"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d8c6d729-93a0-4f90-830d-2b65d4b2f6d1, 7c39c36a-a49a-45ce-a4fa-e3a13ff5a1e5",
|
||||
"traceId": "d113de3e006c423394763a2820aa39a9",
|
||||
"evidence": "status=SUBMITTED",
|
||||
"checkedAt": "2026-08-08T02:18:14.606Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询统一订单列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders?page=1&size=100&tenantId=10001&orderNo=FL2085913442075082754"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "19e756f5-9cc0-4300-b025-4245a0a32d3c, 97f23a47-1059-40a0-86e8-e3adff12fa24",
|
||||
"traceId": "9957f741d6534e89902a9ec47adfc218",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:18:14.670Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 统一订单列表只核对本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders?page=1&size=100&tenantId=10001&orderNo=FL2085913442075082754"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "19e756f5-9cc0-4300-b025-4245a0a32d3c, 97f23a47-1059-40a0-86e8-e3adff12fa24",
|
||||
"traceId": "9957f741d6534e89902a9ec47adfc218",
|
||||
"evidence": "orderId=2085913442075082754, found=true",
|
||||
"checkedAt": "2026-08-08T02:18:14.670Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询统一订单详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085913442075082754?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a7810bfb-197c-408e-a30d-0ac9671238f3, 039f2fe0-a7d7-4795-9df9-fee060df4eee",
|
||||
"traceId": "502c16f4e4734299a865a9d4556826a9",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:18:14.716Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 统一订单详情身份与待审核状态正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085913442075082754?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a7810bfb-197c-408e-a30d-0ac9671238f3, 039f2fe0-a7d7-4795-9df9-fee060df4eee",
|
||||
"traceId": "502c16f4e4734299a865a9d4556826a9",
|
||||
"evidence": "mainStatus=PENDING_REVIEW, timeline=2",
|
||||
"checkedAt": "2026-08-08T02:18:14.716Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询头程订单列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=10001&keyword=FL2085913442075082754&page=1&size=100"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a5b659b5-091e-4369-a790-ca8d97ab7941, 2a30d9de-0321-45b2-9442-477d63bfa199",
|
||||
"traceId": "27dc5a7046d04e27873d1ac5f5d386cd",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:18:14.764Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 头程订单列表只核对本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=10001&keyword=FL2085913442075082754&page=1&size=100"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a5b659b5-091e-4369-a790-ca8d97ab7941, 2a30d9de-0321-45b2-9442-477d63bfa199",
|
||||
"traceId": "27dc5a7046d04e27873d1ac5f5d386cd",
|
||||
"evidence": "orderId=2085913442075082754, found=true",
|
||||
"checkedAt": "2026-08-08T02:18:14.764Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询头程订单详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085913442075082754?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2cd85740-18e2-4db8-857a-92c98f02178a, 35e8fdb1-72e1-4277-b8b0-78a2a87d1b53",
|
||||
"traceId": "76ff576142194f15b6e6a763cd81b620",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:18:14.809Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 头程订单详情聚合结构完整",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085913442075082754?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2cd85740-18e2-4db8-857a-92c98f02178a, 35e8fdb1-72e1-4277-b8b0-78a2a87d1b53",
|
||||
"traceId": "76ff576142194f15b6e6a763cd81b620",
|
||||
"evidence": "cargoes=4, history=2",
|
||||
"checkedAt": "2026-08-08T02:18:14.809Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "四箱型产品字段及图片契约完整回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085913442075082754?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2cd85740-18e2-4db8-857a-92c98f02178a, 35e8fdb1-72e1-4277-b8b0-78a2a87d1b53",
|
||||
"traceId": "76ff576142194f15b6e6a763cd81b620",
|
||||
"evidence": "cargoes=4, imageFileId=2085913441529823234",
|
||||
"checkedAt": "2026-08-08T02:18:14.809Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 为本轮订单添加内部备注",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085913442075082754/internal-notes?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f9aff324-5034-443d-86d4-2d7df44f1eee, 7deb42b2-d8ec-452b-8f21-283c04307f22",
|
||||
"traceId": "e9e97c8a04fe4468bd76597413af4ba5",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:18:14.855Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 审核通过本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085913442075082754/approve?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1aab8371-7451-41dc-a140-5d50cc3883bf, 94ccf6a2-cd6f-459d-9c50-ecb25d146240",
|
||||
"traceId": "a25a0014f79d4181a2b3e677a82f00d5",
|
||||
"evidence": "orderId=2085913442075082754",
|
||||
"checkedAt": "2026-08-08T02:18:14.904Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "审核后生成隔离入库单",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085913442075082754?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "S0503",
|
||||
"message": "统一订单履约详情响应无效",
|
||||
"requestId": "438a12d6-5829-4fa2-8574-bc2c403c9f75",
|
||||
"traceId": "9b51ea540a7c4a1f8566eab65620001c",
|
||||
"evidence": "20秒内未返回 inboundId",
|
||||
"checkedAt": "2026-08-08T02:18:35.262Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "模块执行",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "订单审核后的入库单契约未部署,无法向 OCR/墨家模块交接",
|
||||
"checkedAt": "2026-08-08T02:18:35.262Z"
|
||||
},
|
||||
{
|
||||
"module": "inbound-weight-ocr",
|
||||
"scenario": "weight-image-recognition-and-confirmation",
|
||||
"name": "仅选择带本轮测试标记的可编辑入库单",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "marker=ADMIN-API-20260808021813228, 未找到本轮创建且状态为 WAIT_MEASURE/MEASURING/MEASURE_REJECTED 的入库单",
|
||||
"checkedAt": "2026-08-08T02:18:35.352Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,780 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808022421690",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T02:24:43.508Z",
|
||||
"startedAt": "2026-08-08T02:24:21.690Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 39,
|
||||
"passed": 36,
|
||||
"failed": 3
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "orders",
|
||||
"startedAt": "2026-08-08T02:24:22.065Z",
|
||||
"finishedAt": "2026-08-08T02:24:43.430Z",
|
||||
"success": false,
|
||||
"passed": 35,
|
||||
"failed": 2,
|
||||
"fatal": "订单审核后的入库单契约未部署,无法向 OCR/墨家模块交接"
|
||||
},
|
||||
{
|
||||
"name": "inbound-weight-ocr",
|
||||
"startedAt": "2026-08-08T02:24:43.432Z",
|
||||
"finishedAt": "2026-08-08T02:24:43.507Z",
|
||||
"success": false,
|
||||
"passed": 0,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "weight-image-recognition-and-confirmation",
|
||||
"module": "inbound-weight-ocr",
|
||||
"success": false,
|
||||
"deploymentBlocked": false,
|
||||
"passed": 0,
|
||||
"failed": 1
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "审核后生成隔离入库单",
|
||||
"evidence": "20秒内未返回 inboundId",
|
||||
"code": "S0503",
|
||||
"requestId": "04d51502-8c78-4256-8232-fbdb394936c5",
|
||||
"traceId": "86df65f5590641378ebc2db3ac7b03fb"
|
||||
}
|
||||
],
|
||||
"createdResources": {
|
||||
"orders": {
|
||||
"marker": "ADMIN-API-20260808022421690",
|
||||
"tenantId": "10001",
|
||||
"orderId": "2085914987172790274",
|
||||
"productImageFileId": "2085914986782720002",
|
||||
"boxTypes": [
|
||||
"SMALL",
|
||||
"MEDIUM",
|
||||
"LARGE",
|
||||
"EXTRA_LARGE"
|
||||
],
|
||||
"inboundId": null,
|
||||
"orderNo": "FL2085914987172790274"
|
||||
}
|
||||
},
|
||||
"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": "943c5461-6750-433f-a8b4-6b79e93c76e3, f67c7aff-3029-4deb-b65a-98db1f114533",
|
||||
"traceId": "4c61fff1847748e39ec168932743bc91",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:24:22.064Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试账号登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0967d15b-80d1-40f4-a2c0-df18768f62ed, 9f03ad0e-cb57-47ce-901b-024619e903c5",
|
||||
"traceId": "c849964284624bb294817ae885f92039",
|
||||
"evidence": "username=merchant_admin",
|
||||
"checkedAt": "2026-08-08T02:24:22.408Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询当前企业资料",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "768d4c29-4af9-4ef8-8287-3708015b8208, 43860360-0488-49da-8d5e-8d1e38b4e9fd",
|
||||
"traceId": "9491a2adc03f4b31b3ed007510917b85",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:24:22.442Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试企业已审核且客户 ID 有效",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "768d4c29-4af9-4ef8-8287-3708015b8208, 43860360-0488-49da-8d5e-8d1e38b4e9fd",
|
||||
"traceId": "9491a2adc03f4b31b3ed007510917b85",
|
||||
"evidence": "tenantId=10001, status=ACTIVE",
|
||||
"checkedAt": "2026-08-08T02:24:22.442Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Admin 查询客户固定箱型",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "df4138d6-5477-4dad-9928-d0c72b3c8613, 58416f8f-123e-4fa6-910c-5fa8a027d87b",
|
||||
"traceId": "fcd206c8b6874922bfc646c5decb7259",
|
||||
"evidence": "tenantId=10001",
|
||||
"checkedAt": "2026-08-08T02:24:22.476Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "固定四箱型顺序、内径及每边加2cm正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "df4138d6-5477-4dad-9928-d0c72b3c8613, 58416f8f-123e-4fa6-910c-5fa8a027d87b",
|
||||
"traceId": "fcd206c8b6874922bfc646c5decb7259",
|
||||
"evidence": "types=SMALL,MEDIUM,LARGE,EXTRA_LARGE",
|
||||
"checkedAt": "2026-08-08T02:24:22.477Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6ebbc640-96a5-4b05-b3a0-25eb1365a6a4, 8ca09a7b-ba63-49b6-b675-66cfef2d847f",
|
||||
"traceId": "a4767fd87fff4811b9e9ae3533073166",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:24:22.511Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6ebbc640-96a5-4b05-b3a0-25eb1365a6a4, 8ca09a7b-ba63-49b6-b675-66cfef2d847f",
|
||||
"traceId": "a4767fd87fff4811b9e9ae3533073166",
|
||||
"evidence": "count=2",
|
||||
"checkedAt": "2026-08-08T02:24:22.511Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "44636c1e-976d-4f44-83d3-931b137ffb64, 1b0bb465-9459-4395-bde8-a8bf5f4a022d",
|
||||
"traceId": "54a12164b4bc447e83e8f0117c636ea7",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:24:22.567Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "44636c1e-976d-4f44-83d3-931b137ffb64, 1b0bb465-9459-4395-bde8-a8bf5f4a022d",
|
||||
"traceId": "54a12164b4bc447e83e8f0117c636ea7",
|
||||
"evidence": "count=200",
|
||||
"checkedAt": "2026-08-08T02:24:22.567Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询可用计费渠道",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "64265bef-7ed3-42bd-beeb-31c48039131b, 70c0d763-6ffb-4add-b65f-0420c2e6a346",
|
||||
"traceId": "8e2913d003354085bd5efee3c21b40a8",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:24:22.608Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在带计价税制的可用渠道",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "64265bef-7ed3-42bd-beeb-31c48039131b, 70c0d763-6ffb-4add-b65f-0420c2e6a346",
|
||||
"traceId": "8e2913d003354085bd5efee3c21b40a8",
|
||||
"evidence": "count=15",
|
||||
"checkedAt": "2026-08-08T02:24:22.608Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询发货客户候选",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/partners/candidates?type=SHIPPER"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "62149605-53dc-4a96-b612-362d21369c53, 58efa9bc-5106-4450-a350-5f9f9aefe68d",
|
||||
"traceId": "ffef0f71bbad4d999692769984a46c7b",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:24:22.633Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 上传产品图片",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/files/product-images"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2fab9590-3f70-4102-a392-430367f42d63, c1badbdc-8ae2-4054-b1db-5928a49d663f",
|
||||
"traceId": "a6b24c7736ce4d4c8763151cc08e399d",
|
||||
"evidence": "contentType=image/png",
|
||||
"checkedAt": "2026-08-08T02:24:22.672Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "产品图片上传返回字符串文件 ID",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/files/product-images"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2fab9590-3f70-4102-a392-430367f42d63, c1badbdc-8ae2-4054-b1db-5928a49d663f",
|
||||
"traceId": "a6b24c7736ce4d4c8763151cc08e399d",
|
||||
"evidence": "fileIdType=string, contentType=image/png",
|
||||
"checkedAt": "2026-08-08T02:24:22.672Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 可下载本轮产品图片",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/files/product-images/2085914986782720002"
|
||||
},
|
||||
"http": 200,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "2d17d24c-915b-4f96-876e-b50cdfbba4e4, 256b2563-b130-4eeb-8b4d-7bfa47433400",
|
||||
"traceId": "c26aafa3e4bb459b9c3d39dbc911ac6f",
|
||||
"evidence": "bytes=68, contentType=image/png",
|
||||
"checkedAt": "2026-08-08T02:24:22.699Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 创建四箱型隔离订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7186ad91-c27c-4f12-9021-1f4c3a9da8ea, ded88a07-0e88-4cb3-8e6b-532a74d8203f",
|
||||
"traceId": "ce3576180fea4d5b99ef690c40ef8483",
|
||||
"evidence": "marker=ADMIN-API-20260808022421690",
|
||||
"checkedAt": "2026-08-08T02:24:22.774Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 创建订单幂等重放",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f7e1e9f2-19b4-4dc8-9ab6-755d9d283f6c, e64b3147-f636-4dd4-b6df-495161c52faf",
|
||||
"traceId": "1d467e403a044d31b21b9f9fccbfac45",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:24:22.812Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 创建幂等结果一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f7e1e9f2-19b4-4dc8-9ab6-755d9d283f6c, e64b3147-f636-4dd4-b6df-495161c52faf",
|
||||
"traceId": "1d467e403a044d31b21b9f9fccbfac45",
|
||||
"evidence": "orderId=2085914987172790274, replayedId=2085914987172790274",
|
||||
"checkedAt": "2026-08-08T02:24:22.812Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询隔离订单草稿",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085914987172790274"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "20038c2f-603c-47b7-88bf-9ca843e26e0a, 11b67acf-700e-427e-bd65-4df7b1b7989a",
|
||||
"traceId": "ce1dcf9630cc4aa0a09d9eebf6fbc654",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:24:22.851Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 草稿身份、marker 和状态正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085914987172790274"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "20038c2f-603c-47b7-88bf-9ca843e26e0a, 11b67acf-700e-427e-bd65-4df7b1b7989a",
|
||||
"traceId": "ce1dcf9630cc4aa0a09d9eebf6fbc654",
|
||||
"evidence": "orderNo=FL2085914987172790274, status=DRAFT",
|
||||
"checkedAt": "2026-08-08T02:24:22.851Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "四箱型产品字段及图片契约完整回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085914987172790274"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "20038c2f-603c-47b7-88bf-9ca843e26e0a, 11b67acf-700e-427e-bd65-4df7b1b7989a",
|
||||
"traceId": "ce1dcf9630cc4aa0a09d9eebf6fbc654",
|
||||
"evidence": "cargoes=4, imageFileId=2085914986782720002",
|
||||
"checkedAt": "2026-08-08T02:24:22.851Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 提交隔离订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085914987172790274/submit"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "77433166-1284-4934-a067-4207989e7acd, d3267d9d-c93b-40b1-87bc-8cd2d46fbd73",
|
||||
"traceId": "2e7779366c36499496ef5a2696aa137b",
|
||||
"evidence": "orderId=2085914987172790274",
|
||||
"checkedAt": "2026-08-08T02:24:22.925Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 回查已提交订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085914987172790274"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5e1b2991-cc03-48ca-b30a-326f18f15b70, 5b9d1711-e72e-4385-8777-abc09ac50f88",
|
||||
"traceId": "832c08f20e334930837d23e98e2b33f0",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:24:22.958Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 订单已进入待审核状态",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085914987172790274"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5e1b2991-cc03-48ca-b30a-326f18f15b70, 5b9d1711-e72e-4385-8777-abc09ac50f88",
|
||||
"traceId": "832c08f20e334930837d23e98e2b33f0",
|
||||
"evidence": "status=SUBMITTED",
|
||||
"checkedAt": "2026-08-08T02:24:22.958Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询统一订单列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders?page=1&size=100&tenantId=10001&orderNo=FL2085914987172790274"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d9fb62c1-5545-439b-baa6-e1aa6fef5c7c, 7cfc3839-5f10-4eb4-a3be-ea904587c52e",
|
||||
"traceId": "5c5e483e980f4d6397c41b0e5a1ba778",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:24:23.000Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 统一订单列表只核对本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders?page=1&size=100&tenantId=10001&orderNo=FL2085914987172790274"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d9fb62c1-5545-439b-baa6-e1aa6fef5c7c, 7cfc3839-5f10-4eb4-a3be-ea904587c52e",
|
||||
"traceId": "5c5e483e980f4d6397c41b0e5a1ba778",
|
||||
"evidence": "orderId=2085914987172790274, found=true",
|
||||
"checkedAt": "2026-08-08T02:24:23.000Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询统一订单详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085914987172790274?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "06d182cc-c800-4742-9919-24d8fd47e51d, 620f4ed9-25e3-4467-89fb-b569c47f858d",
|
||||
"traceId": "77d2e16fb915485494f8a336a985d653",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:24:23.035Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 统一订单详情身份与待审核状态正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085914987172790274?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "06d182cc-c800-4742-9919-24d8fd47e51d, 620f4ed9-25e3-4467-89fb-b569c47f858d",
|
||||
"traceId": "77d2e16fb915485494f8a336a985d653",
|
||||
"evidence": "mainStatus=PENDING_REVIEW, timeline=2",
|
||||
"checkedAt": "2026-08-08T02:24:23.035Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询头程订单列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=10001&keyword=FL2085914987172790274&page=1&size=100"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "58946f29-d1a9-4b39-82f0-2f18182b0e3f, 92f2fc9b-90cd-4ba9-99d1-724989577ea3",
|
||||
"traceId": "614821dbea17445a8df42a34c456db18",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:24:23.069Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 头程订单列表只核对本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=10001&keyword=FL2085914987172790274&page=1&size=100"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "58946f29-d1a9-4b39-82f0-2f18182b0e3f, 92f2fc9b-90cd-4ba9-99d1-724989577ea3",
|
||||
"traceId": "614821dbea17445a8df42a34c456db18",
|
||||
"evidence": "orderId=2085914987172790274, found=true",
|
||||
"checkedAt": "2026-08-08T02:24:23.069Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询头程订单详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085914987172790274?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7632e3b7-8d97-451f-a909-82e8ab222976, 1b9250b7-9936-4466-a3c7-5446e373b545",
|
||||
"traceId": "08369be7b131463dadabc7b0b58c66e6",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:24:23.100Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 头程订单详情聚合结构完整",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085914987172790274?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7632e3b7-8d97-451f-a909-82e8ab222976, 1b9250b7-9936-4466-a3c7-5446e373b545",
|
||||
"traceId": "08369be7b131463dadabc7b0b58c66e6",
|
||||
"evidence": "cargoes=4, history=2",
|
||||
"checkedAt": "2026-08-08T02:24:23.100Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "四箱型产品字段及图片契约完整回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085914987172790274?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7632e3b7-8d97-451f-a909-82e8ab222976, 1b9250b7-9936-4466-a3c7-5446e373b545",
|
||||
"traceId": "08369be7b131463dadabc7b0b58c66e6",
|
||||
"evidence": "cargoes=4, imageFileId=2085914986782720002",
|
||||
"checkedAt": "2026-08-08T02:24:23.100Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 为本轮订单添加内部备注",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085914987172790274/internal-notes?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0d3a2d57-9c8e-48b5-8923-b727e2b71f3d, 7221a9de-feb0-4d0a-9618-a5d543209e71",
|
||||
"traceId": "f7c958a6b67745c0b3273016718a7f15",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T02:24:23.136Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 审核通过本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085914987172790274/approve?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3b1f6fcf-2e9c-4401-824a-3cf429ea4510, c30de6cb-5311-4be4-9f2e-32bd75e7795c",
|
||||
"traceId": "24b4f3f614b049698d1bd443f346f5ed",
|
||||
"evidence": "orderId=2085914987172790274",
|
||||
"checkedAt": "2026-08-08T02:24:23.187Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "审核后生成隔离入库单",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085914987172790274?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "S0503",
|
||||
"message": "统一订单履约详情响应无效",
|
||||
"requestId": "04d51502-8c78-4256-8232-fbdb394936c5",
|
||||
"traceId": "86df65f5590641378ebc2db3ac7b03fb",
|
||||
"evidence": "20秒内未返回 inboundId",
|
||||
"checkedAt": "2026-08-08T02:24:43.430Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "模块执行",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "订单审核后的入库单契约未部署,无法向 OCR/墨家模块交接",
|
||||
"checkedAt": "2026-08-08T02:24:43.430Z"
|
||||
},
|
||||
{
|
||||
"module": "inbound-weight-ocr",
|
||||
"scenario": "weight-image-recognition-and-confirmation",
|
||||
"name": "仅选择带本轮测试标记的可编辑入库单",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "marker=ADMIN-API-20260808022421690, 未找到本轮创建且状态为 WAIT_MEASURE/MEASURING/MEASURE_REJECTED 的入库单",
|
||||
"checkedAt": "2026-08-08T02:24:43.507Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,789 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808035005218",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T03:50:28.098Z",
|
||||
"startedAt": "2026-08-08T03:50:05.218Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 39,
|
||||
"passed": 36,
|
||||
"failed": 3
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "orders",
|
||||
"startedAt": "2026-08-08T03:50:05.612Z",
|
||||
"finishedAt": "2026-08-08T03:50:28.096Z",
|
||||
"success": false,
|
||||
"passed": 35,
|
||||
"failed": 2,
|
||||
"fatal": "订单审核后的入库单契约未部署,无法向 OCR/墨家模块交接"
|
||||
},
|
||||
{
|
||||
"name": "inbound-measurement",
|
||||
"startedAt": "2026-08-08T03:50:28.097Z",
|
||||
"finishedAt": "2026-08-08T03:50:28.098Z",
|
||||
"success": false,
|
||||
"passed": 0,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "mojia-carton-measurement",
|
||||
"module": "inbound-measurement",
|
||||
"success": false,
|
||||
"deploymentBlocked": true,
|
||||
"passed": 0,
|
||||
"failed": 1
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "审核后生成隔离入库单",
|
||||
"evidence": "20秒内未返回 inboundId",
|
||||
"code": "S0503",
|
||||
"requestId": "9c42b42f-b2a6-47c8-ac8e-94f0c10b57fd",
|
||||
"traceId": "4fca2c8c698548088d3a733bebdc14d2"
|
||||
},
|
||||
{
|
||||
"module": "inbound-measurement",
|
||||
"scenario": "mojia-carton-measurement",
|
||||
"name": "取得隔离的待测量入库单",
|
||||
"evidence": "orders 模块未提供 marker=ADMIN-API-20260808035005218 的 inboundId/tenantId;为避免修改随机历史订单,本模块停止写入",
|
||||
"code": null,
|
||||
"requestId": null,
|
||||
"traceId": null
|
||||
}
|
||||
],
|
||||
"createdResources": {
|
||||
"orders": {
|
||||
"marker": "ADMIN-API-20260808035005218",
|
||||
"tenantId": "10001",
|
||||
"orderId": "2085936562680954881",
|
||||
"productImageFileId": "2085936561020010498",
|
||||
"boxTypes": [
|
||||
"SMALL",
|
||||
"MEDIUM",
|
||||
"LARGE",
|
||||
"EXTRA_LARGE"
|
||||
],
|
||||
"inboundId": null,
|
||||
"orderNo": "FL2085936562680954881"
|
||||
}
|
||||
},
|
||||
"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": "d90d50a8-a2cf-4e01-9828-73a73e1dd88c, fbdfbf4b-c834-4a58-ace2-2ae2d2566435",
|
||||
"traceId": "f1123e15f2e1493da43e07233d5fef72",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T03:50:05.611Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试账号登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "07196faa-210b-44c5-9f02-beaa7448d364, 9a17a6c1-cbcd-477e-a6a7-1caa911610ee",
|
||||
"traceId": "2e2384afa34546a9a821f948e8d2af97",
|
||||
"evidence": "username=merchant_admin",
|
||||
"checkedAt": "2026-08-08T03:50:05.968Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询当前企业资料",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "27249d70-e97a-4266-98e7-926bb26792c0, c780bd14-921b-4d99-a9d6-a43e11b5d333",
|
||||
"traceId": "597f8cfacf3d48bf9ee25f26cb82396a",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T03:50:06.013Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试企业已审核且客户 ID 有效",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "27249d70-e97a-4266-98e7-926bb26792c0, c780bd14-921b-4d99-a9d6-a43e11b5d333",
|
||||
"traceId": "597f8cfacf3d48bf9ee25f26cb82396a",
|
||||
"evidence": "tenantId=10001, status=ACTIVE",
|
||||
"checkedAt": "2026-08-08T03:50:06.014Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Admin 查询客户固定箱型",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "537fbceb-3e93-446e-aa34-c27e5229f494, 222ed70a-a2d5-439c-9436-43843e3ea23a",
|
||||
"traceId": "0f5d39f8007e42e7911f814c8ce2f8b4",
|
||||
"evidence": "tenantId=10001",
|
||||
"checkedAt": "2026-08-08T03:50:06.062Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "固定四箱型顺序、内径及每边加2cm正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "537fbceb-3e93-446e-aa34-c27e5229f494, 222ed70a-a2d5-439c-9436-43843e3ea23a",
|
||||
"traceId": "0f5d39f8007e42e7911f814c8ce2f8b4",
|
||||
"evidence": "types=SMALL,MEDIUM,LARGE,EXTRA_LARGE",
|
||||
"checkedAt": "2026-08-08T03:50:06.062Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0db894da-96c5-4c47-a723-dee5ddc0142c, 0be3bb58-41b4-49e6-af70-304db93ff26b",
|
||||
"traceId": "1304337dc55e4cacacbf0d07cd69fbeb",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T03:50:06.107Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0db894da-96c5-4c47-a723-dee5ddc0142c, 0be3bb58-41b4-49e6-af70-304db93ff26b",
|
||||
"traceId": "1304337dc55e4cacacbf0d07cd69fbeb",
|
||||
"evidence": "count=2",
|
||||
"checkedAt": "2026-08-08T03:50:06.107Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "46ea09fe-e12f-4a41-901d-ee8b004a665f, cfd6337a-d352-4ab0-80fa-6a1df1465f58",
|
||||
"traceId": "baa18a3ff0964fb68fac27f559981e4f",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T03:50:06.182Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "46ea09fe-e12f-4a41-901d-ee8b004a665f, cfd6337a-d352-4ab0-80fa-6a1df1465f58",
|
||||
"traceId": "baa18a3ff0964fb68fac27f559981e4f",
|
||||
"evidence": "count=200",
|
||||
"checkedAt": "2026-08-08T03:50:06.182Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询可用计费渠道",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "843b4aff-d936-4c0a-b7f3-49b30fe05660, f5bf7aa2-0ac5-4552-8139-971624e6863c",
|
||||
"traceId": "b239dd1d611849998980c4f439ec46b9",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T03:50:06.249Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在带计价税制的可用渠道",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "843b4aff-d936-4c0a-b7f3-49b30fe05660, f5bf7aa2-0ac5-4552-8139-971624e6863c",
|
||||
"traceId": "b239dd1d611849998980c4f439ec46b9",
|
||||
"evidence": "count=15",
|
||||
"checkedAt": "2026-08-08T03:50:06.249Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询发货客户候选",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/partners/candidates?type=SHIPPER"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "fa587f92-f5a2-4e95-a8ee-57a71f4afde4, e6096757-3e3a-4d9f-94ff-e0e033bc68c6",
|
||||
"traceId": "b990276e9bdb47b1bc03a853b23e3554",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T03:50:06.294Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 上传产品图片",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/files/product-images"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "221a2a80-bc37-4805-a2c7-5a6068712e80, 327911c4-606c-4c2d-a3b1-02388624b4da",
|
||||
"traceId": "c114a50cff3343b7968c473df7e8980d",
|
||||
"evidence": "contentType=image/png",
|
||||
"checkedAt": "2026-08-08T03:50:06.400Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "产品图片上传返回字符串文件 ID",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/files/product-images"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "221a2a80-bc37-4805-a2c7-5a6068712e80, 327911c4-606c-4c2d-a3b1-02388624b4da",
|
||||
"traceId": "c114a50cff3343b7968c473df7e8980d",
|
||||
"evidence": "fileIdType=string, contentType=image/png",
|
||||
"checkedAt": "2026-08-08T03:50:06.400Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 可下载本轮产品图片",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/files/product-images/2085936561020010498"
|
||||
},
|
||||
"http": 200,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "e6516ed1-b216-4739-9eec-ea6ffd1d1d0d, b1e7edf4-d203-4b5e-aa7e-d647d6f92717",
|
||||
"traceId": "0a04414be98842a5826876004a70be72",
|
||||
"evidence": "bytes=68, contentType=image/png",
|
||||
"checkedAt": "2026-08-08T03:50:06.445Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 创建四箱型隔离订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "912f711b-9451-4c0e-ad27-be7e4c67c512, 9a0a1558-91de-4c9a-818e-1645ac72573e",
|
||||
"traceId": "fd77a1151aac44e4955caa8f4c5f3a8e",
|
||||
"evidence": "marker=ADMIN-API-20260808035005218",
|
||||
"checkedAt": "2026-08-08T03:50:06.842Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 创建订单幂等重放",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "058facb9-5179-4843-8c34-e1ea3cb1d5c6, ff4ebce7-1aa3-4656-b2ff-17de9fa5ee7d",
|
||||
"traceId": "bc30f877e3b8453583b0750538eca947",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T03:50:07.041Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 创建幂等结果一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "058facb9-5179-4843-8c34-e1ea3cb1d5c6, ff4ebce7-1aa3-4656-b2ff-17de9fa5ee7d",
|
||||
"traceId": "bc30f877e3b8453583b0750538eca947",
|
||||
"evidence": "orderId=2085936562680954881, replayedId=2085936562680954881",
|
||||
"checkedAt": "2026-08-08T03:50:07.041Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询隔离订单草稿",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085936562680954881"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1480d6a8-1619-483a-abd6-acc42c37166f, 5bc84fc9-7764-4152-91e8-bae9d96adb3c",
|
||||
"traceId": "d448c7f1d9ee420cbda4c4308fd2d7da",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T03:50:07.100Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 草稿身份、marker 和状态正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085936562680954881"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1480d6a8-1619-483a-abd6-acc42c37166f, 5bc84fc9-7764-4152-91e8-bae9d96adb3c",
|
||||
"traceId": "d448c7f1d9ee420cbda4c4308fd2d7da",
|
||||
"evidence": "orderNo=FL2085936562680954881, status=DRAFT",
|
||||
"checkedAt": "2026-08-08T03:50:07.100Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "四箱型产品字段及图片契约完整回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085936562680954881"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1480d6a8-1619-483a-abd6-acc42c37166f, 5bc84fc9-7764-4152-91e8-bae9d96adb3c",
|
||||
"traceId": "d448c7f1d9ee420cbda4c4308fd2d7da",
|
||||
"evidence": "cargoes=4, imageFileId=2085936561020010498",
|
||||
"checkedAt": "2026-08-08T03:50:07.100Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 提交隔离订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085936562680954881/submit"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d8f74e7e-6632-49e3-947d-959c0e45e2bd, 8f2a5a96-e3d7-4ff7-8847-d0fb62ed6f07",
|
||||
"traceId": "d76d60c97d344c1794256fb56f00d309",
|
||||
"evidence": "orderId=2085936562680954881",
|
||||
"checkedAt": "2026-08-08T03:50:07.261Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 回查已提交订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085936562680954881"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7a6c86b6-0262-467a-8781-b93c8a229838, 76b3610c-af75-46a0-99c2-e42b17931c12",
|
||||
"traceId": "d9d0b1c8aaff466cb5f71bcc7ae8d09e",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T03:50:07.305Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 订单已进入待审核状态",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085936562680954881"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7a6c86b6-0262-467a-8781-b93c8a229838, 76b3610c-af75-46a0-99c2-e42b17931c12",
|
||||
"traceId": "d9d0b1c8aaff466cb5f71bcc7ae8d09e",
|
||||
"evidence": "status=SUBMITTED",
|
||||
"checkedAt": "2026-08-08T03:50:07.305Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询统一订单列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders?page=1&size=100&tenantId=10001&orderNo=FL2085936562680954881"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "56b3a002-9c16-493b-8b42-9fc2af179612, 50a0f405-787b-4e78-8b6b-fc5cfa0f3710",
|
||||
"traceId": "95dfa6470dd14d93b9beea6dbeb87335",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T03:50:07.367Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 统一订单列表只核对本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders?page=1&size=100&tenantId=10001&orderNo=FL2085936562680954881"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "56b3a002-9c16-493b-8b42-9fc2af179612, 50a0f405-787b-4e78-8b6b-fc5cfa0f3710",
|
||||
"traceId": "95dfa6470dd14d93b9beea6dbeb87335",
|
||||
"evidence": "orderId=2085936562680954881, found=true",
|
||||
"checkedAt": "2026-08-08T03:50:07.367Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询统一订单详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085936562680954881?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "02defc6f-b79d-47cc-9ad0-da1a1a70ec09, e9c70d04-734f-45e4-8820-cfb6a18f3df7",
|
||||
"traceId": "2ac7d41470a94142a5116f6ef1a007ca",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T03:50:07.420Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 统一订单详情身份与待审核状态正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085936562680954881?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "02defc6f-b79d-47cc-9ad0-da1a1a70ec09, e9c70d04-734f-45e4-8820-cfb6a18f3df7",
|
||||
"traceId": "2ac7d41470a94142a5116f6ef1a007ca",
|
||||
"evidence": "mainStatus=PENDING_REVIEW, timeline=2",
|
||||
"checkedAt": "2026-08-08T03:50:07.420Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询头程订单列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=10001&keyword=FL2085936562680954881&page=1&size=100"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "89c6c932-d1a7-4b71-b31d-3b152b3a568d, fbc6cafc-ba71-4e7d-a31b-d56379811587",
|
||||
"traceId": "288219750d8a4ef6b36c1bbed94b30a6",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T03:50:07.465Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 头程订单列表只核对本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=10001&keyword=FL2085936562680954881&page=1&size=100"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "89c6c932-d1a7-4b71-b31d-3b152b3a568d, fbc6cafc-ba71-4e7d-a31b-d56379811587",
|
||||
"traceId": "288219750d8a4ef6b36c1bbed94b30a6",
|
||||
"evidence": "orderId=2085936562680954881, found=true",
|
||||
"checkedAt": "2026-08-08T03:50:07.465Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询头程订单详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085936562680954881?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "14ba6f5a-d181-4670-95fb-81345d1b670e, eb3e1619-b79b-491a-9039-de7c4d650edf",
|
||||
"traceId": "d1edd0c156c24624bff1da6e850c00a7",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T03:50:07.506Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 头程订单详情聚合结构完整",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085936562680954881?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "14ba6f5a-d181-4670-95fb-81345d1b670e, eb3e1619-b79b-491a-9039-de7c4d650edf",
|
||||
"traceId": "d1edd0c156c24624bff1da6e850c00a7",
|
||||
"evidence": "cargoes=4, history=2",
|
||||
"checkedAt": "2026-08-08T03:50:07.506Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "四箱型产品字段及图片契约完整回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085936562680954881?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "14ba6f5a-d181-4670-95fb-81345d1b670e, eb3e1619-b79b-491a-9039-de7c4d650edf",
|
||||
"traceId": "d1edd0c156c24624bff1da6e850c00a7",
|
||||
"evidence": "cargoes=4, imageFileId=2085936561020010498",
|
||||
"checkedAt": "2026-08-08T03:50:07.506Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 为本轮订单添加内部备注",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085936562680954881/internal-notes?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "72083869-15b2-4f4c-9ba2-be418120f49a, 7b28af25-39bd-41fa-8afd-25d63b9a6167",
|
||||
"traceId": "72e3c848780748119c9cbda2550f9c8f",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T03:50:07.562Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 审核通过本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085936562680954881/approve?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "8880f156-7f2d-409e-8bce-cd7dd2b98508, 8bb22a3b-b025-442c-be35-a5b7b1cbbd6b",
|
||||
"traceId": "ed96056d34ea4faebef85e7ba5ed71fa",
|
||||
"evidence": "orderId=2085936562680954881",
|
||||
"checkedAt": "2026-08-08T03:50:07.624Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "审核后生成隔离入库单",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085936562680954881?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "S0503",
|
||||
"message": "统一订单履约详情响应无效",
|
||||
"requestId": "9c42b42f-b2a6-47c8-ac8e-94f0c10b57fd",
|
||||
"traceId": "4fca2c8c698548088d3a733bebdc14d2",
|
||||
"evidence": "20秒内未返回 inboundId",
|
||||
"checkedAt": "2026-08-08T03:50:28.096Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "模块执行",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "订单审核后的入库单契约未部署,无法向 OCR/墨家模块交接",
|
||||
"checkedAt": "2026-08-08T03:50:28.096Z"
|
||||
},
|
||||
{
|
||||
"module": "inbound-measurement",
|
||||
"scenario": "mojia-carton-measurement",
|
||||
"name": "取得隔离的待测量入库单",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "orders 模块未提供 marker=ADMIN-API-20260808035005218 的 inboundId/tenantId;为避免修改随机历史订单,本模块停止写入",
|
||||
"checkedAt": "2026-08-08T03:50:28.097Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,789 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808042004771",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T04:20:31.871Z",
|
||||
"startedAt": "2026-08-08T04:20:04.771Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 39,
|
||||
"passed": 36,
|
||||
"failed": 3
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "orders",
|
||||
"startedAt": "2026-08-08T04:20:06.120Z",
|
||||
"finishedAt": "2026-08-08T04:20:31.869Z",
|
||||
"success": false,
|
||||
"passed": 35,
|
||||
"failed": 2,
|
||||
"fatal": "订单审核后的入库单契约未部署,无法向 OCR/墨家模块交接"
|
||||
},
|
||||
{
|
||||
"name": "inbound-measurement",
|
||||
"startedAt": "2026-08-08T04:20:31.870Z",
|
||||
"finishedAt": "2026-08-08T04:20:31.871Z",
|
||||
"success": false,
|
||||
"passed": 0,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "mojia-carton-measurement",
|
||||
"module": "inbound-measurement",
|
||||
"success": false,
|
||||
"deploymentBlocked": true,
|
||||
"passed": 0,
|
||||
"failed": 1
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "审核后生成隔离入库单",
|
||||
"evidence": "20秒内未返回 inboundId",
|
||||
"code": "S0503",
|
||||
"requestId": "b2c13096-0eeb-41ff-a9c5-f59571ff93ac",
|
||||
"traceId": "d033a920d751440bab00d46525147427"
|
||||
},
|
||||
{
|
||||
"module": "inbound-measurement",
|
||||
"scenario": "mojia-carton-measurement",
|
||||
"name": "取得隔离的待测量入库单",
|
||||
"evidence": "orders 模块未提供 marker=ADMIN-API-20260808042004771 的 inboundId/tenantId;为避免修改随机历史订单,本模块停止写入",
|
||||
"code": null,
|
||||
"requestId": null,
|
||||
"traceId": null
|
||||
}
|
||||
],
|
||||
"createdResources": {
|
||||
"orders": {
|
||||
"marker": "ADMIN-API-20260808042004771",
|
||||
"tenantId": "10001",
|
||||
"orderId": "2085944124604219394",
|
||||
"productImageFileId": "2085944119717855233",
|
||||
"boxTypes": [
|
||||
"SMALL",
|
||||
"MEDIUM",
|
||||
"LARGE",
|
||||
"EXTRA_LARGE"
|
||||
],
|
||||
"inboundId": null,
|
||||
"orderNo": "FL2085944124604219394"
|
||||
}
|
||||
},
|
||||
"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": "fd633a51-88e5-4480-acb6-af024e1414a1, 471e9ee4-7cce-47ff-927b-6f944cfde322",
|
||||
"traceId": "f8deb6844ea44759a033c7a0bb505c67",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T04:20:06.119Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试账号登录",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/auth/login"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e323e25c-a97e-4f0a-b0ea-921ce9659769, 23faaf1d-977c-4303-a38c-4806efa3f9a3",
|
||||
"traceId": "c94d0164b0e24bfa8948b8fd5fa5337b",
|
||||
"evidence": "username=merchant_admin",
|
||||
"checkedAt": "2026-08-08T04:20:06.478Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询当前企业资料",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "daebe4e3-0570-40be-8ee4-1a45114bd5ce, 544284da-1c49-4128-a06a-67bd938d963f",
|
||||
"traceId": "b23c3c5d961448499cc734720b58a671",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T04:20:06.768Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 测试企业已审核且客户 ID 有效",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/iam/tenant/profile"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "daebe4e3-0570-40be-8ee4-1a45114bd5ce, 544284da-1c49-4128-a06a-67bd938d963f",
|
||||
"traceId": "b23c3c5d961448499cc734720b58a671",
|
||||
"evidence": "tenantId=10001, status=ACTIVE",
|
||||
"checkedAt": "2026-08-08T04:20:06.768Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Admin 查询客户固定箱型",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e5aedbe9-f86a-4a2b-9b40-3124f4e4d2b4, 517cb219-b255-46ec-b0c8-4cf27719260a",
|
||||
"traceId": "fb867d00d90b4dedad3ee1ba8c57fe0d",
|
||||
"evidence": "tenantId=10001",
|
||||
"checkedAt": "2026-08-08T04:20:07.184Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "固定四箱型顺序、内径及每边加2cm正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e5aedbe9-f86a-4a2b-9b40-3124f4e4d2b4, 517cb219-b255-46ec-b0c8-4cf27719260a",
|
||||
"traceId": "fb867d00d90b4dedad3ee1ba8c57fe0d",
|
||||
"evidence": "types=SMALL,MEDIUM,LARGE,EXTRA_LARGE",
|
||||
"checkedAt": "2026-08-08T04:20:07.184Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6750a16f-8e40-4552-88df-024958b69c93, 13e6c9ed-cce5-49db-bc46-e702b1ddd670",
|
||||
"traceId": "00f17820d45c469fa76650b01633e3a2",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T04:20:07.911Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用国内收货仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=DOMESTIC"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6750a16f-8e40-4552-88df-024958b69c93, 13e6c9ed-cce5-49db-bc46-e702b1ddd670",
|
||||
"traceId": "00f17820d45c469fa76650b01633e3a2",
|
||||
"evidence": "count=2",
|
||||
"checkedAt": "2026-08-08T04:20:07.911Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f9b86d50-6b37-4efc-9046-fd2c4a0e5944, 3bb55f48-f394-425c-8add-0e86cb6e14e9",
|
||||
"traceId": "af08ebd097ae4dfda9eb5ffc6fab07a9",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T04:20:08.017Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在可用 FBA 目的仓",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/warehouses?page=1&size=200&status=ACTIVE&warehouseType=FBA"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f9b86d50-6b37-4efc-9046-fd2c4a0e5944, 3bb55f48-f394-425c-8add-0e86cb6e14e9",
|
||||
"traceId": "af08ebd097ae4dfda9eb5ffc6fab07a9",
|
||||
"evidence": "count=200",
|
||||
"checkedAt": "2026-08-08T04:20:08.017Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询可用计费渠道",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6d0f39b1-e72a-4000-93fe-6ccf175d90ab, 98ab9721-78bb-46d4-884a-bfbcff8a0501",
|
||||
"traceId": "3f482aec77d24c11bb6352ab7575dbd1",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T04:20:08.099Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "存在带计价税制的可用渠道",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/first-leg/pricing/channels?originWarehouseId=193000000000200001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6d0f39b1-e72a-4000-93fe-6ccf175d90ab, 98ab9721-78bb-46d4-884a-bfbcff8a0501",
|
||||
"traceId": "3f482aec77d24c11bb6352ab7575dbd1",
|
||||
"evidence": "count=15",
|
||||
"checkedAt": "2026-08-08T04:20:08.100Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询发货客户候选",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/partners/candidates?type=SHIPPER"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d87b98d5-855c-4b5b-bf5b-2b873e57002f, 59990ae4-0290-43d4-88ea-36bafc7ad0aa",
|
||||
"traceId": "432202b9a3684d1098a3fcae454aab0a",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T04:20:08.150Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 上传产品图片",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/files/product-images"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0484fb9b-e833-4aae-adf4-63b3c527ed40, 26e252e3-d5e7-4bae-aa22-bbca91576893",
|
||||
"traceId": "aceb9173ad64475091cb0bb016e33843",
|
||||
"evidence": "contentType=image/png",
|
||||
"checkedAt": "2026-08-08T04:20:08.555Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "产品图片上传返回字符串文件 ID",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/files/product-images"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0484fb9b-e833-4aae-adf4-63b3c527ed40, 26e252e3-d5e7-4bae-aa22-bbca91576893",
|
||||
"traceId": "aceb9173ad64475091cb0bb016e33843",
|
||||
"evidence": "fileIdType=string, contentType=image/png",
|
||||
"checkedAt": "2026-08-08T04:20:08.555Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 可下载本轮产品图片",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/files/product-images/2085944119717855233"
|
||||
},
|
||||
"http": 200,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "5b1e2446-67bb-4859-b49e-e5106cd64be9, 136b2647-2650-452c-a693-932b45c2e4ba",
|
||||
"traceId": "e853f240f9294ea886cbab63a4f396cf",
|
||||
"evidence": "bytes=68, contentType=image/png",
|
||||
"checkedAt": "2026-08-08T04:20:08.636Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "Client 创建四箱型隔离订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d1bd5de3-fc83-4941-a2d9-20a26f7af54f, fe8e5746-04c2-4d8b-bb52-33af5e84db18",
|
||||
"traceId": "d609351e49dc46b79ac61fb3e2dbabeb",
|
||||
"evidence": "marker=ADMIN-API-20260808042004771",
|
||||
"checkedAt": "2026-08-08T04:20:09.788Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 创建订单幂等重放",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "023d6b8b-a8e4-4640-9341-a1efd3c52cb0, 6dcd5da5-cbf2-46ec-9bd2-6b994ee1077f",
|
||||
"traceId": "bb93beaf25a44f82ad02201f3ab96877",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T04:20:09.979Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 创建幂等结果一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "023d6b8b-a8e4-4640-9341-a1efd3c52cb0, 6dcd5da5-cbf2-46ec-9bd2-6b994ee1077f",
|
||||
"traceId": "bb93beaf25a44f82ad02201f3ab96877",
|
||||
"evidence": "orderId=2085944124604219394, replayedId=2085944124604219394",
|
||||
"checkedAt": "2026-08-08T04:20:09.979Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 查询隔离订单草稿",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085944124604219394"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b8a73339-02bb-4612-98a1-9b55970ea5b0, c79086c0-7ea4-4d05-9688-076c8221130a",
|
||||
"traceId": "455f42de5cb448679dfa6122c07c7581",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T04:20:10.045Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 草稿身份、marker 和状态正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085944124604219394"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b8a73339-02bb-4612-98a1-9b55970ea5b0, c79086c0-7ea4-4d05-9688-076c8221130a",
|
||||
"traceId": "455f42de5cb448679dfa6122c07c7581",
|
||||
"evidence": "orderNo=FL2085944124604219394, status=DRAFT",
|
||||
"checkedAt": "2026-08-08T04:20:10.045Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "四箱型产品字段及图片契约完整回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085944124604219394"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b8a73339-02bb-4612-98a1-9b55970ea5b0, c79086c0-7ea4-4d05-9688-076c8221130a",
|
||||
"traceId": "455f42de5cb448679dfa6122c07c7581",
|
||||
"evidence": "cargoes=4, imageFileId=2085944119717855233",
|
||||
"checkedAt": "2026-08-08T04:20:10.045Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 提交隔离订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085944124604219394/submit"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5fa8d0fa-ed17-44d7-b2df-123feeb87436, 5b616c43-257d-420e-af21-4f41a01201c0",
|
||||
"traceId": "ac3b77467df44218aba192ca2f5d7295",
|
||||
"evidence": "orderId=2085944124604219394",
|
||||
"checkedAt": "2026-08-08T04:20:10.292Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 回查已提交订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085944124604219394"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c0da5e81-4419-410e-8e9a-605dc35d5d1e, a4e6650c-92c8-479b-a255-aebd44f85f87",
|
||||
"traceId": "8a5d14f6373141d1adaae3846cbf61e0",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T04:20:10.334Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Client 订单已进入待审核状态",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/merchant/v1/orders/first-leg/2085944124604219394"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c0da5e81-4419-410e-8e9a-605dc35d5d1e, a4e6650c-92c8-479b-a255-aebd44f85f87",
|
||||
"traceId": "8a5d14f6373141d1adaae3846cbf61e0",
|
||||
"evidence": "status=SUBMITTED",
|
||||
"checkedAt": "2026-08-08T04:20:10.334Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询统一订单列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders?page=1&size=100&tenantId=10001&orderNo=FL2085944124604219394"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "4636f94e-ff1d-433e-9a83-f6492f3f2386, 3963a123-ccb3-4450-bdc8-4639d9ed91ce",
|
||||
"traceId": "74cddcb66c14469f9e12a4909403ec89",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T04:20:10.516Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 统一订单列表只核对本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders?page=1&size=100&tenantId=10001&orderNo=FL2085944124604219394"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "4636f94e-ff1d-433e-9a83-f6492f3f2386, 3963a123-ccb3-4450-bdc8-4639d9ed91ce",
|
||||
"traceId": "74cddcb66c14469f9e12a4909403ec89",
|
||||
"evidence": "orderId=2085944124604219394, found=true",
|
||||
"checkedAt": "2026-08-08T04:20:10.516Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询统一订单详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085944124604219394?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "828a2eb0-4a40-47a3-8509-6ecbb804f53e, 356a9c43-b508-435d-8a99-9e0e0ca1418f",
|
||||
"traceId": "d18d0ddf28494353ad4b13fa5698539c",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T04:20:10.565Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 统一订单详情身份与待审核状态正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085944124604219394?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "828a2eb0-4a40-47a3-8509-6ecbb804f53e, 356a9c43-b508-435d-8a99-9e0e0ca1418f",
|
||||
"traceId": "d18d0ddf28494353ad4b13fa5698539c",
|
||||
"evidence": "mainStatus=PENDING_REVIEW, timeline=2",
|
||||
"checkedAt": "2026-08-08T04:20:10.565Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询头程订单列表",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=10001&keyword=FL2085944124604219394&page=1&size=100"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d81ef117-c3bc-4eaa-8f2e-0ccce6c164df, a0fab974-297e-4398-bfc7-f6ecd36523e5",
|
||||
"traceId": "7efef225789f452fb051f636a57d144c",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T04:20:10.624Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 头程订单列表只核对本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg?tenantId=10001&keyword=FL2085944124604219394&page=1&size=100"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d81ef117-c3bc-4eaa-8f2e-0ccce6c164df, a0fab974-297e-4398-bfc7-f6ecd36523e5",
|
||||
"traceId": "7efef225789f452fb051f636a57d144c",
|
||||
"evidence": "orderId=2085944124604219394, found=true",
|
||||
"checkedAt": "2026-08-08T04:20:10.624Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 查询头程订单详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085944124604219394?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0d1425a4-7713-4ec9-95b5-5f353610ec7d, ca155238-4d80-4718-a09b-d793471b5730",
|
||||
"traceId": "0b2f6fe9b5a6448e9b8a3286886d7067",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T04:20:10.679Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 头程订单详情聚合结构完整",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085944124604219394?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0d1425a4-7713-4ec9-95b5-5f353610ec7d, ca155238-4d80-4718-a09b-d793471b5730",
|
||||
"traceId": "0b2f6fe9b5a6448e9b8a3286886d7067",
|
||||
"evidence": "cargoes=4, history=2",
|
||||
"checkedAt": "2026-08-08T04:20:10.679Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "四箱型产品字段及图片契约完整回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085944124604219394?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0d1425a4-7713-4ec9-95b5-5f353610ec7d, ca155238-4d80-4718-a09b-d793471b5730",
|
||||
"traceId": "0b2f6fe9b5a6448e9b8a3286886d7067",
|
||||
"evidence": "cargoes=4, imageFileId=2085944119717855233",
|
||||
"checkedAt": "2026-08-08T04:20:10.679Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 为本轮订单添加内部备注",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085944124604219394/internal-notes?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "02b2cced-f7b0-4c8e-b98e-64a3d0fc9de9, c41ea1c4-3408-4643-941a-0dac9b2db008",
|
||||
"traceId": "7cdf27b5f53a4297bea4648e6f6d6199",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T04:20:10.727Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "Admin 审核通过本轮订单",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/orders/first-leg/2085944124604219394/approve?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9e0d8f5a-5f2c-40d2-b9df-db00e773050e, 3ec6fdff-7d5a-47b5-81b1-e47bb6724520",
|
||||
"traceId": "666ab113e35347039018a0a97d051d49",
|
||||
"evidence": "orderId=2085944124604219394",
|
||||
"checkedAt": "2026-08-08T04:20:10.787Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": "isolated-order-chain",
|
||||
"name": "审核后生成隔离入库单",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/orders/2085944124604219394?tenantId=10001"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "S0503",
|
||||
"message": "统一订单履约详情响应无效",
|
||||
"requestId": "b2c13096-0eeb-41ff-a9c5-f59571ff93ac",
|
||||
"traceId": "d033a920d751440bab00d46525147427",
|
||||
"evidence": "20秒内未返回 inboundId",
|
||||
"checkedAt": "2026-08-08T04:20:31.869Z"
|
||||
},
|
||||
{
|
||||
"module": "orders",
|
||||
"scenario": null,
|
||||
"name": "模块执行",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "订单审核后的入库单契约未部署,无法向 OCR/墨家模块交接",
|
||||
"checkedAt": "2026-08-08T04:20:31.869Z"
|
||||
},
|
||||
{
|
||||
"module": "inbound-measurement",
|
||||
"scenario": "mojia-carton-measurement",
|
||||
"name": "取得隔离的待测量入库单",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "orders 模块未提供 marker=ADMIN-API-20260808042004771 的 inboundId/tenantId;为避免修改随机历史订单,本模块停止写入",
|
||||
"checkedAt": "2026-08-08T04:20:31.871Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,183 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808060030925",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T06:00:32.398Z",
|
||||
"startedAt": "2026-08-08T06:00:30.925Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 7,
|
||||
"passed": 6,
|
||||
"failed": 1
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "overseas-storage-fees",
|
||||
"startedAt": "2026-08-08T06:00:31.303Z",
|
||||
"finishedAt": "2026-08-08T06:00:32.398Z",
|
||||
"success": false,
|
||||
"passed": 5,
|
||||
"failed": 1,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "查询客户海外仓费用配置",
|
||||
"evidence": "tenantId=2085969381372317698",
|
||||
"code": "S0500",
|
||||
"requestId": "43e1231e-8404-4be0-b8da-db4dd63133e3",
|
||||
"traceId": "1ef03fcf4e954433bfc70ab7c226454d"
|
||||
}
|
||||
],
|
||||
"createdResources": {
|
||||
"overseasStorageFeeCustomer": {
|
||||
"tenantId": "2085969381372317698",
|
||||
"marker": "ADMIN-API-20260808060030925",
|
||||
"ownedByModule": true
|
||||
}
|
||||
},
|
||||
"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": "fe913670-d582-4ca0-8a4f-0d0ed77d1a26, 9871584d-e19d-408c-9b11-b7953a436b0f",
|
||||
"traceId": "7214d678e2c0433db416a817fd7d6c16",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:00:31.302Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": null,
|
||||
"name": "检查测试联系电话可用性",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16168831304"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "99783175-a094-4677-913f-3b338405a38a, b9139302-91ea-4ca8-a257-8339d089b3ad",
|
||||
"traceId": "f2b5ed1db5a246e7a4ac88bd48784967",
|
||||
"evidence": "attempt=1",
|
||||
"checkedAt": "2026-08-08T06:00:31.356Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "创建海外仓费用隔离客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0a5b9b08-171f-41de-b879-3ca2c6ba0ad9, 606ad7cc-e242-4d59-8267-78909a68c787",
|
||||
"traceId": "636b0885ae024db9bbd41a35416d128e",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:00:32.221Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "海外仓费用隔离客户创建并带 marker",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0a5b9b08-171f-41de-b879-3ca2c6ba0ad9, 606ad7cc-e242-4d59-8267-78909a68c787",
|
||||
"traceId": "636b0885ae024db9bbd41a35416d128e",
|
||||
"evidence": "tenantId=2085969381372317698",
|
||||
"checkedAt": "2026-08-08T06:00:32.221Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "查询客户海外仓费用配置",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085969381372317698/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "S0500",
|
||||
"message": "Internal server error",
|
||||
"requestId": "43e1231e-8404-4be0-b8da-db4dd63133e3",
|
||||
"traceId": "1ef03fcf4e954433bfc70ab7c226454d",
|
||||
"evidence": "tenantId=2085969381372317698",
|
||||
"checkedAt": "2026-08-08T06:00:32.258Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "费用配置契约不可用时清理隔离客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085969381372317698/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7ddac37a-a099-4f83-b8a8-e662245e62e1, c756d5e2-959b-41ab-99b5-74415583f40d",
|
||||
"traceId": "1878469a40be488abbbf6d3ce9300c8f",
|
||||
"evidence": "tenantId=2085969381372317698",
|
||||
"checkedAt": "2026-08-08T06:00:32.398Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "隔离客户清理后停用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085969381372317698/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7ddac37a-a099-4f83-b8a8-e662245e62e1, c756d5e2-959b-41ab-99b5-74415583f40d",
|
||||
"traceId": "1878469a40be488abbbf6d3ce9300c8f",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T06:00:32.398Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,705 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808061243233",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T06:12:44.205Z",
|
||||
"startedAt": "2026-08-08T06:12:43.233Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 25,
|
||||
"passed": 1,
|
||||
"failed": 24
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "ocean-bookings",
|
||||
"startedAt": "2026-08-08T06:12:43.611Z",
|
||||
"finishedAt": "2026-08-08T06:12:43.833Z",
|
||||
"success": false,
|
||||
"passed": 0,
|
||||
"failed": 9,
|
||||
"fatal": "Cannot access 'create' before initialization"
|
||||
},
|
||||
{
|
||||
"name": "truck-appointments",
|
||||
"startedAt": "2026-08-08T06:12:43.834Z",
|
||||
"finishedAt": "2026-08-08T06:12:44.205Z",
|
||||
"success": false,
|
||||
"passed": 0,
|
||||
"failed": 15,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱列表分页与 keyword 查询",
|
||||
"evidence": "",
|
||||
"code": null,
|
||||
"requestId": "935b2577-51",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱列表分页结构正确",
|
||||
"evidence": "records=n/a",
|
||||
"code": null,
|
||||
"requestId": "935b2577-51",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱 DRAFT 状态筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "b82ce6ff-52",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱 SUBMITTED 状态筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "935b2577-53",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱 CONFIRMED 状态筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "b82ce6ff-54",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱 RELEASED 状态筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "935b2577-55",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱 FAILED 状态筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "b82ce6ff-56",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱 CANCELLED 状态筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "935b2577-57",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约分页 keyword 查询",
|
||||
"evidence": "",
|
||||
"code": null,
|
||||
"requestId": "b82ce6ff-58",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约分页结构正确",
|
||||
"evidence": "records=n/a",
|
||||
"code": null,
|
||||
"requestId": "b82ce6ff-58",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 DRAFT 筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "935b2577-59",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 PENDING_DISPATCH 筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "b82ce6ff-60",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 DISPATCHED 筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "935b2577-61",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 PICKUP_IN_PROGRESS 筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "b82ce6ff-62",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 ARRIVED_WAREHOUSE 筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "935b2577-63",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 LOADING 筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "b82ce6ff-64",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 DEPARTED 筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "935b2577-65",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 COMPLETED 筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "b82ce6ff-66",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 RESCHEDULED 筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "935b2577-67",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 EXCEPTION 筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "b82ce6ff-68",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 CANCELLED 筛选",
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"code": null,
|
||||
"requestId": "935b2577-69",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "创建隔离拖车预约",
|
||||
"evidence": "",
|
||||
"code": null,
|
||||
"requestId": "b82ce6ff-70",
|
||||
"traceId": null
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约费用、司机车辆和地址字段完整",
|
||||
"evidence": "id=missing, status=missing",
|
||||
"code": null,
|
||||
"requestId": "b82ce6ff-70",
|
||||
"traceId": null
|
||||
}
|
||||
],
|
||||
"createdResources": {},
|
||||
"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": "4d3a980d-5349-47c6-8c96-8a31a6934744, 86c817c2-80bc-45c0-8de1-cc4e52242456",
|
||||
"traceId": "aae31740ac694e65ad8176b9e343096d",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:12:43.610Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱列表分页与 keyword 查询",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&keyword=ADMIN-API-20260808061243233"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "935b2577-51",
|
||||
"traceId": null,
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:12:43.669Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱列表分页结构正确",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&keyword=ADMIN-API-20260808061243233"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "935b2577-51",
|
||||
"traceId": null,
|
||||
"evidence": "records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:43.669Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱 DRAFT 状态筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&status=DRAFT"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b82ce6ff-52",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:43.693Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱 SUBMITTED 状态筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&status=SUBMITTED"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "935b2577-53",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:43.712Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱 CONFIRMED 状态筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&status=CONFIRMED"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b82ce6ff-54",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:43.741Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱 RELEASED 状态筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&status=RELEASED"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "935b2577-55",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:43.772Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱 FAILED 状态筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&status=FAILED"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b82ce6ff-56",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:43.801Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱 CANCELLED 状态筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/ocean-bookings?page=1&size=5&status=CANCELLED"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "935b2577-57",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:43.833Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": null,
|
||||
"name": "模块执行",
|
||||
"passed": false,
|
||||
"deploymentBlocker": false,
|
||||
"request": null,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": "Cannot access 'create' before initialization",
|
||||
"checkedAt": "2026-08-08T06:12:43.833Z"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约分页 keyword 查询",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments?page=1&size=5&keyword=ADMIN-API-20260808061243233"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b82ce6ff-58",
|
||||
"traceId": null,
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:12:43.864Z"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约分页结构正确",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments?page=1&size=5&keyword=ADMIN-API-20260808061243233"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b82ce6ff-58",
|
||||
"traceId": null,
|
||||
"evidence": "records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:43.864Z"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 DRAFT 筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=DRAFT"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "935b2577-59",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:43.895Z"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 PENDING_DISPATCH 筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=PENDING_DISPATCH"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b82ce6ff-60",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:43.925Z"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 DISPATCHED 筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=DISPATCHED"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "935b2577-61",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:43.956Z"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 PICKUP_IN_PROGRESS 筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=PICKUP_IN_PROGRESS"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b82ce6ff-62",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:43.986Z"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 ARRIVED_WAREHOUSE 筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=ARRIVED_WAREHOUSE"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "935b2577-63",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:44.005Z"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 LOADING 筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=LOADING"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b82ce6ff-64",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:44.037Z"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 DEPARTED 筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=DEPARTED"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "935b2577-65",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:44.064Z"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 COMPLETED 筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=COMPLETED"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b82ce6ff-66",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:44.096Z"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 RESCHEDULED 筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=RESCHEDULED"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "935b2577-67",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:44.115Z"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 EXCEPTION 筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=EXCEPTION"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b82ce6ff-68",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:44.142Z"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约 CANCELLED 筛选",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments?page=1&size=5&status=CANCELLED"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "935b2577-69",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=404, code=missing, records=n/a",
|
||||
"checkedAt": "2026-08-08T06:12:44.173Z"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "创建隔离拖车预约",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/truck-appointments"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b82ce6ff-70",
|
||||
"traceId": null,
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:12:44.205Z"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约费用、司机车辆和地址字段完整",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/truck-appointments"
|
||||
},
|
||||
"http": 404,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "b82ce6ff-70",
|
||||
"traceId": null,
|
||||
"evidence": "id=missing, status=missing",
|
||||
"checkedAt": "2026-08-08T06:12:44.205Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,435 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808065359934",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T06:54:01.938Z",
|
||||
"startedAt": "2026-08-08T06:53:59.934Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 19,
|
||||
"passed": 15,
|
||||
"failed": 4
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "overseas-storage-fees",
|
||||
"startedAt": "2026-08-08T06:54:00.315Z",
|
||||
"finishedAt": "2026-08-08T06:54:01.938Z",
|
||||
"success": false,
|
||||
"passed": 14,
|
||||
"failed": 4,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "customer-overseas-storage-fee-lifecycle",
|
||||
"module": "overseas-storage-fees",
|
||||
"success": false,
|
||||
"deploymentBlocked": true,
|
||||
"passed": 14,
|
||||
"failed": 4
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "修改后币种、价格、9档及版本整体回显",
|
||||
"evidence": "currency=EUR, version=1, tiers=9",
|
||||
"code": "200",
|
||||
"requestId": "1b3e9007-3bce-4dc5-8bcd-e2f622f698c0, f704cd04-0a0d-40e9-b9d4-4b6e171e95ce",
|
||||
"traceId": "8cc5f4c572564f12b7ed16575880a7e2"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "冲突未造成部分更新",
|
||||
"evidence": "version=1, unchanged=true",
|
||||
"code": "200",
|
||||
"requestId": "87016da5-09ad-423b-882d-d9e6f9bc8302, e1382b9c-31e6-43f2-a5b4-d4c87ada450b",
|
||||
"traceId": "149a8ab4baec44f88b5e0aa2d24d1ced"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "恢复本轮客户费用原始配置",
|
||||
"evidence": "restore=initial",
|
||||
"code": "A0422",
|
||||
"requestId": "e772de39-7242-48a8-9e4e-108c941e2281",
|
||||
"traceId": "fe07e9fd7613495bb8ebaec4ce75d427"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "恢复后9档、USD、免费档和无上限档一致",
|
||||
"evidence": "currency=EUR, version=1, tiers=9",
|
||||
"code": "200",
|
||||
"requestId": "121fdf43-c905-413b-b903-93761c4fbfa3, cd45037f-90e6-4393-ad4b-a1b9efc5e45a",
|
||||
"traceId": "0aac3349fdba4446b5aab9835d45df50"
|
||||
}
|
||||
],
|
||||
"createdResources": {
|
||||
"overseasStorageFeeCustomer": {
|
||||
"tenantId": "2085982841955012609",
|
||||
"marker": "ADMIN-API-20260808065359934",
|
||||
"ownedByModule": true
|
||||
}
|
||||
},
|
||||
"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": "0db4a44a-dbc6-4f84-b553-fbfee8ed8b8e, a432e66f-c1c7-47b1-8d4b-97d1c285352c",
|
||||
"traceId": "3728103aab034b85b273b95ed105b46c",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:54:00.313Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": null,
|
||||
"name": "检查测试联系电话可用性",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16172040315"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "13d24ff8-ba69-48e3-8e4e-117c1d899ff4, 89009cea-52a6-44b3-afac-b9bcc77f7779",
|
||||
"traceId": "51ea477f6a6c4c7bab8a8e22b8e267e8",
|
||||
"evidence": "attempt=1",
|
||||
"checkedAt": "2026-08-08T06:54:00.557Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "创建海外仓费用隔离客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "fa4ded48-6b11-429b-8033-ed16100666a6, 707817b8-9ba3-4889-9f79-7c1a05546564",
|
||||
"traceId": "39044aa3bef440b486e2fc61899321c5",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:54:01.244Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "海外仓费用隔离客户创建并带 marker",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "fa4ded48-6b11-429b-8033-ed16100666a6, 707817b8-9ba3-4889-9f79-7c1a05546564",
|
||||
"traceId": "39044aa3bef440b486e2fc61899321c5",
|
||||
"evidence": "tenantId=2085982841955012609",
|
||||
"checkedAt": "2026-08-08T06:54:01.245Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "查询客户海外仓费用配置",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085982841955012609/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f803e78c-053a-4f8e-b59f-23c41982b470, 4237c9d5-cf92-4a38-82b7-a630df8e3c55",
|
||||
"traceId": "27f6c77621c144ebb033cd7815e506fa",
|
||||
"evidence": "tenantId=2085982841955012609",
|
||||
"checkedAt": "2026-08-08T06:54:01.303Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "客户费用配置身份、默认 USD 与9档结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085982841955012609/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f803e78c-053a-4f8e-b59f-23c41982b470, 4237c9d5-cf92-4a38-82b7-a630df8e3c55",
|
||||
"traceId": "27f6c77621c144ebb033cd7815e506fa",
|
||||
"evidence": "ruleId=2085982842560495618, customerId=2085982841955012609, currency=USD, tiers=9",
|
||||
"checkedAt": "2026-08-08T06:54:01.303Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "请求体客户 ID 与路径不一致时安全失败",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085982841955012609/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0422",
|
||||
"message": "customerName: must not be blank",
|
||||
"requestId": "98f3e904-40ca-4e75-adcd-daac009061f4",
|
||||
"traceId": "cec7ec0f388b41cca76da9d591bdedb2",
|
||||
"evidence": "HTTP=200, code=A0422",
|
||||
"checkedAt": "2026-08-08T06:54:01.439Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "整组修改客户海外仓费用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085982841955012609/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "276938b8-b96d-4de5-bea5-887f62f179d6, 24d76e17-16c5-4323-8c62-942a791d03d7",
|
||||
"traceId": "db7b40c4abd149f5b1f0d7c47126d84f",
|
||||
"evidence": "tenantId=2085982841955012609, tiers=9",
|
||||
"checkedAt": "2026-08-08T06:54:01.554Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "回查整组修改后的客户费用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085982841955012609/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1b3e9007-3bce-4dc5-8bcd-e2f622f698c0, f704cd04-0a0d-40e9-b9d4-4b6e171e95ce",
|
||||
"traceId": "8cc5f4c572564f12b7ed16575880a7e2",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:54:01.601Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "修改后币种、价格、9档及版本整体回显",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085982841955012609/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "1b3e9007-3bce-4dc5-8bcd-e2f622f698c0, f704cd04-0a0d-40e9-b9d4-4b6e171e95ce",
|
||||
"traceId": "8cc5f4c572564f12b7ed16575880a7e2",
|
||||
"evidence": "currency=EUR, version=1, tiers=9",
|
||||
"checkedAt": "2026-08-08T06:54:01.601Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "旧 version 整组保存返回并发冲突",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085982841955012609/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "费用配置已被修改,请刷新后重试",
|
||||
"requestId": "de8451f1-4154-4180-ab7c-bd8722a12ec3",
|
||||
"traceId": "9959a565d9cf48ea8defb0a142ae1a20",
|
||||
"evidence": "HTTP=200, code=A0409",
|
||||
"checkedAt": "2026-08-08T06:54:01.657Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "冲突后回查费用配置",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085982841955012609/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "87016da5-09ad-423b-882d-d9e6f9bc8302, e1382b9c-31e6-43f2-a5b4-d4c87ada450b",
|
||||
"traceId": "149a8ab4baec44f88b5e0aa2d24d1ced",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:54:01.693Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "冲突未造成部分更新",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085982841955012609/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "87016da5-09ad-423b-882d-d9e6f9bc8302, e1382b9c-31e6-43f2-a5b4-d4c87ada450b",
|
||||
"traceId": "149a8ab4baec44f88b5e0aa2d24d1ced",
|
||||
"evidence": "version=1, unchanged=true",
|
||||
"checkedAt": "2026-08-08T06:54:01.694Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "恢复本轮客户费用原始配置",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085982841955012609/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0422",
|
||||
"message": "customerName: must not be blank",
|
||||
"requestId": "e772de39-7242-48a8-9e4e-108c941e2281",
|
||||
"traceId": "fe07e9fd7613495bb8ebaec4ce75d427",
|
||||
"evidence": "restore=initial",
|
||||
"checkedAt": "2026-08-08T06:54:01.735Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "回查恢复后的客户费用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085982841955012609/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "121fdf43-c905-413b-b903-93761c4fbfa3, cd45037f-90e6-4393-ad4b-a1b9efc5e45a",
|
||||
"traceId": "0aac3349fdba4446b5aab9835d45df50",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:54:01.771Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "恢复后9档、USD、免费档和无上限档一致",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085982841955012609/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "121fdf43-c905-413b-b903-93761c4fbfa3, cd45037f-90e6-4393-ad4b-a1b9efc5e45a",
|
||||
"traceId": "0aac3349fdba4446b5aab9835d45df50",
|
||||
"evidence": "currency=EUR, version=1, tiers=9",
|
||||
"checkedAt": "2026-08-08T06:54:01.771Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"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": "453ac66a-a6c7-4d50-9077-1616fa5beba8",
|
||||
"traceId": "12cc06d5762d4e1ca508b7d59236078a",
|
||||
"evidence": "HTTP=200, code=A0404",
|
||||
"checkedAt": "2026-08-08T06:54:01.812Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "清理费用隔离客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085982841955012609/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a6dffa51-b4df-451f-8bbf-7ed6c2d1c779, 77819f42-d164-4029-9ca6-fbb58408cfe4",
|
||||
"traceId": "3523f77cb0394fe2b12974ef7222672a",
|
||||
"evidence": "tenantId=2085982841955012609",
|
||||
"checkedAt": "2026-08-08T06:54:01.938Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "费用隔离客户清理后停用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085982841955012609/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a6dffa51-b4df-451f-8bbf-7ed6c2d1c779, 77819f42-d164-4029-9ca6-fbb58408cfe4",
|
||||
"traceId": "3523f77cb0394fe2b12974ef7222672a",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T06:54:01.938Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,435 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808065918334",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T06:59:19.626Z",
|
||||
"startedAt": "2026-08-08T06:59:18.334Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 19,
|
||||
"passed": 15,
|
||||
"failed": 4
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "overseas-storage-fees",
|
||||
"startedAt": "2026-08-08T06:59:18.713Z",
|
||||
"finishedAt": "2026-08-08T06:59:19.626Z",
|
||||
"success": false,
|
||||
"passed": 14,
|
||||
"failed": 4,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "customer-overseas-storage-fee-lifecycle",
|
||||
"module": "overseas-storage-fees",
|
||||
"success": false,
|
||||
"deploymentBlocked": true,
|
||||
"passed": 14,
|
||||
"failed": 4
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "修改后币种、价格、9档及版本整体回显",
|
||||
"evidence": "currency=EUR, version=1, tiers=9",
|
||||
"code": "200",
|
||||
"requestId": "98bd77a6-3aca-497c-ae3e-7c0d1813701a, a3bd16c8-2306-4c16-9b83-5307590f05f6",
|
||||
"traceId": "a1ffdf71954f4d7c9e055a9f231763d6"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "冲突未造成部分更新",
|
||||
"evidence": "version=1, unchanged=true",
|
||||
"code": "200",
|
||||
"requestId": "f1fc0661-7ff9-4909-a1ce-80f4cce23278, 02b01b87-38f7-4c4d-8ba1-171fd609ed94",
|
||||
"traceId": "a54fcb6faf7f4ed1926239b7d8814e08"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "恢复本轮客户费用原始配置",
|
||||
"evidence": "restore=initial",
|
||||
"code": "A0422",
|
||||
"requestId": "a3b0f559-bb7b-41e0-8bc2-a912ed17887f",
|
||||
"traceId": "77a0aadebbd74a1aa6f5b9c052508f14"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "恢复后9档、USD、免费档和无上限档一致",
|
||||
"evidence": "currency=EUR, version=1, tiers=9",
|
||||
"code": "200",
|
||||
"requestId": "6dd92676-a02c-4e34-a6ea-6b1552f980b9, c3197de5-acd8-46b4-8e3f-ebd904ba4e62",
|
||||
"traceId": "4e603484f649499face24450f350fc4b"
|
||||
}
|
||||
],
|
||||
"createdResources": {
|
||||
"overseasStorageFeeCustomer": {
|
||||
"tenantId": "2085984176263778306",
|
||||
"marker": "ADMIN-API-20260808065918334",
|
||||
"ownedByModule": true
|
||||
}
|
||||
},
|
||||
"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": "9052ad17-f00f-4295-822e-4bb685cbce7f, 874710e5-e85b-4583-81e7-5f71b89c5727",
|
||||
"traceId": "85a2e60d23214e89bb6cd146cae95d10",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:59:18.712Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": null,
|
||||
"name": "检查测试联系电话可用性",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16172358714"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0ea7bda7-9523-4344-988a-d9f1bec47907, cfcfd3d6-73f1-4fec-b263-422c02e0f46d",
|
||||
"traceId": "7a56265ac56b40118510d04b58809db5",
|
||||
"evidence": "attempt=1",
|
||||
"checkedAt": "2026-08-08T06:59:18.764Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "创建海外仓费用隔离客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "380f8d9d-e0f4-4462-928a-bda83aba0c6a, 42e42bef-9565-4498-972c-e5f5ebd90a78",
|
||||
"traceId": "18e6db0461074e1984374b4105fe4f8e",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:59:19.160Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "海外仓费用隔离客户创建并带 marker",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "380f8d9d-e0f4-4462-928a-bda83aba0c6a, 42e42bef-9565-4498-972c-e5f5ebd90a78",
|
||||
"traceId": "18e6db0461074e1984374b4105fe4f8e",
|
||||
"evidence": "tenantId=2085984176263778306",
|
||||
"checkedAt": "2026-08-08T06:59:19.160Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "查询客户海外仓费用配置",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085984176263778306/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "49f8654a-ed79-48f5-81db-e1cf6cf2437d, d4cb71c3-bda1-4e89-829f-4345a81d3eb5",
|
||||
"traceId": "003b950720fd49ebb258f12be1190b74",
|
||||
"evidence": "tenantId=2085984176263778306",
|
||||
"checkedAt": "2026-08-08T06:59:19.196Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "客户费用配置身份、默认 USD 与9档结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085984176263778306/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "49f8654a-ed79-48f5-81db-e1cf6cf2437d, d4cb71c3-bda1-4e89-829f-4345a81d3eb5",
|
||||
"traceId": "003b950720fd49ebb258f12be1190b74",
|
||||
"evidence": "ruleId=2085984176365944834, customerId=2085984176263778306, currency=USD, tiers=9",
|
||||
"checkedAt": "2026-08-08T06:59:19.197Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "请求体客户 ID 与路径不一致时安全失败",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085984176263778306/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0422",
|
||||
"message": "customerName: must not be blank",
|
||||
"requestId": "92e8e381-052f-4460-aee3-e643aea91970",
|
||||
"traceId": "0a9131c92a314625916c6dbb1fa8acf8",
|
||||
"evidence": "HTTP=200, code=A0422",
|
||||
"checkedAt": "2026-08-08T06:59:19.238Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "整组修改客户海外仓费用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085984176263778306/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3c87bce9-30bf-4af0-9d68-8ab5931dc70e, 5fbf59bc-8751-4b1d-afc7-cf4ee697cb43",
|
||||
"traceId": "043f08f2b36e4de1a2d003dab1217b27",
|
||||
"evidence": "tenantId=2085984176263778306, tiers=9",
|
||||
"checkedAt": "2026-08-08T06:59:19.304Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "回查整组修改后的客户费用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085984176263778306/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "98bd77a6-3aca-497c-ae3e-7c0d1813701a, a3bd16c8-2306-4c16-9b83-5307590f05f6",
|
||||
"traceId": "a1ffdf71954f4d7c9e055a9f231763d6",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:59:19.348Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "修改后币种、价格、9档及版本整体回显",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085984176263778306/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "98bd77a6-3aca-497c-ae3e-7c0d1813701a, a3bd16c8-2306-4c16-9b83-5307590f05f6",
|
||||
"traceId": "a1ffdf71954f4d7c9e055a9f231763d6",
|
||||
"evidence": "currency=EUR, version=1, tiers=9",
|
||||
"checkedAt": "2026-08-08T06:59:19.348Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "旧 version 整组保存返回并发冲突",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085984176263778306/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "费用配置已被修改,请刷新后重试",
|
||||
"requestId": "43c1ea00-38d1-4a12-933e-dfb32b51fa76",
|
||||
"traceId": "234e50007d3446ddb5d6e67844c25bd5",
|
||||
"evidence": "HTTP=200, code=A0409",
|
||||
"checkedAt": "2026-08-08T06:59:19.387Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "冲突后回查费用配置",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085984176263778306/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f1fc0661-7ff9-4909-a1ce-80f4cce23278, 02b01b87-38f7-4c4d-8ba1-171fd609ed94",
|
||||
"traceId": "a54fcb6faf7f4ed1926239b7d8814e08",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:59:19.427Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "冲突未造成部分更新",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085984176263778306/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f1fc0661-7ff9-4909-a1ce-80f4cce23278, 02b01b87-38f7-4c4d-8ba1-171fd609ed94",
|
||||
"traceId": "a54fcb6faf7f4ed1926239b7d8814e08",
|
||||
"evidence": "version=1, unchanged=true",
|
||||
"checkedAt": "2026-08-08T06:59:19.427Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "恢复本轮客户费用原始配置",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085984176263778306/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0422",
|
||||
"message": "customerName: must not be blank",
|
||||
"requestId": "a3b0f559-bb7b-41e0-8bc2-a912ed17887f",
|
||||
"traceId": "77a0aadebbd74a1aa6f5b9c052508f14",
|
||||
"evidence": "restore=initial",
|
||||
"checkedAt": "2026-08-08T06:59:19.451Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "回查恢复后的客户费用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085984176263778306/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6dd92676-a02c-4e34-a6ea-6b1552f980b9, c3197de5-acd8-46b4-8e3f-ebd904ba4e62",
|
||||
"traceId": "4e603484f649499face24450f350fc4b",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T06:59:19.480Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "恢复后9档、USD、免费档和无上限档一致",
|
||||
"passed": false,
|
||||
"deploymentBlocker": true,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085984176263778306/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "6dd92676-a02c-4e34-a6ea-6b1552f980b9, c3197de5-acd8-46b4-8e3f-ebd904ba4e62",
|
||||
"traceId": "4e603484f649499face24450f350fc4b",
|
||||
"evidence": "currency=EUR, version=1, tiers=9",
|
||||
"checkedAt": "2026-08-08T06:59:19.480Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"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": "e6878682-5ab5-4c4a-91d0-e78a01db654b",
|
||||
"traceId": "c2bd85464f4e42018837b501c659ce9d",
|
||||
"evidence": "HTTP=200, code=A0404",
|
||||
"checkedAt": "2026-08-08T06:59:19.517Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "清理费用隔离客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085984176263778306/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a15fbf86-29c5-4f9a-ab16-becbd38399c7, 9a621749-af84-459e-9a58-f7fb230de02c",
|
||||
"traceId": "e02b8542476d4764886907d01ef887f1",
|
||||
"evidence": "tenantId=2085984176263778306",
|
||||
"checkedAt": "2026-08-08T06:59:19.626Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "费用隔离客户清理后停用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085984176263778306/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "a15fbf86-29c5-4f9a-ab16-becbd38399c7, 9a621749-af84-459e-9a58-f7fb230de02c",
|
||||
"traceId": "e02b8542476d4764886907d01ef887f1",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T06:59:19.626Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,398 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808070759638",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T07:08:02.212Z",
|
||||
"startedAt": "2026-08-08T07:07:59.638Z",
|
||||
"success": true,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 19,
|
||||
"passed": 19,
|
||||
"failed": 0
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "overseas-storage-fees",
|
||||
"startedAt": "2026-08-08T07:08:00.028Z",
|
||||
"finishedAt": "2026-08-08T07:08:02.212Z",
|
||||
"success": true,
|
||||
"passed": 18,
|
||||
"failed": 0,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "customer-overseas-storage-fee-lifecycle",
|
||||
"module": "overseas-storage-fees",
|
||||
"success": true,
|
||||
"deploymentBlocked": false,
|
||||
"passed": 18,
|
||||
"failed": 0
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [],
|
||||
"createdResources": {
|
||||
"overseasStorageFeeCustomer": {
|
||||
"tenantId": "2085986363912081410",
|
||||
"marker": "ADMIN-API-20260808070759638",
|
||||
"ownedByModule": true
|
||||
}
|
||||
},
|
||||
"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": "08022e4a-3608-4a0a-a044-d9cf6e0be9ff, 3f9630d3-7d03-4065-91f3-98b51ec9b3a3",
|
||||
"traceId": "799245d405814326b4fb662096e0ead8",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T07:08:00.027Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": null,
|
||||
"name": "检查测试联系电话可用性",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16172880029"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "03ecb397-ed46-4843-a596-17e190e0aa1a, 1c33fc17-a09f-4a6d-9d37-79fc2a19e912",
|
||||
"traceId": "3073bdaea83a4dd79345134343fadcbd",
|
||||
"evidence": "attempt=1",
|
||||
"checkedAt": "2026-08-08T07:08:00.277Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "创建海外仓费用隔离客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2c62bbe2-5bc2-4db7-8445-53d602398e10, 7aa8dec0-1d18-41d0-9190-c92d72b35fcf",
|
||||
"traceId": "3bb8c275a791436894fbb691385909cf",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T07:08:01.251Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "海外仓费用隔离客户创建并带 marker",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "2c62bbe2-5bc2-4db7-8445-53d602398e10, 7aa8dec0-1d18-41d0-9190-c92d72b35fcf",
|
||||
"traceId": "3bb8c275a791436894fbb691385909cf",
|
||||
"evidence": "tenantId=2085986363912081410",
|
||||
"checkedAt": "2026-08-08T07:08:01.251Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "查询客户海外仓费用配置",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085986363912081410/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0a80a0c0-b310-4617-b1fb-6378183c34d1, d79c7b46-9048-40e8-af13-88edc9b179c4",
|
||||
"traceId": "a0c4715331204699b317ee5c28dbc902",
|
||||
"evidence": "tenantId=2085986363912081410",
|
||||
"checkedAt": "2026-08-08T07:08:01.505Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "客户费用配置身份、默认 USD 与9档结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085986363912081410/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0a80a0c0-b310-4617-b1fb-6378183c34d1, d79c7b46-9048-40e8-af13-88edc9b179c4",
|
||||
"traceId": "a0c4715331204699b317ee5c28dbc902",
|
||||
"evidence": "ruleId=2085986365855547394, customerId=2085986363912081410, currency=USD, tiers=9",
|
||||
"checkedAt": "2026-08-08T07:08:01.506Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "请求体客户 ID 与路径不一致时安全失败",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085986363912081410/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0422",
|
||||
"message": "客户ID与路径不一致",
|
||||
"requestId": "9af89e20-5c1b-4a6e-a861-478915770c86",
|
||||
"traceId": "4bdb61b246624177a3d5106ab5a30c05",
|
||||
"evidence": "HTTP=200, code=A0422",
|
||||
"checkedAt": "2026-08-08T07:08:01.667Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "整组修改客户海外仓费用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085986363912081410/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "8e4776f4-6652-444c-8c0a-e852e144f447, 78724810-dc98-4d8a-9f98-ceac1bc2c090",
|
||||
"traceId": "16bc0d76c86c4b6e83d81abfaa60da3d",
|
||||
"evidence": "tenantId=2085986363912081410, tiers=9",
|
||||
"checkedAt": "2026-08-08T07:08:01.776Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "回查整组修改后的客户费用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085986363912081410/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3099f742-1a4d-4938-8445-da774666b6ac, 63466c28-e78f-4ccb-8c24-7ea58f284be8",
|
||||
"traceId": "019f7fbcc1554a9eaa37aa26b78bbf15",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T07:08:01.829Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "修改后币种、价格、9档及版本整体回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085986363912081410/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3099f742-1a4d-4938-8445-da774666b6ac, 63466c28-e78f-4ccb-8c24-7ea58f284be8",
|
||||
"traceId": "019f7fbcc1554a9eaa37aa26b78bbf15",
|
||||
"evidence": "currency=EUR, version=1, tiers=9",
|
||||
"checkedAt": "2026-08-08T07:08:01.830Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "旧 version 整组保存返回并发冲突",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085986363912081410/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "费用配置已被修改,请刷新后重试",
|
||||
"requestId": "529b1872-a54d-47fa-93e1-a83f8b958e6b",
|
||||
"traceId": "cfe282a3f62d4951b27ae93cbcf831ab",
|
||||
"evidence": "HTTP=200, code=A0409",
|
||||
"checkedAt": "2026-08-08T07:08:01.882Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "冲突后回查费用配置",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085986363912081410/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e03cb252-7e06-4cb4-8d4f-2275e78f7cd8, 82f92f72-f74d-46de-871d-e981ebfdc555",
|
||||
"traceId": "5c605f53426144518bfea2eb8cfee8cf",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T07:08:01.927Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "冲突未造成部分更新",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085986363912081410/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "e03cb252-7e06-4cb4-8d4f-2275e78f7cd8, 82f92f72-f74d-46de-871d-e981ebfdc555",
|
||||
"traceId": "5c605f53426144518bfea2eb8cfee8cf",
|
||||
"evidence": "version=1, unchanged=true",
|
||||
"checkedAt": "2026-08-08T07:08:01.927Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "恢复本轮客户费用原始配置",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085986363912081410/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5c9ae1b7-7110-4f8d-ae67-6b6d5e540fea, 2ddda50c-4242-4bbc-b939-4838b3079c39",
|
||||
"traceId": "1e99e9bb1b0146b3a33309e01d0304e8",
|
||||
"evidence": "restore=initial",
|
||||
"checkedAt": "2026-08-08T07:08:02.009Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "回查恢复后的客户费用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085986363912081410/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "97755a72-6e69-404b-b2b3-ecbc8f07ce79, 0499aa74-77c0-4549-8cc9-e4979e9fe477",
|
||||
"traceId": "1debe0048ffc460a8051330d840d38dd",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T07:08:02.050Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "恢复后9档、USD、免费档和无上限档一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085986363912081410/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "97755a72-6e69-404b-b2b3-ecbc8f07ce79, 0499aa74-77c0-4549-8cc9-e4979e9fe477",
|
||||
"traceId": "1debe0048ffc460a8051330d840d38dd",
|
||||
"evidence": "currency=USD, version=2, tiers=9",
|
||||
"checkedAt": "2026-08-08T07:08:02.050Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"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": "6d8fb159-9eb5-4441-b8b9-f3b56559c2b1",
|
||||
"traceId": "5223ea09b0d74ac78294315a2c6f7b7f",
|
||||
"evidence": "HTTP=200, code=A0404",
|
||||
"checkedAt": "2026-08-08T07:08:02.092Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "清理费用隔离客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085986363912081410/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "24fc7ae4-5eec-446d-af30-36faeceef1aa, a5882354-26c6-40fb-bdf3-b4c84d8daa16",
|
||||
"traceId": "f857e4e0ef8647909d4825baf9d4ab3c",
|
||||
"evidence": "tenantId=2085986363912081410",
|
||||
"checkedAt": "2026-08-08T07:08:02.212Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "费用隔离客户清理后停用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085986363912081410/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "24fc7ae4-5eec-446d-af30-36faeceef1aa, a5882354-26c6-40fb-bdf3-b4c84d8daa16",
|
||||
"traceId": "f857e4e0ef8647909d4825baf9d4ab3c",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T07:08:02.212Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,596 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808071157232",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T07:11:58.858Z",
|
||||
"startedAt": "2026-08-08T07:11:57.232Z",
|
||||
"success": true,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 30,
|
||||
"passed": 30,
|
||||
"failed": 0
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "overseas-storage-fees",
|
||||
"startedAt": "2026-08-08T07:11:57.611Z",
|
||||
"finishedAt": "2026-08-08T07:11:58.858Z",
|
||||
"success": true,
|
||||
"passed": 29,
|
||||
"failed": 0,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "customer-overseas-storage-fee-lifecycle",
|
||||
"module": "overseas-storage-fees",
|
||||
"success": true,
|
||||
"deploymentBlocked": false,
|
||||
"passed": 29,
|
||||
"failed": 0
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [],
|
||||
"createdResources": {
|
||||
"overseasStorageFeeCustomer": {
|
||||
"tenantId": "2085987359342055425",
|
||||
"marker": "ADMIN-API-20260808071157232",
|
||||
"ownedByModule": true
|
||||
}
|
||||
},
|
||||
"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": "74f372db-9641-4b79-b630-f3031e3c1b12, 26784c66-115f-4a5c-952c-7deae51e6b9b",
|
||||
"traceId": "438754ec03024b9eb43a2e425875d6db",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T07:11:57.610Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": null,
|
||||
"name": "检查测试联系电话可用性",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16173117612"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0e26abf8-7786-4f6e-ad14-442dd4248dfa, 49c9752d-86ac-419d-b584-93403189613c",
|
||||
"traceId": "56c96ba33e1b49e892c2d89043f0f907",
|
||||
"evidence": "attempt=1",
|
||||
"checkedAt": "2026-08-08T07:11:57.659Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "创建海外仓费用隔离客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5457bda0-53c8-48c6-912b-585584cbea06, ebd253d8-ca39-4a8a-aa8c-7067f132fe50",
|
||||
"traceId": "e1f4f63a431941ae96137434ba824ea0",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T07:11:58.076Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "海外仓费用隔离客户创建并带 marker",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5457bda0-53c8-48c6-912b-585584cbea06, ebd253d8-ca39-4a8a-aa8c-7067f132fe50",
|
||||
"traceId": "e1f4f63a431941ae96137434ba824ea0",
|
||||
"evidence": "tenantId=2085987359342055425",
|
||||
"checkedAt": "2026-08-08T07:11:58.076Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "查询客户海外仓费用配置",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d0a421cf-6bad-44a7-90ca-73708bdd7511, 987f6acf-0d54-4243-9c20-8cd3b78286f5",
|
||||
"traceId": "a76b181237ac4279991f76e68decc188",
|
||||
"evidence": "tenantId=2085987359342055425",
|
||||
"checkedAt": "2026-08-08T07:11:58.125Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "客户费用配置身份、默认 USD 与9档结构正确",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d0a421cf-6bad-44a7-90ca-73708bdd7511, 987f6acf-0d54-4243-9c20-8cd3b78286f5",
|
||||
"traceId": "a76b181237ac4279991f76e68decc188",
|
||||
"evidence": "ruleId=2085987359469387778, customerId=2085987359342055425, currency=USD, tiers=9",
|
||||
"checkedAt": "2026-08-08T07:11:58.126Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "按客户查询海外仓费用规则",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/overseas-storage-fees?page=1&size=10&customerId=2085987359342055425"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0f83d5cb-81d8-4552-9baa-482b21f16d09, e6f08a39-39ac-48af-b26b-940e0b872e33",
|
||||
"traceId": "16905a27ddff44a394ae5f42c8a1e856",
|
||||
"evidence": "tenantId=2085987359342055425",
|
||||
"checkedAt": "2026-08-08T07:11:58.177Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "每个客户恰好一条规则且规则内恰好9档",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/overseas-storage-fees?page=1&size=10&customerId=2085987359342055425"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0f83d5cb-81d8-4552-9baa-482b21f16d09, e6f08a39-39ac-48af-b26b-940e0b872e33",
|
||||
"traceId": "16905a27ddff44a394ae5f42c8a1e856",
|
||||
"evidence": "total=1, records=1, tiers=9",
|
||||
"checkedAt": "2026-08-08T07:11:58.177Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "请求体客户 ID 与路径不一致时安全失败",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0422",
|
||||
"message": "客户ID与路径不一致",
|
||||
"requestId": "91de1e2f-bee8-4b8c-8323-9d54926839a0",
|
||||
"traceId": "d386b412d111461eb2937c65604b9773",
|
||||
"evidence": "HTTP=200, code=A0422",
|
||||
"checkedAt": "2026-08-08T07:11:58.206Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "非法费用类型安全失败",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0422",
|
||||
"message": "客户费用必须包含仓租5档和退货仓储费4档",
|
||||
"requestId": "b7e124b3-d8d7-4402-ad4c-ab7c8d7f167b",
|
||||
"traceId": "6936ef7b06344f87829ac9cffb722976",
|
||||
"evidence": "HTTP=200, code=A0422",
|
||||
"checkedAt": "2026-08-08T07:11:58.239Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "费用类型与计费单位不匹配安全失败",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0422",
|
||||
"message": "费用类型和计费单位不匹配",
|
||||
"requestId": "50911ba2-fdd2-423d-87c0-11c3fb0e49a0",
|
||||
"traceId": "d4bd4bcee678411fbe2582aa4168099f",
|
||||
"evidence": "HTTP=200, code=A0422",
|
||||
"checkedAt": "2026-08-08T07:11:58.279Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "阶梯区间重叠安全失败",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0422",
|
||||
"message": "阶梯必须从第1天开始且连续",
|
||||
"requestId": "f31729e2-1fae-4f71-b1dc-8330639593ce",
|
||||
"traceId": "6acb98e826734303b973c58755f55de4",
|
||||
"evidence": "HTTP=200, code=A0422",
|
||||
"checkedAt": "2026-08-08T07:11:58.312Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "阶梯区间断档安全失败",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0422",
|
||||
"message": "阶梯必须从第1天开始且连续",
|
||||
"requestId": "78582d72-1bf8-444a-af47-427308db0397",
|
||||
"traceId": "20e3f53de2fe428ab563423940689bb0",
|
||||
"evidence": "HTTP=200, code=A0422",
|
||||
"checkedAt": "2026-08-08T07:11:58.347Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "非9档整组提交安全失败",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0422",
|
||||
"message": "客户费用必须包含仓租5档和退货仓储费4档",
|
||||
"requestId": "6169b4b7-79a0-49f2-ab51-1fe81d379336",
|
||||
"traceId": "2bf1aa5b899740fb89970d50a576aeb2",
|
||||
"evidence": "HTTP=200, code=A0422",
|
||||
"checkedAt": "2026-08-08T07:11:58.370Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "负向请求后回查客户费用配置",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f04344b4-2333-4afd-a4dd-e2a1f66a3362, f512a82d-5265-4969-88b8-3a01faf9dfa3",
|
||||
"traceId": "1b3ff4dbce264da0b7800459ba044d1f",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T07:11:58.412Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "所有非法整组请求均未造成部分更新",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f04344b4-2333-4afd-a4dd-e2a1f66a3362, f512a82d-5265-4969-88b8-3a01faf9dfa3",
|
||||
"traceId": "1b3ff4dbce264da0b7800459ba044d1f",
|
||||
"evidence": "version=0, tiers=9",
|
||||
"checkedAt": "2026-08-08T07:11:58.412Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "整组修改客户海外仓费用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "0521be7d-96e2-469a-bdbf-a9f8629089c4, 44ce2d0c-dc1b-4c61-a232-00276dc949c7",
|
||||
"traceId": "e22d6bf1d9624ca7b7b1fe7d8385231b",
|
||||
"evidence": "tenantId=2085987359342055425, tiers=9",
|
||||
"checkedAt": "2026-08-08T07:11:58.471Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "回查整组修改后的客户费用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ff34e234-c735-4a27-8e38-25e5f11cb7cf, db0d76cd-8238-4029-8468-a7c4e1ff286b",
|
||||
"traceId": "a9ac9c3a79f24a09884e1c4d9749ad44",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T07:11:58.505Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "修改后币种、价格、9档及版本整体回显",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ff34e234-c735-4a27-8e38-25e5f11cb7cf, db0d76cd-8238-4029-8468-a7c4e1ff286b",
|
||||
"traceId": "a9ac9c3a79f24a09884e1c4d9749ad44",
|
||||
"evidence": "currency=EUR, version=1, tiers=9",
|
||||
"checkedAt": "2026-08-08T07:11:58.506Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "编辑后再次按客户查询唯一规则",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/overseas-storage-fees?page=1&size=10&customerId=2085987359342055425"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d0067f5e-31c0-4d36-924f-b41f0b08187f, ab4823c9-7b19-41f8-a134-fe7fa0d49b57",
|
||||
"traceId": "0bafdbdba66544cbad51a08b74780369",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T07:11:58.535Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "重复初始化结果保持幂等且编辑值未被覆盖",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/overseas-storage-fees?page=1&size=10&customerId=2085987359342055425"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "d0067f5e-31c0-4d36-924f-b41f0b08187f, ab4823c9-7b19-41f8-a134-fe7fa0d49b57",
|
||||
"traceId": "0bafdbdba66544cbad51a08b74780369",
|
||||
"evidence": "total=1, ruleId=2085987359469387778, version=1",
|
||||
"checkedAt": "2026-08-08T07:11:58.536Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "旧 version 整组保存返回并发冲突",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "费用配置已被修改,请刷新后重试",
|
||||
"requestId": "ae90d696-2b18-498f-9a0c-9abfab81174f",
|
||||
"traceId": "280444f99fd84e0c8bf310cf2ea2bae5",
|
||||
"evidence": "HTTP=200, code=A0409",
|
||||
"checkedAt": "2026-08-08T07:11:58.573Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "冲突后回查费用配置",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b56643b5-7c36-4898-a8dc-0d273d9d8c79, 8c9d56cb-b3dc-407c-90e3-867ef63e0dfd",
|
||||
"traceId": "20ffdfb711d34f019bd8e55b780828af",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T07:11:58.616Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "冲突未造成部分更新",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b56643b5-7c36-4898-a8dc-0d273d9d8c79, 8c9d56cb-b3dc-407c-90e3-867ef63e0dfd",
|
||||
"traceId": "20ffdfb711d34f019bd8e55b780828af",
|
||||
"evidence": "version=1, unchanged=true",
|
||||
"checkedAt": "2026-08-08T07:11:58.616Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "恢复本轮客户费用原始配置",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "58df45db-66c2-43a9-bd33-24f70cf562eb, e13e8dca-762f-4293-8d0f-7de84a5da3c8",
|
||||
"traceId": "2c0bc4985a164b3e8e5f7fbe9d35a761",
|
||||
"evidence": "restore=initial",
|
||||
"checkedAt": "2026-08-08T07:11:58.680Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "回查恢复后的客户费用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "689eed47-a980-4dce-88a9-1b029dbf2049, d49bc4e7-6cd0-47ae-8a49-f994ede8aab7",
|
||||
"traceId": "208d5b4525bb431f88bb06a86f93bb7d",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T07:11:58.720Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "恢复后9档、USD、免费档和无上限档一致",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/overseas-storage-fees"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "689eed47-a980-4dce-88a9-1b029dbf2049, d49bc4e7-6cd0-47ae-8a49-f994ede8aab7",
|
||||
"traceId": "208d5b4525bb431f88bb06a86f93bb7d",
|
||||
"evidence": "currency=USD, version=2, tiers=9",
|
||||
"checkedAt": "2026-08-08T07:11:58.720Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"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": "b094c65b-8a43-44d5-86a1-42df180d9af5",
|
||||
"traceId": "2f9d44c21c0a4c549eadca74afdbdf34",
|
||||
"evidence": "HTTP=200, code=A0404",
|
||||
"checkedAt": "2026-08-08T07:11:58.748Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "清理费用隔离客户",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7e1c4ef6-f609-4b64-bf91-357768e04b1f, 1a19c372-1148-4af1-a50f-f76869b56ef5",
|
||||
"traceId": "06ffb8a032a54764b5e034e47ad3cba5",
|
||||
"evidence": "tenantId=2085987359342055425",
|
||||
"checkedAt": "2026-08-08T07:11:58.858Z"
|
||||
},
|
||||
{
|
||||
"module": "overseas-storage-fees",
|
||||
"scenario": "customer-overseas-storage-fee-lifecycle",
|
||||
"name": "费用隔离客户清理后停用",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/iam/tenants/2085987359342055425/archive"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "7e1c4ef6-f609-4b64-bf91-357768e04b1f, 1a19c372-1148-4af1-a50f-f76869b56ef5",
|
||||
"traceId": "06ffb8a032a54764b5e034e47ad3cba5",
|
||||
"evidence": "status=DISABLED",
|
||||
"checkedAt": "2026-08-08T07:11:58.858Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,401 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808123832880",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T12:38:35.384Z",
|
||||
"startedAt": "2026-08-08T12:38:32.880Z",
|
||||
"success": true,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 19,
|
||||
"passed": 19,
|
||||
"failed": 0
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "supplemental-boundaries",
|
||||
"startedAt": "2026-08-08T12:38:33.252Z",
|
||||
"finishedAt": "2026-08-08T12:38:35.384Z",
|
||||
"success": true,
|
||||
"passed": 18,
|
||||
"failed": 0,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [
|
||||
{
|
||||
"name": "admin-boundary-automation",
|
||||
"module": "supplemental-boundaries",
|
||||
"success": true,
|
||||
"deploymentBlocked": false,
|
||||
"passed": 18,
|
||||
"failed": 0
|
||||
}
|
||||
],
|
||||
"deploymentBlockers": [],
|
||||
"coverageGaps": [
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "resource-occupancy",
|
||||
"name": "托盘/库位真实占用删除保护",
|
||||
"reason": "当前公共验收 API 未提供可安全构造并释放占用关联的独立 fixture;未操作历史资源",
|
||||
"category": "no-public-fixture-api"
|
||||
}
|
||||
],
|
||||
"createdResources": {},
|
||||
"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": "7a4122c2-57cb-43a1-8f6c-8a0e0e001e08, 0e20722a-b785-40dd-8abd-e49b1b4bb541",
|
||||
"traceId": "ca5a6a7db86f4c449f755bb3a906ef00",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:33.250Z"
|
||||
},
|
||||
{
|
||||
"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": "68acea99-d807-4dfc-9f5e-ae7d4cd6537c, 3ab9ad21-b100-48b2-8fff-361fc59dd229",
|
||||
"traceId": "e779ee6717044b50bcf2a680ddd65b78",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:33.978Z"
|
||||
},
|
||||
{
|
||||
"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": "50858329-b85d-4dfd-bb29-0740f5101567, 6754a5b0-2725-4ece-abac-72e394a827d5",
|
||||
"traceId": "0d4cc4498ba14702a10892279f10b507",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:34.095Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "读取隔离库位版本",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/locations/2086069551981707265?tenantId=0&warehouseId=2086069551419670529"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ec2e456d-660f-4368-86ea-6ea509c1591c, 5a6b624c-7db7-41a1-a985-9427c6441465",
|
||||
"traceId": "eb59590f77724d9183cfea4d261e60e4",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:34.140Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "更新隔离库位以推进版本",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/locations/2086069551981707265?tenantId=0&warehouseId=2086069551419670529"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "faaddf3b-9280-490e-b424-68b48065d0d2, 7c81a029-31ce-4749-b51b-86d52ab8e518",
|
||||
"traceId": "7885cc13944140c78f01ffc9ed830a30",
|
||||
"evidence": "version=0",
|
||||
"checkedAt": "2026-08-08T12:38:34.214Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "库位旧 version PUT 返回冲突",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/locations/2086069551981707265?tenantId=0&warehouseId=2086069551419670529"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "库位已被其他操作修改,请刷新后重试",
|
||||
"requestId": "c61bfeaf-c6d7-45b1-a819-149fccfc449b",
|
||||
"traceId": "98cd3bf54e074a4eafff545932927d5a",
|
||||
"evidence": "HTTP=200, code=A0409",
|
||||
"checkedAt": "2026-08-08T12:38:34.271Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "冲突后回查库位",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/locations/2086069551981707265?tenantId=0&warehouseId=2086069551419670529"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5daeea9d-1de6-49d9-af81-08c3cfe900ed, 08eb3a73-7dc6-4306-8880-6acd628f9439",
|
||||
"traceId": "24bf5b3f0fd243d1a3955e42370dd718",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:34.314Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "库位冲突未造成部分更新",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/locations/2086069551981707265?tenantId=0&warehouseId=2086069551419670529"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "5daeea9d-1de6-49d9-af81-08c3cfe900ed, 08eb3a73-7dc6-4306-8880-6acd628f9439",
|
||||
"traceId": "24bf5b3f0fd243d1a3955e42370dd718",
|
||||
"evidence": "name=边界库位-编辑",
|
||||
"checkedAt": "2026-08-08T12:38:34.314Z"
|
||||
},
|
||||
{
|
||||
"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": "2e8ad0c6-c08f-410e-8892-471ef98094b7",
|
||||
"traceId": "1301488310ef422294f5f3522eb9ee92",
|
||||
"evidence": "HTTP=200, code=A0422, bytes=0",
|
||||
"checkedAt": "2026-08-08T12:38:34.365Z"
|
||||
},
|
||||
{
|
||||
"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": "310528eb-14e9-4a13-a9cd-a448b749e550",
|
||||
"traceId": "bfed5d5245de4d11991d66b2d4eb2e91",
|
||||
"evidence": "HTTP=200, code=A0422, bytes=6",
|
||||
"checkedAt": "2026-08-08T12:38:34.495Z"
|
||||
},
|
||||
{
|
||||
"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": "66f6c744-a075-40dd-9433-aca813ff1ae0",
|
||||
"traceId": "544a7ebdc4954baf8e678c684f7421fc",
|
||||
"evidence": "HTTP=200, code=A0422, bytes=27",
|
||||
"checkedAt": "2026-08-08T12:38:34.539Z"
|
||||
},
|
||||
{
|
||||
"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": "f17bb5a5-f47e-4551-a007-e427e7d4b018",
|
||||
"traceId": "a81168d94dde4eee89bd3fce348f3c91",
|
||||
"evidence": "HTTP=200, code=A0422, bytes=27",
|
||||
"checkedAt": "2026-08-08T12:38:34.582Z"
|
||||
},
|
||||
{
|
||||
"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": "93257eb1-50e1-465b-8c60-a91839406f7c",
|
||||
"traceId": "4f867f925be844308c4ac133fb14232a",
|
||||
"evidence": "HTTP=200, code=A0404",
|
||||
"checkedAt": "2026-08-08T12:38:34.678Z"
|
||||
},
|
||||
{
|
||||
"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": "09a9dbb3-2492",
|
||||
"traceId": null,
|
||||
"evidence": "HTTP=401, code=A0401",
|
||||
"checkedAt": "2026-08-08T12:38:34.702Z"
|
||||
},
|
||||
{
|
||||
"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": "a424cdde-4050-4646-9629-73d9033232e6",
|
||||
"traceId": "a807d130122c41fea37d6fdf77b6b319",
|
||||
"evidence": "HTTP=200, code=A0422",
|
||||
"checkedAt": "2026-08-08T12:38:35.009Z"
|
||||
},
|
||||
{
|
||||
"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": "f6f27fe9-fe8d-40a8-8533-3839a10dd9ea",
|
||||
"traceId": "543a3eb50f6040dd9db2ccd621634ff9",
|
||||
"evidence": "HTTP=200, code=A0400",
|
||||
"checkedAt": "2026-08-08T12:38:35.235Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "停用隔离库位以便清理",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PATCH",
|
||||
"path": "/api/platform/v1/locations/2086069551981707265/status?tenantId=0&warehouseId=2086069551419670529"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "b4db06df-896c-4cff-9a41-00fad82f1702, 3213100d-ef66-4484-8732-59406c57ef1e",
|
||||
"traceId": "7f5423ff170849948dd98eb3d0047405",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:35.289Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "删除隔离库位",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "DELETE",
|
||||
"path": "/api/platform/v1/locations/2086069551981707265?tenantId=0&warehouseId=2086069551419670529&version=2"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "293e1cd9-56b5-41a1-9679-65d9568f301f, 718b10c4-2980-41d2-9095-0c9989b4b108",
|
||||
"traceId": "470c23f5d6f84f32adfd5d5e43478af2",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:35.326Z"
|
||||
},
|
||||
{
|
||||
"module": "supplemental-boundaries",
|
||||
"scenario": "admin-boundary-automation",
|
||||
"name": "停用隔离仓库",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PATCH",
|
||||
"path": "/api/platform/v1/warehouse-admin/2086069551419670529/status?tenantId=0&status=INACTIVE"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f4aa5fb6-a1d8-4ce4-a9cb-ec8718a968c2, 46128fd3-7a3c-4c96-b3bb-0a11b375ed5b",
|
||||
"traceId": "1e7e85e33f3f43db8e634ee6e5b8b3ab",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:35.384Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,937 +0,0 @@
|
||||
{
|
||||
"reportName": "后台管理测试环境 HTTP API 验收",
|
||||
"marker": "ADMIN-API-20260808123844850",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T12:38:47.387Z",
|
||||
"startedAt": "2026-08-08T12:38:44.850Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"summary": {
|
||||
"total": 47,
|
||||
"passed": 45,
|
||||
"failed": 2
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"name": "ocean-bookings",
|
||||
"startedAt": "2026-08-08T12:38:45.224Z",
|
||||
"finishedAt": "2026-08-08T12:38:46.748Z",
|
||||
"success": true,
|
||||
"passed": 23,
|
||||
"failed": 0,
|
||||
"fatal": null
|
||||
},
|
||||
{
|
||||
"name": "truck-appointments",
|
||||
"startedAt": "2026-08-08T12:38:46.748Z",
|
||||
"finishedAt": "2026-08-08T12:38:47.226Z",
|
||||
"success": false,
|
||||
"passed": 13,
|
||||
"failed": 2,
|
||||
"fatal": null
|
||||
},
|
||||
{
|
||||
"name": "service-center-flow",
|
||||
"startedAt": "2026-08-08T12:38:47.227Z",
|
||||
"finishedAt": "2026-08-08T12:38:47.387Z",
|
||||
"success": true,
|
||||
"passed": 8,
|
||||
"failed": 0,
|
||||
"fatal": null
|
||||
}
|
||||
],
|
||||
"scenarios": [],
|
||||
"deploymentBlockers": [
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "创建隔离拖车预约",
|
||||
"evidence": "",
|
||||
"code": "A0400",
|
||||
"requestId": "a0e77899-707f-423d-a194-b00e464a0b06",
|
||||
"traceId": "ecd32424e4674136a3ab42dcd50f8d50"
|
||||
},
|
||||
{
|
||||
"module": "truck-appointments",
|
||||
"scenario": "truck-appointment-lifecycle",
|
||||
"name": "拖车预约费用、司机车辆和地址字段完整",
|
||||
"evidence": "id=missing, status=missing",
|
||||
"code": "A0400",
|
||||
"requestId": "a0e77899-707f-423d-a194-b00e464a0b06",
|
||||
"traceId": "ecd32424e4674136a3ab42dcd50f8d50"
|
||||
}
|
||||
],
|
||||
"coverageGaps": [],
|
||||
"createdResources": {
|
||||
"oceanBooking": {
|
||||
"id": "2086069601618669569",
|
||||
"marker": "ADMIN-API-20260808123844850",
|
||||
"finalStatus": "RELEASED"
|
||||
},
|
||||
"serviceCenterFlow": {
|
||||
"appointmentId": "2086069607310340098",
|
||||
"oceanBookingId": "2086069601618669569",
|
||||
"marker": "ADMIN-API-20260808123844850",
|
||||
"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": "adf1a201-83b2-4dc7-a3c0-af89c51a1453, 05bc222c-53f5-4461-8750-79b99473b672",
|
||||
"traceId": "6d8c7a0ca6ea4d188f45af50c3eb4b6d",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:45.223Z"
|
||||
},
|
||||
{
|
||||
"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-20260808123844850"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "8282e144-2f40-4105-aa7e-e9003cc78103, 81f90a3b-096a-45a3-9f40-7e8235fb422a",
|
||||
"traceId": "73a39258d4ad488b8ba6b3418145e321",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:45.485Z"
|
||||
},
|
||||
{
|
||||
"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-20260808123844850"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "8282e144-2f40-4105-aa7e-e9003cc78103, 81f90a3b-096a-45a3-9f40-7e8235fb422a",
|
||||
"traceId": "73a39258d4ad488b8ba6b3418145e321",
|
||||
"evidence": "records=0",
|
||||
"checkedAt": "2026-08-08T12:38:45.485Z"
|
||||
},
|
||||
{
|
||||
"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": "ae93ca45-7680-4222-8c2b-5a7c28ae22b8, e4475ec5-257e-4520-82ce-c4fdf3595468",
|
||||
"traceId": "71bc0cdf508e4044b8d2453ca9e96025",
|
||||
"evidence": "HTTP=200, code=200, records=0",
|
||||
"checkedAt": "2026-08-08T12:38:45.537Z"
|
||||
},
|
||||
{
|
||||
"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": "2e2fc320-f075-48b2-8e7b-5fde389fcdd1, 9523048d-b9b1-43c5-ba7f-123d20e01e3c",
|
||||
"traceId": "afde9ebbdb294e53bde0f88d4de40921",
|
||||
"evidence": "HTTP=200, code=200, records=0",
|
||||
"checkedAt": "2026-08-08T12:38:45.579Z"
|
||||
},
|
||||
{
|
||||
"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": "ebc1bbb8-2d98-4211-a906-611c550d271f, 26e2776a-4862-40f0-a70b-df38efc7a7cb",
|
||||
"traceId": "d146b43157f1481aa418e29237b8120c",
|
||||
"evidence": "HTTP=200, code=200, records=0",
|
||||
"checkedAt": "2026-08-08T12:38:45.628Z"
|
||||
},
|
||||
{
|
||||
"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": "3a23ed1f-71bb-4ace-a5f0-c3f384e48ca4, 1a4d8ed9-1d12-4c90-be10-a42a730057de",
|
||||
"traceId": "95eba836c1824e7394fa48f38cea6b01",
|
||||
"evidence": "HTTP=200, code=200, records=5",
|
||||
"checkedAt": "2026-08-08T12:38:45.687Z"
|
||||
},
|
||||
{
|
||||
"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": "3f8e4af3-8d1f-4831-89b2-b49aef69f16a, a69b2cfe-9cdb-4849-94bc-6600ef68e979",
|
||||
"traceId": "6b0a1599f2f743bdb30b919dc5dc2298",
|
||||
"evidence": "HTTP=200, code=200, records=0",
|
||||
"checkedAt": "2026-08-08T12:38:45.729Z"
|
||||
},
|
||||
{
|
||||
"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": "b00224b6-4162-4e7f-91d4-540291c012c1, 75e2d97e-321b-419d-8bdf-5b60de1c7ace",
|
||||
"traceId": "cd0f9f9208d943fba451f5f46e6d06fd",
|
||||
"evidence": "HTTP=200, code=200, records=0",
|
||||
"checkedAt": "2026-08-08T12:38:45.759Z"
|
||||
},
|
||||
{
|
||||
"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": "125ba892-a866-41ae-a796-081dce3cc6f8, ec2b1999-5afa-4ae4-b628-4e1a5525be53",
|
||||
"traceId": "2763a6b3d70346f8a0e57aa3043f9282",
|
||||
"evidence": "key=ADMIN-API-20260808123844850-ocean-create",
|
||||
"checkedAt": "2026-08-08T12:38:46.022Z"
|
||||
},
|
||||
{
|
||||
"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": "125ba892-a866-41ae-a796-081dce3cc6f8, ec2b1999-5afa-4ae4-b628-4e1a5525be53",
|
||||
"traceId": "2763a6b3d70346f8a0e57aa3043f9282",
|
||||
"evidence": "bookingId=2086069601618669569, parties=3, requirements=1",
|
||||
"checkedAt": "2026-08-08T12:38:46.022Z"
|
||||
},
|
||||
{
|
||||
"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": "959b4cb3-639e-477a-86e8-7eaeea5d8bf9, 7aff8266-91d8-478c-a170-fda9ed20602a",
|
||||
"traceId": "b2fda443ccb14c0eb23a96e57f53c0c8",
|
||||
"evidence": "first=2086069601618669569, replay=2086069601618669569",
|
||||
"checkedAt": "2026-08-08T12:38:46.078Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "编辑 DRAFT 订舱",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/ocean-bookings/2086069601618669569"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ef7163c3-e4d3-4b83-9504-417674273106, e289b155-f480-4bb0-8bd7-ddb2ed1fe461",
|
||||
"traceId": "3621b9645a2f40e682b6e49e88018c8d",
|
||||
"evidence": "version=0",
|
||||
"checkedAt": "2026-08-08T12:38:46.189Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱旧版本编辑返回冲突",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "PUT",
|
||||
"path": "/api/platform/v1/ocean-bookings/2086069601618669569"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "数据已被其他人修改,请刷新后重试",
|
||||
"requestId": "86fd3076-2ad0-4f0b-be45-5d3a23aa25c4",
|
||||
"traceId": "4328fda9b3e4498ead9b15405b2416f1",
|
||||
"evidence": "HTTP=200, code=A0409",
|
||||
"checkedAt": "2026-08-08T12:38:46.228Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "冲突后回查订舱",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/ocean-bookings/2086069601618669569"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c9a4e2ad-2bb8-4071-84fc-89d0b5b97f90, 985015d4-1f51-41e0-9370-66d0ec8a743a",
|
||||
"traceId": "8c87a9161ba9444c843c17109b847ec0",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:46.291Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱冲突未部分更新",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/ocean-bookings/2086069601618669569"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "c9a4e2ad-2bb8-4071-84fc-89d0b5b97f90, 985015d4-1f51-41e0-9370-66d0ec8a743a",
|
||||
"traceId": "8c87a9161ba9444c843c17109b847ec0",
|
||||
"evidence": "vessel=编辑船-8123844850",
|
||||
"checkedAt": "2026-08-08T12:38:46.291Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "提交订舱",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/ocean-bookings/2086069601618669569/submit"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "19fec60a-5558-4c57-a38a-49f7e1eb282d, baaa7dba-5966-4a6b-b09b-d21446ba3104",
|
||||
"traceId": "76470dd20b4c4d2380819bee2f7d624b",
|
||||
"evidence": "status=SUBMITTED",
|
||||
"checkedAt": "2026-08-08T12:38:46.385Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "确认订舱",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/ocean-bookings/2086069601618669569/confirm"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "9ce4a320-b4ae-4b5a-8787-484060de58d6, 808e9b04-23bb-4065-898f-9edd21242746",
|
||||
"traceId": "2c9f92a164034e96afc6e8faec22d7f4",
|
||||
"evidence": "status=CONFIRMED",
|
||||
"checkedAt": "2026-08-08T12:38:46.469Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "申请改船",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/ocean-bookings/2086069601618669569/change-request"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "841ce97b-0d54-4aa9-bfba-2276f1dff274, 59734c0f-527e-4eaa-9b15-33b6283425e6",
|
||||
"traceId": "33af20c208a843809c6367a6b8954385",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:46.553Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "确认改船",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/ocean-bookings/2086069601618669569/change-confirm"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "68dea18b-9300-41cb-9db6-48d827b8e36d, b7e9421a-1510-4bbe-9cb8-bdc3d1b90683",
|
||||
"traceId": "10974d14aa6e45728f04d91a5edfc716",
|
||||
"evidence": "status=CONFIRMED",
|
||||
"checkedAt": "2026-08-08T12:38:46.620Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "放舱",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/ocean-bookings/2086069601618669569/release"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "04922d43-7ac1-4278-ae52-8b4237f05b77, c56cd9ea-cbba-49a0-b559-263a1cf4392f",
|
||||
"traceId": "c39f3a4afefc45d597056c8dd678d85f",
|
||||
"evidence": "status=RELEASED",
|
||||
"checkedAt": "2026-08-08T12:38:46.682Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "回查 RELEASED 订舱详情",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/ocean-bookings/2086069601618669569"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3163e816-f73a-43f7-9414-c29cf1d2dbaf, d19e4a7e-66b9-43cd-b429-af1467b32b39",
|
||||
"traceId": "138f19b8c06e4d9bb1d78c53d555431f",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:46.712Z"
|
||||
},
|
||||
{
|
||||
"module": "ocean-bookings",
|
||||
"scenario": "ocean-booking-lifecycle",
|
||||
"name": "订舱状态历史、审计操作者和终态完整",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/ocean-bookings/2086069601618669569"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "3163e816-f73a-43f7-9414-c29cf1d2dbaf, d19e4a7e-66b9-43cd-b429-af1467b32b39",
|
||||
"traceId": "138f19b8c06e4d9bb1d78c53d555431f",
|
||||
"evidence": "status=RELEASED, histories=6",
|
||||
"checkedAt": "2026-08-08T12:38:46.712Z"
|
||||
},
|
||||
{
|
||||
"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": "aec2d889-358d-42d8-8bc1-6ef038fde9d1",
|
||||
"traceId": "82359864e1244961b9da53906e891235",
|
||||
"evidence": "HTTP=200, code=A0404",
|
||||
"checkedAt": "2026-08-08T12:38:46.747Z"
|
||||
},
|
||||
{
|
||||
"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-20260808123844850"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f1bfff8d-c263-4bc5-adcb-581bcf52d966, 9c310982-c9b1-4c2d-b251-efe55caf3ac3",
|
||||
"traceId": "ddc9dac485f44e4b99e687bca1390818",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:46.786Z"
|
||||
},
|
||||
{
|
||||
"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-20260808123844850"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "f1bfff8d-c263-4bc5-adcb-581bcf52d966, 9c310982-c9b1-4c2d-b251-efe55caf3ac3",
|
||||
"traceId": "ddc9dac485f44e4b99e687bca1390818",
|
||||
"evidence": "records=0",
|
||||
"checkedAt": "2026-08-08T12:38:46.786Z"
|
||||
},
|
||||
{
|
||||
"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": "85c54ebe-8741-4d2f-a6bb-cc2b8a9d0bcb, d772c85c-1042-4965-bb00-7ce17271b4a7",
|
||||
"traceId": "874e8298000e4e8b8632064e6c7e87d3",
|
||||
"evidence": "HTTP=200, code=200, records=0",
|
||||
"checkedAt": "2026-08-08T12:38:46.829Z"
|
||||
},
|
||||
{
|
||||
"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": "414c386b-09f7-47e7-911f-262564f9b1cb, 86bcc25a-1a1c-47f8-91d4-9cfdf8fbee22",
|
||||
"traceId": "4a82fa02255149cf8db6422a99b1f068",
|
||||
"evidence": "HTTP=200, code=200, records=0",
|
||||
"checkedAt": "2026-08-08T12:38:46.853Z"
|
||||
},
|
||||
{
|
||||
"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": "8a8163d5-cc3d-4364-afc2-8a47f871cf88, 652a9de8-9bec-4239-9413-10e6ff1bfaed",
|
||||
"traceId": "c2fe6be757f74669bd97041d0b2b64c2",
|
||||
"evidence": "HTTP=200, code=200, records=0",
|
||||
"checkedAt": "2026-08-08T12:38:46.889Z"
|
||||
},
|
||||
{
|
||||
"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": "5f96c4f2-9439-42ce-af06-5da1eac4551a, 5ebb8e5f-47f2-4c1d-b437-2e8c0c6f8542",
|
||||
"traceId": "c14b59053dff44319aedd657e2d1fb32",
|
||||
"evidence": "HTTP=200, code=200, records=0",
|
||||
"checkedAt": "2026-08-08T12:38:46.916Z"
|
||||
},
|
||||
{
|
||||
"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": "eab4ebd3-c797-4d89-aa7d-2e67b1c12164, 70869095-f565-40cf-9d90-44d9243e7ddf",
|
||||
"traceId": "73d0d50cd021455da9dc9ce6e5e7154b",
|
||||
"evidence": "HTTP=200, code=200, records=0",
|
||||
"checkedAt": "2026-08-08T12:38:46.947Z"
|
||||
},
|
||||
{
|
||||
"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": "62d80194-2812-4ec2-b417-881fe7816868, 52f240d5-c553-4283-a0a6-501474c078e6",
|
||||
"traceId": "81d3eb25c7da40a5b0db6c705a9968bf",
|
||||
"evidence": "HTTP=200, code=200, records=0",
|
||||
"checkedAt": "2026-08-08T12:38:46.978Z"
|
||||
},
|
||||
{
|
||||
"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": "382928a0-7ba0-422e-a154-58a5dabc5446, 950b0112-ad6a-4e6f-9e53-579ccfb28c7e",
|
||||
"traceId": "4feeb921516547c8a2f646e082535053",
|
||||
"evidence": "HTTP=200, code=200, records=0",
|
||||
"checkedAt": "2026-08-08T12:38:47.011Z"
|
||||
},
|
||||
{
|
||||
"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": "146427b7-62cc-4729-9fd0-be22bc65c9c7, e1fe483a-6f93-4d85-b437-bf4415dc3b22",
|
||||
"traceId": "b4dc9c5f033846549ae6bb604e4fbebf",
|
||||
"evidence": "HTTP=200, code=200, records=5",
|
||||
"checkedAt": "2026-08-08T12:38:47.052Z"
|
||||
},
|
||||
{
|
||||
"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": "ab12d760-8be1-42f9-a6ae-ca15cf9729c7, 3ec600b6-9ce1-4b1a-98dd-22c57de1fcc4",
|
||||
"traceId": "570d0bb7986e4af58fa65bde23777604",
|
||||
"evidence": "HTTP=200, code=200, records=0",
|
||||
"checkedAt": "2026-08-08T12:38:47.088Z"
|
||||
},
|
||||
{
|
||||
"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": "969dbebe-5c56-45b1-b7c9-32925e488071, 6068d2b3-9285-455d-a6fc-faca766a50ac",
|
||||
"traceId": "0ce51b860c754b1ca57d8ef14800a60d",
|
||||
"evidence": "HTTP=200, code=200, records=0",
|
||||
"checkedAt": "2026-08-08T12:38:47.119Z"
|
||||
},
|
||||
{
|
||||
"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": "535be6c9-1eae-4a49-8436-de9b24bcc6f2, 8ade76ff-5814-44f6-b29c-9bfffe8dbd7b",
|
||||
"traceId": "bfc3ab1892634acabfff0ae702b39fa9",
|
||||
"evidence": "HTTP=200, code=200, records=4",
|
||||
"checkedAt": "2026-08-08T12:38:47.155Z"
|
||||
},
|
||||
{
|
||||
"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": "a0e77899-707f-423d-a194-b00e464a0b06",
|
||||
"traceId": "ecd32424e4674136a3ab42dcd50f8d50",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:47.226Z"
|
||||
},
|
||||
{
|
||||
"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": "a0e77899-707f-423d-a194-b00e464a0b06",
|
||||
"traceId": "ecd32424e4674136a3ab42dcd50f8d50",
|
||||
"evidence": "id=missing, status=missing",
|
||||
"checkedAt": "2026-08-08T12:38:47.226Z"
|
||||
},
|
||||
{
|
||||
"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": "d79b07fd-ae0b-4d3b-b6c5-af4cf9f290c7, c0961ea6-1932-492f-a6d3-ef80c7e0f5c3",
|
||||
"traceId": "b6b5b2cf0ed24100a6c2c7ffb594e037",
|
||||
"evidence": "oceanBookingId=2086069601618669569",
|
||||
"checkedAt": "2026-08-08T12:38:47.277Z"
|
||||
},
|
||||
{
|
||||
"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": "d79b07fd-ae0b-4d3b-b6c5-af4cf9f290c7, c0961ea6-1932-492f-a6d3-ef80c7e0f5c3",
|
||||
"traceId": "b6b5b2cf0ed24100a6c2c7ffb594e037",
|
||||
"evidence": "appointmentId=2086069607310340098, oceanBookingId=2086069601618669569, version=0",
|
||||
"checkedAt": "2026-08-08T12:38:47.277Z"
|
||||
},
|
||||
{
|
||||
"module": "service-center-flow",
|
||||
"scenario": "service-center-cross-flow",
|
||||
"name": "取消跨服务链路拖车预约",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/truck-appointments/2086069607310340098/cancel"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "add9beb1-33a4-43e3-a393-805e61e8a9ca, d1b4cd84-59a5-4f1f-bcc2-8b9bdf405b14",
|
||||
"traceId": "cc24e6133d9f48d5a5f003fcb14e1d7f",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:47.320Z"
|
||||
},
|
||||
{
|
||||
"module": "service-center-flow",
|
||||
"scenario": "service-center-cross-flow",
|
||||
"name": "跨服务链路安全终态为 CANCELLED",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "POST",
|
||||
"path": "/api/platform/v1/truck-appointments/2086069607310340098/cancel"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "add9beb1-33a4-43e3-a393-805e61e8a9ca, d1b4cd84-59a5-4f1f-bcc2-8b9bdf405b14",
|
||||
"traceId": "cc24e6133d9f48d5a5f003fcb14e1d7f",
|
||||
"evidence": "status=CANCELLED",
|
||||
"checkedAt": "2026-08-08T12:38:47.320Z"
|
||||
},
|
||||
{
|
||||
"module": "service-center-flow",
|
||||
"scenario": "service-center-cross-flow",
|
||||
"name": "回查跨服务链路安全终态",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments/2086069607310340098"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ef742f81-bb2d-4c6f-aca6-2aa1cd0b34b8, 2d10218c-aacc-45fd-9bf2-bed5c586c6e1",
|
||||
"traceId": "1fc1dd79f62a4c5c900003ac7388b1d1",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:47.354Z"
|
||||
},
|
||||
{
|
||||
"module": "service-center-flow",
|
||||
"scenario": "service-center-cross-flow",
|
||||
"name": "跨服务链路终态持久化且关联订舱未漂移",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments/2086069607310340098"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "ef742f81-bb2d-4c6f-aca6-2aa1cd0b34b8, 2d10218c-aacc-45fd-9bf2-bed5c586c6e1",
|
||||
"traceId": "1fc1dd79f62a4c5c900003ac7388b1d1",
|
||||
"evidence": "status=CANCELLED, oceanBookingId=2086069601618669569",
|
||||
"checkedAt": "2026-08-08T12:38:47.354Z"
|
||||
},
|
||||
{
|
||||
"module": "service-center-flow",
|
||||
"scenario": "service-center-cross-flow",
|
||||
"name": "查询跨服务链路拖车预约状态历史",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments/2086069607310340098/history"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "46532c3d-a62b-4532-9261-9908bc8f017f, 42e8644e-0c46-4a36-96aa-4818bb48bcfe",
|
||||
"traceId": "553bf4e56b964ef9bacaa745956f9c6e",
|
||||
"evidence": "",
|
||||
"checkedAt": "2026-08-08T12:38:47.387Z"
|
||||
},
|
||||
{
|
||||
"module": "service-center-flow",
|
||||
"scenario": "service-center-cross-flow",
|
||||
"name": "跨服务链路历史包含归属、状态、操作者、时间和备注",
|
||||
"passed": true,
|
||||
"deploymentBlocker": false,
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"path": "/api/platform/v1/truck-appointments/2086069607310340098/history"
|
||||
},
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "46532c3d-a62b-4532-9261-9908bc8f017f, 42e8644e-0c46-4a36-96aa-4818bb48bcfe",
|
||||
"traceId": "553bf4e56b964ef9bacaa745956f9c6e",
|
||||
"evidence": "history=2, cancelFrom=DRAFT, cancelTo=CANCELLED",
|
||||
"checkedAt": "2026-08-08T12:38:47.387Z"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,140 +0,0 @@
|
||||
{
|
||||
"marker": "20260808033152-30c7cede",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T03:31:52.981Z",
|
||||
"completedAt": "2026-08-08T03:31:53.854Z",
|
||||
"success": false,
|
||||
"fatal": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0400\""
|
||||
},
|
||||
"testAccount": {
|
||||
"username": "merchant_admin"
|
||||
},
|
||||
"expectedTerminalState": {
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
},
|
||||
"resources": {
|
||||
"tenantId": "10001",
|
||||
"terminalInboundId": "2085909619958919170",
|
||||
"terminalOrderId": "2085909608158265345",
|
||||
"terminalInboundCode": "RK-2085909608158265345",
|
||||
"pendingOrderId": "2085931050820239362",
|
||||
"foreignOrderId": null,
|
||||
"measurementImageFileIds": [],
|
||||
"weightImageFileIds": []
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:31:52.983Z",
|
||||
"durationMs": 374,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-5ca244f4-1bed-4cce-a87f-9e53cd7eb893, client-phase2-5ca244f4-1bed-4cce-a87f-9e53cd7eb893",
|
||||
"traceId": "b54f117ac5314d4c8154024ef181e6cd",
|
||||
"evidence": {
|
||||
"username": "merchant_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "load current enterprise profile",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:31:53.357Z",
|
||||
"durationMs": 41,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-30b4cae2-7ed3-4ae8-9265-77c442c0cf70, client-phase2-30b4cae2-7ed3-4ae8-9265-77c442c0cf70",
|
||||
"traceId": "4094b52e45fb4365af92ebfa37ea55d7",
|
||||
"evidence": {
|
||||
"tenantId": "10001",
|
||||
"tenantName": "一期演示企业",
|
||||
"status": "ACTIVE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client has order view permission",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:31:53.398Z",
|
||||
"durationMs": 25,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-b9da4226-9130-444a-8eda-5d810e5b2323, client-phase2-b9da4226-9130-444a-8eda-5d810e5b2323",
|
||||
"traceId": "fb669cc4e4df4acbb1b576c1454d3da5",
|
||||
"evidence": {
|
||||
"permissionCount": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "platform fixture account login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:31:53.423Z",
|
||||
"durationMs": 354,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-649afafa-3728-47af-a530-a318ceb664f7, client-phase2-649afafa-3728-47af-a530-a318ceb664f7",
|
||||
"traceId": "b60c28e9cda9483cac29b08c032ec8a4",
|
||||
"evidence": {
|
||||
"username": "platform_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover current enterprise inbound fixtures",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:31:53.778Z",
|
||||
"durationMs": 47,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-45e96f9f-e7d9-461e-bb2b-682cc5ebb460, client-phase2-45e96f9f-e7d9-461e-bb2b-682cc5ebb460",
|
||||
"traceId": "ae24d3d7603e4edd900dc4b6b6a693aa",
|
||||
"evidence": {
|
||||
"total": "23",
|
||||
"statusCounts": {
|
||||
"WAIT_MEASURE|NOT_SUBMITTED|UNPRICED": 10,
|
||||
"MEASURING|NOT_SUBMITTED|UNPRICED": 9,
|
||||
"WAIT_SPLIT|APPROVED|UNPRICED": 1,
|
||||
"WAIT_SPLIT|APPROVED|CONFIRMED": 2,
|
||||
"WAIT_SPLIT|APPROVED|CALCULATED": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "terminal state filters find selected inbound",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:31:53.825Z",
|
||||
"durationMs": 29,
|
||||
"http": 200,
|
||||
"code": "A0400",
|
||||
"message": "入库流程状态不合法",
|
||||
"requestId": "client-phase2-ffdeb1e9-3493-42b4-928d-252d7d02fb75, client-phase2-ffdeb1e9-3493-42b4-928d-252d7d02fb75",
|
||||
"traceId": "2f7c91ce5a284300ba40513c6e3c51e8",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0400\""
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,281 +0,0 @@
|
||||
{
|
||||
"marker": "20260808033235-68aeee0f",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T03:32:35.635Z",
|
||||
"completedAt": "2026-08-08T03:32:36.765Z",
|
||||
"success": false,
|
||||
"fatal": {
|
||||
"name": "Error",
|
||||
"message": "unified inbound process status: expected=\"WAIT_SPLIT\" actual=undefined"
|
||||
},
|
||||
"testAccount": {
|
||||
"username": "merchant_admin"
|
||||
},
|
||||
"expectedTerminalState": {
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
},
|
||||
"resources": {
|
||||
"tenantId": "10001",
|
||||
"terminalInboundId": "2085909619958919170",
|
||||
"terminalOrderId": "2085909608158265345",
|
||||
"terminalInboundCode": "RK-2085909608158265345",
|
||||
"pendingOrderId": "2085931050820239362",
|
||||
"foreignOrderId": "2085665774056833025",
|
||||
"measurementImageFileIds": [],
|
||||
"weightImageFileIds": []
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:32:35.639Z",
|
||||
"durationMs": 388,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-85e84081-79ba-406f-8015-138be32cb552, client-phase2-85e84081-79ba-406f-8015-138be32cb552",
|
||||
"traceId": "f42a864524af465cba6a8c6200b4f234",
|
||||
"evidence": {
|
||||
"username": "merchant_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "load current enterprise profile",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:32:36.027Z",
|
||||
"durationMs": 36,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-1ca35db4-77a8-4dc7-aa6f-75aebdc4ef13, client-phase2-1ca35db4-77a8-4dc7-aa6f-75aebdc4ef13",
|
||||
"traceId": "1e6ae512dcbf404b92af584481e67c9a",
|
||||
"evidence": {
|
||||
"tenantId": "10001",
|
||||
"tenantName": "一期演示企业",
|
||||
"status": "ACTIVE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client has order view permission",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:32:36.063Z",
|
||||
"durationMs": 29,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-096d6bf0-8bc7-48c0-a765-6b0603fc0c72, client-phase2-096d6bf0-8bc7-48c0-a765-6b0603fc0c72",
|
||||
"traceId": "74d55387cbbe48738e57c7c6869bede9",
|
||||
"evidence": {
|
||||
"permissionCount": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "platform fixture account login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:32:36.092Z",
|
||||
"durationMs": 346,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-4b57e735-10d1-4f18-a4c0-673acb627ffd, client-phase2-4b57e735-10d1-4f18-a4c0-673acb627ffd",
|
||||
"traceId": "75ccb2e620574a2ea42b5bbc374f610e",
|
||||
"evidence": {
|
||||
"username": "platform_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover current enterprise inbound fixtures",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:32:36.439Z",
|
||||
"durationMs": 47,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-5fa80e12-1433-4a24-b0e7-6d98de4f03e4, client-phase2-5fa80e12-1433-4a24-b0e7-6d98de4f03e4",
|
||||
"traceId": "b144c312406641c6830d0dcc9867826c",
|
||||
"evidence": {
|
||||
"total": "23",
|
||||
"statusCounts": {
|
||||
"WAIT_MEASURE|NOT_SUBMITTED|UNPRICED": 10,
|
||||
"MEASURING|NOT_SUBMITTED|UNPRICED": 9,
|
||||
"WAIT_SPLIT|APPROVED|UNPRICED": 1,
|
||||
"WAIT_SPLIT|APPROVED|CONFIRMED": 2,
|
||||
"WAIT_SPLIT|APPROVED|CALCULATED": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "terminal state filters find selected inbound",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:32:36.486Z",
|
||||
"durationMs": 28,
|
||||
"http": 200,
|
||||
"code": "A0400",
|
||||
"message": "入库流程状态不合法",
|
||||
"requestId": "client-phase2-32c11a8c-89ac-43e8-b821-2a0c691e368e, client-phase2-32c11a8c-89ac-43e8-b821-2a0c691e368e",
|
||||
"traceId": "165e30521b784f57b26ca872b67e851c",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0400\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "load platform terminal inbound reference detail",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:32:36.514Z",
|
||||
"durationMs": 40,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-508a51db-5fa9-4230-ab6a-886a0800e1aa, client-phase2-508a51db-5fa9-4230-ab6a-886a0800e1aa",
|
||||
"traceId": "3242b70df83b48f38ed2aaab148ad526",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170",
|
||||
"orderId": "2085909608158265345",
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover foreign terminal fixture for isolation",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:32:36.554Z",
|
||||
"durationMs": 77,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-e9048af6-751a-4d20-907b-c6927551e605, client-phase2-e9048af6-751a-4d20-907b-c6927551e605",
|
||||
"traceId": "7341d4ca976e406dafbaf99946f6ccce",
|
||||
"evidence": {
|
||||
"total": "263"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unfinished inbound billing remains unavailable",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:32:36.631Z",
|
||||
"durationMs": 26,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-ec7e1084-4771-4826-abf5-3a2dba46b35c, client-phase2-ec7e1084-4771-4826-abf5-3a2dba46b35c",
|
||||
"traceId": "55e4cb1379f84194904afa01ca512f33",
|
||||
"evidence": {
|
||||
"orderId": "2085931050820239362",
|
||||
"processStatus": "WAIT_MEASURE",
|
||||
"feeStatus": "UNPRICED",
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unknown order inbound billing is rejected",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:32:36.657Z",
|
||||
"durationMs": 32,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "订单尚未生成入库单",
|
||||
"requestId": "client-phase2-0e5386b8-8e94-4b39-8985-72212f8abea6, client-phase2-0e5386b8-8e94-4b39-8985-72212f8abea6",
|
||||
"traceId": "8d7a1a400fde487f9cf8cde02816833d",
|
||||
"evidence": {
|
||||
"orderId": 1,
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal inbound billing is visible to client",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:32:36.689Z",
|
||||
"durationMs": 38,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-5e202092-4bcd-4b1b-80f7-ebdce6a082c0, client-phase2-5e202092-4bcd-4b1b-80f7-ebdce6a082c0",
|
||||
"traceId": "0b5d5257ee3e48579fe20b2eaf1dd167",
|
||||
"evidence": {
|
||||
"rejectionCode": "A0404"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0404\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal billing aggregate contract",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:32:36.727Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-images",
|
||||
"name": "published measurement and weight image access",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:32:36.727Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return image references",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-unified-orders",
|
||||
"name": "unified order list exposes phase-two terminal state",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:32:36.727Z",
|
||||
"durationMs": 38,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-be5cd526-769a-4364-be2d-9e1a923a0272, client-phase2-be5cd526-769a-4364-be2d-9e1a923a0272",
|
||||
"traceId": "cd41c009b91a4234861633b2eeb02641",
|
||||
"evidence": {
|
||||
"orderId": "2085909608158265345",
|
||||
"mainStatus": "INBOUNDED"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "unified inbound process status: expected=\"WAIT_SPLIT\" actual=undefined"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,303 +0,0 @@
|
||||
{
|
||||
"marker": "20260808033324-81f67c5c",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T03:33:24.483Z",
|
||||
"completedAt": "2026-08-08T03:33:25.630Z",
|
||||
"success": false,
|
||||
"fatal": {
|
||||
"name": "Error",
|
||||
"message": "unified timeline must contain INBOUNDED"
|
||||
},
|
||||
"testAccount": {
|
||||
"username": "merchant_admin"
|
||||
},
|
||||
"expectedTerminalState": {
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
},
|
||||
"resources": {
|
||||
"tenantId": "10001",
|
||||
"terminalInboundId": "2085909619958919170",
|
||||
"terminalOrderId": "2085909608158265345",
|
||||
"terminalInboundCode": "RK-2085909608158265345",
|
||||
"pendingOrderId": "2085931050820239362",
|
||||
"foreignOrderId": "2085665774056833025",
|
||||
"measurementImageFileIds": [],
|
||||
"weightImageFileIds": []
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:33:24.485Z",
|
||||
"durationMs": 378,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-e1d83f36-20a8-41c8-9bbc-c9b0f17f23ef, client-phase2-e1d83f36-20a8-41c8-9bbc-c9b0f17f23ef",
|
||||
"traceId": "9dbb09bfcce341a4b44035938ab8696b",
|
||||
"evidence": {
|
||||
"username": "merchant_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "load current enterprise profile",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:33:24.863Z",
|
||||
"durationMs": 39,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-1785db69-72ae-45c4-a938-d213ccd0ebd9, client-phase2-1785db69-72ae-45c4-a938-d213ccd0ebd9",
|
||||
"traceId": "b72e77173cd14d09a18e73f9ba23595d",
|
||||
"evidence": {
|
||||
"tenantId": "10001",
|
||||
"tenantName": "一期演示企业",
|
||||
"status": "ACTIVE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client has order view permission",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:33:24.903Z",
|
||||
"durationMs": 20,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-7741c947-ae45-47b2-9881-4fa657c7e466, client-phase2-7741c947-ae45-47b2-9881-4fa657c7e466",
|
||||
"traceId": "4920d2a37c8c4fdebdd2e3b1b9428364",
|
||||
"evidence": {
|
||||
"permissionCount": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "platform fixture account login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:33:24.923Z",
|
||||
"durationMs": 338,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-76407f5d-871c-46b5-b2ac-d3d28d6c91d2, client-phase2-76407f5d-871c-46b5-b2ac-d3d28d6c91d2",
|
||||
"traceId": "993863250f3e4c8490a965aad602a83e",
|
||||
"evidence": {
|
||||
"username": "platform_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover current enterprise inbound fixtures",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:33:25.261Z",
|
||||
"durationMs": 50,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-2c94e800-97b5-49cb-98b8-a109fd867ed7, client-phase2-2c94e800-97b5-49cb-98b8-a109fd867ed7",
|
||||
"traceId": "b5b9f906bf06437990bcb3800741be67",
|
||||
"evidence": {
|
||||
"total": "23",
|
||||
"statusCounts": {
|
||||
"WAIT_MEASURE|NOT_SUBMITTED|UNPRICED": 10,
|
||||
"MEASURING|NOT_SUBMITTED|UNPRICED": 9,
|
||||
"WAIT_SPLIT|APPROVED|UNPRICED": 1,
|
||||
"WAIT_SPLIT|APPROVED|CONFIRMED": 2,
|
||||
"WAIT_SPLIT|APPROVED|CALCULATED": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "terminal state filters find selected inbound",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:33:25.312Z",
|
||||
"durationMs": 28,
|
||||
"http": 200,
|
||||
"code": "A0400",
|
||||
"message": "入库流程状态不合法",
|
||||
"requestId": "client-phase2-e1a0cb4e-0259-492c-86be-406384be4dc6, client-phase2-e1a0cb4e-0259-492c-86be-406384be4dc6",
|
||||
"traceId": "747017cc66f84cc580a3f4300c1405d5",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0400\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "load platform terminal inbound reference detail",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:33:25.340Z",
|
||||
"durationMs": 35,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-8e64ad1a-e627-4584-94d0-5d9811253c49, client-phase2-8e64ad1a-e627-4584-94d0-5d9811253c49",
|
||||
"traceId": "30b4719d515f4a21a56fa5f0753b0ac5",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170",
|
||||
"orderId": "2085909608158265345",
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover foreign terminal fixture for isolation",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:33:25.375Z",
|
||||
"durationMs": 78,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-7275ca3a-596e-4b14-ba4a-99e6f9ffffc2, client-phase2-7275ca3a-596e-4b14-ba4a-99e6f9ffffc2",
|
||||
"traceId": "d52bded392cb4ccda9c06f91b6a77255",
|
||||
"evidence": {
|
||||
"total": "263"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unfinished inbound billing remains unavailable",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:33:25.453Z",
|
||||
"durationMs": 24,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-57f2bf52-8e7b-45fd-8cf3-8e4df7ee171e, client-phase2-57f2bf52-8e7b-45fd-8cf3-8e4df7ee171e",
|
||||
"traceId": "1e91adb1b3db4a21af8b29f3985e83e4",
|
||||
"evidence": {
|
||||
"orderId": "2085931050820239362",
|
||||
"processStatus": "WAIT_MEASURE",
|
||||
"feeStatus": "UNPRICED",
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unknown order inbound billing is rejected",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:33:25.477Z",
|
||||
"durationMs": 33,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "订单尚未生成入库单",
|
||||
"requestId": "client-phase2-427aeba9-c3f3-4f47-9efb-c229ee4de1e0, client-phase2-427aeba9-c3f3-4f47-9efb-c229ee4de1e0",
|
||||
"traceId": "a40ef9c3eed448c8af859a77451fccd4",
|
||||
"evidence": {
|
||||
"orderId": 1,
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal inbound billing is visible to client",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:33:25.510Z",
|
||||
"durationMs": 29,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-da5ccf76-4871-4bf8-a696-9caf543261df, client-phase2-da5ccf76-4871-4bf8-a696-9caf543261df",
|
||||
"traceId": "fb940334084d46babcf2f7aa0ae018e9",
|
||||
"evidence": {
|
||||
"rejectionCode": "A0404"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0404\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal billing aggregate contract",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:33:25.540Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-images",
|
||||
"name": "published measurement and weight image access",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:33:25.540Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return image references",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-unified-orders",
|
||||
"name": "unified order list exposes phase-two terminal state",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:33:25.540Z",
|
||||
"durationMs": 46,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-ae9de96c-91aa-4e8e-b94a-ebf318130dab, client-phase2-ae9de96c-91aa-4e8e-b94a-ebf318130dab",
|
||||
"traceId": "e1648c5fea3a400ab475e24952971fa7",
|
||||
"evidence": {
|
||||
"orderId": "2085909608158265345",
|
||||
"mainStatus": "INBOUNDED",
|
||||
"inboundId": "2085909619958919170",
|
||||
"measurementReviewStatus": "APPROVED",
|
||||
"actualGrossWeightKg": 1383,
|
||||
"actualVolumeCbm": 0.1895
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-unified-orders",
|
||||
"name": "unified order detail includes phase-two timeline",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:33:25.586Z",
|
||||
"durationMs": 43,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-0f0b5563-07a7-45cc-b1c4-41456d58d634, client-phase2-0f0b5563-07a7-45cc-b1c4-41456d58d634",
|
||||
"traceId": "e9a45bb51adc4ac5bc0011f17218285e",
|
||||
"evidence": {
|
||||
"orderId": "2085909608158265345",
|
||||
"mainStatus": "INBOUNDED",
|
||||
"timelineCount": 5
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "unified timeline must contain INBOUNDED"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,314 +0,0 @@
|
||||
{
|
||||
"marker": "20260808033417-f5c3f23a",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T03:34:17.235Z",
|
||||
"completedAt": "2026-08-08T03:34:18.437Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"testAccount": {
|
||||
"username": "merchant_admin"
|
||||
},
|
||||
"expectedTerminalState": {
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
},
|
||||
"resources": {
|
||||
"tenantId": "10001",
|
||||
"terminalInboundId": "2085909619958919170",
|
||||
"terminalOrderId": "2085909608158265345",
|
||||
"terminalInboundCode": "RK-2085909608158265345",
|
||||
"pendingOrderId": "2085931050820239362",
|
||||
"foreignOrderId": "2085665774056833025",
|
||||
"measurementImageFileIds": [],
|
||||
"weightImageFileIds": []
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:34:17.238Z",
|
||||
"durationMs": 375,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-245d0333-30bd-4254-b116-afbc6643da5e, client-phase2-245d0333-30bd-4254-b116-afbc6643da5e",
|
||||
"traceId": "ddc9cbba28f74097b5441b7951653647",
|
||||
"evidence": {
|
||||
"username": "merchant_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "load current enterprise profile",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:34:17.614Z",
|
||||
"durationMs": 35,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-744f52c2-3b84-4cef-918d-06885b7ff68c, client-phase2-744f52c2-3b84-4cef-918d-06885b7ff68c",
|
||||
"traceId": "52e830aca6f146eab0e21e2e24fcf796",
|
||||
"evidence": {
|
||||
"tenantId": "10001",
|
||||
"tenantName": "一期演示企业",
|
||||
"status": "ACTIVE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client has order view permission",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:34:17.649Z",
|
||||
"durationMs": 30,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-20c1259a-50a9-47ec-ade6-b4d230d20dd1, client-phase2-20c1259a-50a9-47ec-ade6-b4d230d20dd1",
|
||||
"traceId": "24ba6612aa8049a1aa969c97242fb48a",
|
||||
"evidence": {
|
||||
"permissionCount": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "platform fixture account login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:34:17.679Z",
|
||||
"durationMs": 360,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-89e2bb91-a51e-46af-a404-8b4182d14152, client-phase2-89e2bb91-a51e-46af-a404-8b4182d14152",
|
||||
"traceId": "d33157a789db4cc0adc9725129bb7c3a",
|
||||
"evidence": {
|
||||
"username": "platform_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover current enterprise inbound fixtures",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:34:18.040Z",
|
||||
"durationMs": 53,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-a1536a77-68d2-4990-855b-78bff33c644b, client-phase2-a1536a77-68d2-4990-855b-78bff33c644b",
|
||||
"traceId": "d6f1ab9754dc425896d34f70cf27bf0d",
|
||||
"evidence": {
|
||||
"total": "23",
|
||||
"statusCounts": {
|
||||
"WAIT_MEASURE|NOT_SUBMITTED|UNPRICED": 10,
|
||||
"MEASURING|NOT_SUBMITTED|UNPRICED": 9,
|
||||
"WAIT_SPLIT|APPROVED|UNPRICED": 1,
|
||||
"WAIT_SPLIT|APPROVED|CONFIRMED": 2,
|
||||
"WAIT_SPLIT|APPROVED|CALCULATED": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "terminal state filters find selected inbound",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:34:18.093Z",
|
||||
"durationMs": 39,
|
||||
"http": 200,
|
||||
"code": "A0400",
|
||||
"message": "入库流程状态不合法",
|
||||
"requestId": "client-phase2-6102ea3e-d5c4-407e-aaa1-afe3feead391, client-phase2-6102ea3e-d5c4-407e-aaa1-afe3feead391",
|
||||
"traceId": "825eb752d0754840a4616d3d3a103d42",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0400\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "load platform terminal inbound reference detail",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:34:18.132Z",
|
||||
"durationMs": 31,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-62fa2d6d-6e6f-4982-a70d-aa43b5b1da18, client-phase2-62fa2d6d-6e6f-4982-a70d-aa43b5b1da18",
|
||||
"traceId": "40d8259bc4b242f18cb762a92a9f2e9e",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170",
|
||||
"orderId": "2085909608158265345",
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover foreign terminal fixture for isolation",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:34:18.163Z",
|
||||
"durationMs": 75,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-3a656c52-bad7-4b3a-af9b-3b8a5db94fe4, client-phase2-3a656c52-bad7-4b3a-af9b-3b8a5db94fe4",
|
||||
"traceId": "3037bad5954349f48d6eefeeb48f7b96",
|
||||
"evidence": {
|
||||
"total": "263"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unfinished inbound billing remains unavailable",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:34:18.238Z",
|
||||
"durationMs": 33,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-ffaa2157-1048-4b0e-b11e-5fd09e831d57, client-phase2-ffaa2157-1048-4b0e-b11e-5fd09e831d57",
|
||||
"traceId": "a5c214bfa0124760892739d44fec9a11",
|
||||
"evidence": {
|
||||
"orderId": "2085931050820239362",
|
||||
"processStatus": "WAIT_MEASURE",
|
||||
"feeStatus": "UNPRICED",
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unknown order inbound billing is rejected",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:34:18.271Z",
|
||||
"durationMs": 28,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "订单尚未生成入库单",
|
||||
"requestId": "client-phase2-bb5cdb61-7ccc-4a7e-b343-1423b999dd53, client-phase2-bb5cdb61-7ccc-4a7e-b343-1423b999dd53",
|
||||
"traceId": "9830428eb7a741e0a39bc95e198ad690",
|
||||
"evidence": {
|
||||
"orderId": 1,
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal inbound billing is visible to client",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:34:18.299Z",
|
||||
"durationMs": 23,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-13e0c5f5-200f-4cb2-a3b8-dd60ad889a4c, client-phase2-13e0c5f5-200f-4cb2-a3b8-dd60ad889a4c",
|
||||
"traceId": "cf7c4553a83c46c88282917676f37e4a",
|
||||
"evidence": {
|
||||
"rejectionCode": "A0404"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0404\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal billing aggregate contract",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:34:18.322Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-images",
|
||||
"name": "published measurement and weight image access",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:34:18.322Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return image references",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-unified-orders",
|
||||
"name": "unified order list exposes phase-two terminal state",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:34:18.322Z",
|
||||
"durationMs": 40,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-c30d219b-a2c1-470b-be37-8e775961243c, client-phase2-c30d219b-a2c1-470b-be37-8e775961243c",
|
||||
"traceId": "16601c532a2e401aacd62211f9cb1009",
|
||||
"evidence": {
|
||||
"orderId": "2085909608158265345",
|
||||
"mainStatus": "INBOUNDED",
|
||||
"inboundId": "2085909619958919170",
|
||||
"measurementReviewStatus": "APPROVED",
|
||||
"actualGrossWeightKg": 1383,
|
||||
"actualVolumeCbm": 0.1895
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-unified-orders",
|
||||
"name": "unified order detail exposes phase-two summary and timeline",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:34:18.362Z",
|
||||
"durationMs": 44,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-4389dfd4-ee1d-4d50-938e-cfab27dca8dc, client-phase2-4389dfd4-ee1d-4d50-938e-cfab27dca8dc",
|
||||
"traceId": "d4801cd67ee3401e9340b8aec08411ad",
|
||||
"evidence": {
|
||||
"orderId": "2085909608158265345",
|
||||
"mainStatus": "INBOUNDED",
|
||||
"timelineCount": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-isolation",
|
||||
"name": "cross-enterprise terminal billing is rejected",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:34:18.406Z",
|
||||
"durationMs": 31,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "订单尚未生成入库单",
|
||||
"requestId": "client-phase2-c3fe5422-7576-4137-b932-4cc0fc15dc35, client-phase2-c3fe5422-7576-4137-b932-4cc0fc15dc35",
|
||||
"traceId": "d00036079efd405ba0a27c5edb92cb10",
|
||||
"evidence": {
|
||||
"orderId": "2085665774056833025",
|
||||
"tenantId": "2085308606829346818",
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,278 +0,0 @@
|
||||
{
|
||||
"marker": "20260808033753-4c2c604e",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T03:37:53.736Z",
|
||||
"completedAt": "2026-08-08T03:37:58.175Z",
|
||||
"success": false,
|
||||
"fatal": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"undefined\""
|
||||
},
|
||||
"testAccount": {
|
||||
"username": "merchant_admin"
|
||||
},
|
||||
"expectedTerminalState": {
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
},
|
||||
"resources": {
|
||||
"tenantId": "10001",
|
||||
"terminalInboundId": "2085909619958919170",
|
||||
"terminalOrderId": "2085909608158265345",
|
||||
"terminalInboundCode": "RK-2085909608158265345",
|
||||
"pendingOrderId": "2085931050820239362",
|
||||
"foreignOrderId": "2085665774056833025",
|
||||
"measurementImageFileIds": [],
|
||||
"weightImageFileIds": []
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:37:53.739Z",
|
||||
"durationMs": 1936,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-ead0bc8b-a25e-4772-8d01-3201a4d79421, client-phase2-ead0bc8b-a25e-4772-8d01-3201a4d79421",
|
||||
"traceId": "17acc285d527403b87cfe697d19f5866",
|
||||
"evidence": {
|
||||
"username": "merchant_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "load current enterprise profile",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:37:55.675Z",
|
||||
"durationMs": 551,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-aff88882-3334-4ec0-b9d9-87593bbfef26, client-phase2-aff88882-3334-4ec0-b9d9-87593bbfef26",
|
||||
"traceId": "3b45386aaf104c3fb72e71fd4be10a79",
|
||||
"evidence": {
|
||||
"tenantId": "10001",
|
||||
"tenantName": "一期演示企业",
|
||||
"status": "ACTIVE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client has order view permission",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:37:56.226Z",
|
||||
"durationMs": 72,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-42dc4e17-71be-4bc4-8480-b941a6d51f3d, client-phase2-42dc4e17-71be-4bc4-8480-b941a6d51f3d",
|
||||
"traceId": "4e41c8b35f114390b5e6cd49a25d9282",
|
||||
"evidence": {
|
||||
"permissionCount": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "platform fixture account login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:37:56.298Z",
|
||||
"durationMs": 402,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-806fe614-4724-4f2e-8953-2cc67902216a, client-phase2-806fe614-4724-4f2e-8953-2cc67902216a",
|
||||
"traceId": "6127f43d3d104a8998b4e8eab39f0b8f",
|
||||
"evidence": {
|
||||
"username": "platform_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover current enterprise inbound fixtures",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:37:56.700Z",
|
||||
"durationMs": 821,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-b8a6edf3-2b47-4e38-b417-523faaf00337, client-phase2-b8a6edf3-2b47-4e38-b417-523faaf00337",
|
||||
"traceId": "d81142a6caaa415b983a517c872e6983",
|
||||
"evidence": {
|
||||
"total": "23",
|
||||
"statusCounts": {
|
||||
"WAIT_MEASURE|NOT_SUBMITTED|UNPRICED": 10,
|
||||
"MEASURING|NOT_SUBMITTED|UNPRICED": 9,
|
||||
"WAIT_SPLIT|APPROVED|UNPRICED": 1,
|
||||
"WAIT_SPLIT|APPROVED|CONFIRMED": 2,
|
||||
"WAIT_SPLIT|APPROVED|CALCULATED": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "terminal state filters find selected inbound",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:37:57.522Z",
|
||||
"durationMs": 80,
|
||||
"http": 200,
|
||||
"code": "A0400",
|
||||
"message": "入库流程状态不合法",
|
||||
"requestId": "client-phase2-d5a2bf0c-dc1d-4a03-a8f6-c87cfa65fb1f, client-phase2-d5a2bf0c-dc1d-4a03-a8f6-c87cfa65fb1f",
|
||||
"traceId": "7a865fee161546aeb2468e1e0d709031",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0400\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "load platform terminal inbound reference detail",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:37:57.602Z",
|
||||
"durationMs": 99,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-94dc8387-1ddb-410d-bac9-59ec6442c5c3, client-phase2-94dc8387-1ddb-410d-bac9-59ec6442c5c3",
|
||||
"traceId": "3277d55a79c344f28d66f6cefe3effe7",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170",
|
||||
"orderId": "2085909608158265345",
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover foreign terminal fixture for isolation",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:37:57.701Z",
|
||||
"durationMs": 196,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-47c2feb0-8f59-485e-8825-ae7e4544276b, client-phase2-47c2feb0-8f59-485e-8825-ae7e4544276b",
|
||||
"traceId": "1090649425ad4193bd279655fd51e411",
|
||||
"evidence": {
|
||||
"total": "263"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unfinished inbound billing remains unavailable",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:37:57.897Z",
|
||||
"durationMs": 56,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-d59134fc-9cc0-49ce-bed7-719cda77d291, client-phase2-d59134fc-9cc0-49ce-bed7-719cda77d291",
|
||||
"traceId": "88c27c271d6b44ee83afb4aa5696172c",
|
||||
"evidence": {
|
||||
"orderId": "2085931050820239362",
|
||||
"processStatus": "WAIT_MEASURE",
|
||||
"feeStatus": "UNPRICED",
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unknown order inbound billing is rejected",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:37:57.953Z",
|
||||
"durationMs": 37,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "订单尚未生成入库单",
|
||||
"requestId": "client-phase2-0eed8aa8-d0f0-49f2-9c6c-b801514df9fa, client-phase2-0eed8aa8-d0f0-49f2-9c6c-b801514df9fa",
|
||||
"traceId": "49dddb72e1414a29a7176c283843224b",
|
||||
"evidence": {
|
||||
"orderId": 1,
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal inbound billing is visible to client",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:37:57.991Z",
|
||||
"durationMs": 43,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-83ba9d6d-5eed-41eb-a6fa-da2c0af20687, client-phase2-83ba9d6d-5eed-41eb-a6fa-da2c0af20687",
|
||||
"traceId": "0030dfc8dd9a48dd873fa852e80031dd",
|
||||
"evidence": {
|
||||
"rejectionCode": "A0404"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0404\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal billing aggregate contract",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:37:58.035Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-images",
|
||||
"name": "published measurement and weight image access",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:37:58.035Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return image references",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-unified-orders",
|
||||
"name": "unified order list exposes phase-two terminal state",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:37:58.035Z",
|
||||
"durationMs": 140,
|
||||
"http": 503,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": "client-phase2-804cd78c-2820-44d2-b771-4a660eec6b94",
|
||||
"traceId": null,
|
||||
"evidence": {},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"undefined\""
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,278 +0,0 @@
|
||||
{
|
||||
"marker": "20260808033825-6adc1a41",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T03:38:25.859Z",
|
||||
"completedAt": "2026-08-08T03:38:27.940Z",
|
||||
"success": false,
|
||||
"fatal": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"S0503\""
|
||||
},
|
||||
"testAccount": {
|
||||
"username": "merchant_admin"
|
||||
},
|
||||
"expectedTerminalState": {
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
},
|
||||
"resources": {
|
||||
"tenantId": "10001",
|
||||
"terminalInboundId": "2085909619958919170",
|
||||
"terminalOrderId": "2085909608158265345",
|
||||
"terminalInboundCode": "RK-2085909608158265345",
|
||||
"pendingOrderId": "2085931050820239362",
|
||||
"foreignOrderId": "2085665774056833025",
|
||||
"measurementImageFileIds": [],
|
||||
"weightImageFileIds": []
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:38:25.865Z",
|
||||
"durationMs": 432,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-d3334363-d5d9-4907-919c-28307248307e, client-phase2-d3334363-d5d9-4907-919c-28307248307e",
|
||||
"traceId": "3c78ca4b6c0e43aeb41d3d0389f6e5f6",
|
||||
"evidence": {
|
||||
"username": "merchant_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "load current enterprise profile",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:38:26.297Z",
|
||||
"durationMs": 47,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-ac9deddb-9f6c-49ae-be61-c9936a4f1070, client-phase2-ac9deddb-9f6c-49ae-be61-c9936a4f1070",
|
||||
"traceId": "0d120da189e94971874c68074cdef7fb",
|
||||
"evidence": {
|
||||
"tenantId": "10001",
|
||||
"tenantName": "一期演示企业",
|
||||
"status": "ACTIVE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client has order view permission",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:38:26.344Z",
|
||||
"durationMs": 56,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-700ca15b-73b6-4ac4-8ca1-89e0e7afe218, client-phase2-700ca15b-73b6-4ac4-8ca1-89e0e7afe218",
|
||||
"traceId": "fe890d9d115f4393afc1e1f6b4ee594c",
|
||||
"evidence": {
|
||||
"permissionCount": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "platform fixture account login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:38:26.400Z",
|
||||
"durationMs": 344,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-172bd473-1583-4ec9-8647-e1e5ddc56d96, client-phase2-172bd473-1583-4ec9-8647-e1e5ddc56d96",
|
||||
"traceId": "575d1818c003430ca3f39ef987e981f8",
|
||||
"evidence": {
|
||||
"username": "platform_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover current enterprise inbound fixtures",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:38:26.745Z",
|
||||
"durationMs": 64,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-9219ca39-e737-4b55-8700-e122b057de2b, client-phase2-9219ca39-e737-4b55-8700-e122b057de2b",
|
||||
"traceId": "2479ec898fb94ca2b511c52144a168ab",
|
||||
"evidence": {
|
||||
"total": "23",
|
||||
"statusCounts": {
|
||||
"WAIT_MEASURE|NOT_SUBMITTED|UNPRICED": 10,
|
||||
"MEASURING|NOT_SUBMITTED|UNPRICED": 9,
|
||||
"WAIT_SPLIT|APPROVED|UNPRICED": 1,
|
||||
"WAIT_SPLIT|APPROVED|CONFIRMED": 2,
|
||||
"WAIT_SPLIT|APPROVED|CALCULATED": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "terminal state filters find selected inbound",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:38:26.810Z",
|
||||
"durationMs": 47,
|
||||
"http": 200,
|
||||
"code": "A0400",
|
||||
"message": "入库流程状态不合法",
|
||||
"requestId": "client-phase2-63f2fd09-eaed-43ef-87ac-29dabf683fb7, client-phase2-63f2fd09-eaed-43ef-87ac-29dabf683fb7",
|
||||
"traceId": "faae41bec48b4c1383e379fdfd018f89",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0400\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "load platform terminal inbound reference detail",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:38:26.857Z",
|
||||
"durationMs": 56,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-73a863ed-cc18-4b33-8748-25be155fc77e, client-phase2-73a863ed-cc18-4b33-8748-25be155fc77e",
|
||||
"traceId": "3fb0d503d9364e32a4f0bbdfcbcd4744",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170",
|
||||
"orderId": "2085909608158265345",
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover foreign terminal fixture for isolation",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:38:26.913Z",
|
||||
"durationMs": 110,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-045fb847-f9b4-42f9-985e-7e6d921bf4ac, client-phase2-045fb847-f9b4-42f9-985e-7e6d921bf4ac",
|
||||
"traceId": "1fb2301e723f4899b21a4a5beedfe65f",
|
||||
"evidence": {
|
||||
"total": "263"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unfinished inbound billing remains unavailable",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:38:27.023Z",
|
||||
"durationMs": 37,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-254ead3c-40c5-40e8-a174-07cb95c87933, client-phase2-254ead3c-40c5-40e8-a174-07cb95c87933",
|
||||
"traceId": "cb33df99765649e39ffe9ad7f4351382",
|
||||
"evidence": {
|
||||
"orderId": "2085931050820239362",
|
||||
"processStatus": "WAIT_MEASURE",
|
||||
"feeStatus": "UNPRICED",
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unknown order inbound billing is rejected",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:38:27.060Z",
|
||||
"durationMs": 35,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "订单尚未生成入库单",
|
||||
"requestId": "client-phase2-65a26abf-32d8-420e-8505-ccc618ac6b04, client-phase2-65a26abf-32d8-420e-8505-ccc618ac6b04",
|
||||
"traceId": "b3d5bd870afc4ec19a579050cfe968d3",
|
||||
"evidence": {
|
||||
"orderId": 1,
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal inbound billing is visible to client",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:38:27.095Z",
|
||||
"durationMs": 48,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-19565704-f571-4807-a207-571824b158fd, client-phase2-19565704-f571-4807-a207-571824b158fd",
|
||||
"traceId": "e6a3e225a7e74bbf978f6c521d711701",
|
||||
"evidence": {
|
||||
"rejectionCode": "A0404"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0404\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal billing aggregate contract",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:38:27.143Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-images",
|
||||
"name": "published measurement and weight image access",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:38:27.144Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return image references",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-unified-orders",
|
||||
"name": "unified order list exposes phase-two terminal state",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:38:27.144Z",
|
||||
"durationMs": 796,
|
||||
"http": 200,
|
||||
"code": "S0503",
|
||||
"message": "统一订单履约摘要响应无效",
|
||||
"requestId": "client-phase2-23c9d9df-4172-44c8-aff3-9de4137fecaa, client-phase2-23c9d9df-4172-44c8-aff3-9de4137fecaa",
|
||||
"traceId": "023aa81784974b8e9d26f2c908e0ba36",
|
||||
"evidence": {},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"S0503\""
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,247 +0,0 @@
|
||||
{
|
||||
"marker": "20260808035731-14b65b47",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T03:57:31.213Z",
|
||||
"completedAt": "2026-08-08T03:57:32.148Z",
|
||||
"success": false,
|
||||
"fatal": {
|
||||
"name": "Error",
|
||||
"message": "SMALL configured volume: expected=0.019584 actual=0.02"
|
||||
},
|
||||
"testAccount": {
|
||||
"username": "merchant_admin"
|
||||
},
|
||||
"expectedTerminalState": {
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
},
|
||||
"resources": {
|
||||
"tenantId": "10001",
|
||||
"terminalInboundId": "2085909619958919170",
|
||||
"terminalOrderId": "2085909608158265345",
|
||||
"terminalInboundCode": "RK-2085909608158265345",
|
||||
"terminalMeasurementId": null,
|
||||
"pendingOrderId": "2085936562680954881",
|
||||
"foreignOrderId": null,
|
||||
"measurementImageFileIds": [],
|
||||
"weightImageFileIds": []
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:57:31.215Z",
|
||||
"durationMs": 373,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-c028cbfe-f6c5-4953-be50-7f4930a95811, client-phase2-c028cbfe-f6c5-4953-be50-7f4930a95811",
|
||||
"traceId": "3e7f6f7a3be448799bc6ae364e223cd5",
|
||||
"evidence": {
|
||||
"username": "merchant_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "load current enterprise profile",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:57:31.589Z",
|
||||
"durationMs": 36,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-8aae9084-6bc7-4554-bf67-d2020660d24c, client-phase2-8aae9084-6bc7-4554-bf67-d2020660d24c",
|
||||
"traceId": "654ec508bc3641b88e23a7d75dc0fab7",
|
||||
"evidence": {
|
||||
"tenantId": "10001",
|
||||
"tenantName": "一期演示企业",
|
||||
"status": "ACTIVE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client has order view permission",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:57:31.625Z",
|
||||
"durationMs": 28,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-6b401f8b-393e-4c88-b33e-4d0526dc345e, client-phase2-6b401f8b-393e-4c88-b33e-4d0526dc345e",
|
||||
"traceId": "1f0c9e5000e84ca7ae21ca2c1c715299",
|
||||
"evidence": {
|
||||
"permissionCount": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "platform fixture account login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:57:31.653Z",
|
||||
"durationMs": 342,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-8af55827-356f-44a6-8d6d-dcde12c3955f, client-phase2-8af55827-356f-44a6-8d6d-dcde12c3955f",
|
||||
"traceId": "60212bed77e04aaa9d08cb30dbc8270f",
|
||||
"evidence": {
|
||||
"username": "platform_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover current enterprise inbound fixtures",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:57:31.995Z",
|
||||
"durationMs": 50,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-fc76ac49-ecf8-41f7-8068-e105bbfc5e7c, client-phase2-fc76ac49-ecf8-41f7-8068-e105bbfc5e7c",
|
||||
"traceId": "d6101af65e6c4903a06dc38e7d8a9410",
|
||||
"evidence": {
|
||||
"total": "24",
|
||||
"statusCounts": {
|
||||
"WAIT_MEASURE|NOT_SUBMITTED|UNPRICED": 11,
|
||||
"MEASURING|NOT_SUBMITTED|UNPRICED": 9,
|
||||
"WAIT_SPLIT|APPROVED|UNPRICED": 1,
|
||||
"WAIT_SPLIT|APPROVED|CONFIRMED": 2,
|
||||
"WAIT_SPLIT|APPROVED|CALCULATED": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "terminal state filters find selected inbound",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:57:32.046Z",
|
||||
"durationMs": 43,
|
||||
"http": 200,
|
||||
"code": "A0400",
|
||||
"message": "入库流程状态不合法",
|
||||
"requestId": "client-phase2-428e24a8-0884-4659-a0ad-18ba4901d18f, client-phase2-428e24a8-0884-4659-a0ad-18ba4901d18f",
|
||||
"traceId": "35b069ca37e34f668707240be13284ba",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0400\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "load platform terminal inbound reference detail",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:57:32.089Z",
|
||||
"durationMs": 31,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-2e651582-b2d9-4e2b-8c8c-4cda78e2749d, client-phase2-2e651582-b2d9-4e2b-8c8c-4cda78e2749d",
|
||||
"traceId": "7da77db5695340449247f870edca8258",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170",
|
||||
"orderId": "2085909608158265345",
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "load four customer dimension weighting rules",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:57:32.120Z",
|
||||
"durationMs": 28,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-3db586cc-2c39-4ed1-812a-dbad9673870a, client-phase2-3db586cc-2c39-4ed1-812a-dbad9673870a",
|
||||
"traceId": "fa2b984c91f5434aafdd19e4026f42e4",
|
||||
"evidence": {
|
||||
"tenantId": "10001",
|
||||
"rules": [
|
||||
{
|
||||
"boxType": "SMALL",
|
||||
"inner": [
|
||||
30,
|
||||
20,
|
||||
20
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
34,
|
||||
24,
|
||||
24
|
||||
],
|
||||
"volumeCbm": 0.02,
|
||||
"version": 0
|
||||
},
|
||||
{
|
||||
"boxType": "MEDIUM",
|
||||
"inner": [
|
||||
40,
|
||||
30,
|
||||
30
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
44,
|
||||
34,
|
||||
34
|
||||
],
|
||||
"volumeCbm": 0.051,
|
||||
"version": 0
|
||||
},
|
||||
{
|
||||
"boxType": "LARGE",
|
||||
"inner": [
|
||||
50,
|
||||
40,
|
||||
40
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
54,
|
||||
44,
|
||||
44
|
||||
],
|
||||
"volumeCbm": 0.105,
|
||||
"version": 0
|
||||
},
|
||||
{
|
||||
"boxType": "EXTRA_LARGE",
|
||||
"inner": [
|
||||
60,
|
||||
50,
|
||||
50
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
64,
|
||||
54,
|
||||
54
|
||||
],
|
||||
"volumeCbm": 0.187,
|
||||
"version": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "SMALL configured volume: expected=0.019584 actual=0.02"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,652 +0,0 @@
|
||||
{
|
||||
"marker": "20260808035804-95e5d27d",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T03:58:04.734Z",
|
||||
"completedAt": "2026-08-08T03:58:05.935Z",
|
||||
"success": false,
|
||||
"fatal": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"S0503\""
|
||||
},
|
||||
"testAccount": {
|
||||
"username": "merchant_admin"
|
||||
},
|
||||
"expectedTerminalState": {
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
},
|
||||
"resources": {
|
||||
"tenantId": "10001",
|
||||
"terminalInboundId": "2085909619958919170",
|
||||
"terminalOrderId": "2085909608158265345",
|
||||
"terminalInboundCode": "RK-2085909608158265345",
|
||||
"terminalMeasurementId": "2085909625084358657",
|
||||
"pendingOrderId": "2085936562680954881",
|
||||
"foreignOrderId": "2085665774056833025",
|
||||
"measurementImageFileIds": [],
|
||||
"weightImageFileIds": []
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:04.736Z",
|
||||
"durationMs": 382,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-a3667269-4147-419a-b7e9-d95950f1b358, client-phase2-a3667269-4147-419a-b7e9-d95950f1b358",
|
||||
"traceId": "8d7e8199765e434ba32a1897cca68bb2",
|
||||
"evidence": {
|
||||
"username": "merchant_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "load current enterprise profile",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.119Z",
|
||||
"durationMs": 38,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-0b135874-ef10-4513-bd6a-c1b641b3cc20, client-phase2-0b135874-ef10-4513-bd6a-c1b641b3cc20",
|
||||
"traceId": "eed3af0f8d544769ade7586a02138d2c",
|
||||
"evidence": {
|
||||
"tenantId": "10001",
|
||||
"tenantName": "一期演示企业",
|
||||
"status": "ACTIVE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client has order view permission",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.157Z",
|
||||
"durationMs": 47,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-e79856c7-9a9d-41b2-bb6a-57ec182caced, client-phase2-e79856c7-9a9d-41b2-bb6a-57ec182caced",
|
||||
"traceId": "e71371a37a944321bdf1ac46745163c5",
|
||||
"evidence": {
|
||||
"permissionCount": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "platform fixture account login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.204Z",
|
||||
"durationMs": 340,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-a40f327b-c4bd-4e25-8877-9522c7a00938, client-phase2-a40f327b-c4bd-4e25-8877-9522c7a00938",
|
||||
"traceId": "ad2dab9195e54af59ffa97e936d78253",
|
||||
"evidence": {
|
||||
"username": "platform_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover current enterprise inbound fixtures",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.544Z",
|
||||
"durationMs": 50,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-20ca695f-a261-4c8b-8c18-385c0366a01c, client-phase2-20ca695f-a261-4c8b-8c18-385c0366a01c",
|
||||
"traceId": "486e78abb8024a52ae60c882214ebe7e",
|
||||
"evidence": {
|
||||
"total": "24",
|
||||
"statusCounts": {
|
||||
"WAIT_MEASURE|NOT_SUBMITTED|UNPRICED": 11,
|
||||
"MEASURING|NOT_SUBMITTED|UNPRICED": 9,
|
||||
"WAIT_SPLIT|APPROVED|UNPRICED": 1,
|
||||
"WAIT_SPLIT|APPROVED|CONFIRMED": 2,
|
||||
"WAIT_SPLIT|APPROVED|CALCULATED": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "terminal state filters find selected inbound",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.595Z",
|
||||
"durationMs": 25,
|
||||
"http": 200,
|
||||
"code": "A0400",
|
||||
"message": "入库流程状态不合法",
|
||||
"requestId": "client-phase2-0f0d89d7-74ba-4f4e-a924-8a40c39fbfb7, client-phase2-0f0d89d7-74ba-4f4e-a924-8a40c39fbfb7",
|
||||
"traceId": "0e6a817b965349359983c059f3c2f098",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0400\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "load platform terminal inbound reference detail",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.620Z",
|
||||
"durationMs": 36,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-0486566e-44ed-4768-976b-d09da7b2d7ae, client-phase2-0486566e-44ed-4768-976b-d09da7b2d7ae",
|
||||
"traceId": "e4c7ff793a3844faa33ed992edf02918",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170",
|
||||
"orderId": "2085909608158265345",
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "load four customer dimension weighting rules",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.656Z",
|
||||
"durationMs": 31,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-b316f755-913d-4bdd-852a-70713da8dd72, client-phase2-b316f755-913d-4bdd-852a-70713da8dd72",
|
||||
"traceId": "f45c818adb9e48c59815be010c667a48",
|
||||
"evidence": {
|
||||
"tenantId": "10001",
|
||||
"rules": [
|
||||
{
|
||||
"boxType": "SMALL",
|
||||
"inner": [
|
||||
30,
|
||||
20,
|
||||
20
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
34,
|
||||
24,
|
||||
24
|
||||
],
|
||||
"volumeCbm": 0.02,
|
||||
"version": 0
|
||||
},
|
||||
{
|
||||
"boxType": "MEDIUM",
|
||||
"inner": [
|
||||
40,
|
||||
30,
|
||||
30
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
44,
|
||||
34,
|
||||
34
|
||||
],
|
||||
"volumeCbm": 0.051,
|
||||
"version": 0
|
||||
},
|
||||
{
|
||||
"boxType": "LARGE",
|
||||
"inner": [
|
||||
50,
|
||||
40,
|
||||
40
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
54,
|
||||
44,
|
||||
44
|
||||
],
|
||||
"volumeCbm": 0.105,
|
||||
"version": 0
|
||||
},
|
||||
{
|
||||
"boxType": "EXTRA_LARGE",
|
||||
"inner": [
|
||||
60,
|
||||
50,
|
||||
50
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
64,
|
||||
54,
|
||||
54
|
||||
],
|
||||
"volumeCbm": 0.187,
|
||||
"version": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "load approved terminal measurement detail",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.687Z",
|
||||
"durationMs": 28,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-f7baf80b-d5c7-4bb9-b69e-903bb0982ed5, client-phase2-f7baf80b-d5c7-4bb9-b69e-903bb0982ed5",
|
||||
"traceId": "460574b41d574c809f8d31e8173779e1",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170",
|
||||
"measurementId": "2085909625084358657",
|
||||
"measurementStatus": "APPROVED",
|
||||
"actualPackageCount": 4,
|
||||
"actualGrossWeightKg": 1383,
|
||||
"actualVolumeCbm": 0.1895,
|
||||
"volumeWeightKg": 31.647,
|
||||
"itemCount": 4,
|
||||
"weightResultCount": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "carton measurements contain complete traceable data",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.715Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"itemCount": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "carton volume and package aggregates are consistent",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.715Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"actualPackageCount": 4,
|
||||
"actualVolumeCbm": 0.1895,
|
||||
"volumeWeightKg": 31.647
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "confirmed weight results form an independent weight line",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.715Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"actualGrossWeightKg": 1383,
|
||||
"weightResultCount": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "carton billing volume uses current customer dimension weighting",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.715Z",
|
||||
"durationMs": 1,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"measurementId": "2085909625084358657",
|
||||
"items": [
|
||||
{
|
||||
"itemNo": "B1",
|
||||
"measured": [
|
||||
10,
|
||||
10,
|
||||
10
|
||||
],
|
||||
"storedOuter": [
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"unitVolumeCbm": 0.001,
|
||||
"expected": {
|
||||
"boxType": "SMALL",
|
||||
"ruleVersion": 0,
|
||||
"outer": [
|
||||
34,
|
||||
24,
|
||||
24
|
||||
],
|
||||
"unitVolumeCbm": 0.02
|
||||
}
|
||||
},
|
||||
{
|
||||
"itemNo": "B2",
|
||||
"measured": [
|
||||
35,
|
||||
25,
|
||||
25
|
||||
],
|
||||
"storedOuter": [
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"unitVolumeCbm": 0.0219,
|
||||
"expected": {
|
||||
"boxType": "MEDIUM",
|
||||
"ruleVersion": 0,
|
||||
"outer": [
|
||||
44,
|
||||
34,
|
||||
34
|
||||
],
|
||||
"unitVolumeCbm": 0.051
|
||||
}
|
||||
},
|
||||
{
|
||||
"itemNo": "B3",
|
||||
"measured": [
|
||||
45,
|
||||
35,
|
||||
35
|
||||
],
|
||||
"storedOuter": [
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"unitVolumeCbm": 0.0552,
|
||||
"expected": {
|
||||
"boxType": "LARGE",
|
||||
"ruleVersion": 0,
|
||||
"outer": [
|
||||
54,
|
||||
44,
|
||||
44
|
||||
],
|
||||
"unitVolumeCbm": 0.105
|
||||
}
|
||||
},
|
||||
{
|
||||
"itemNo": "B4",
|
||||
"measured": [
|
||||
55,
|
||||
45,
|
||||
45
|
||||
],
|
||||
"storedOuter": [
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"unitVolumeCbm": 0.1114,
|
||||
"expected": {
|
||||
"boxType": "EXTRA_LARGE",
|
||||
"ruleVersion": 0,
|
||||
"outer": [
|
||||
64,
|
||||
54,
|
||||
54
|
||||
],
|
||||
"unitVolumeCbm": 0.187
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "B1 weighted unit volume: expected=0.02 actual=0.001"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover foreign terminal fixture for isolation",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.716Z",
|
||||
"durationMs": 79,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-303dd014-7935-4078-a43b-592887f6bc1e, client-phase2-303dd014-7935-4078-a43b-592887f6bc1e",
|
||||
"traceId": "b9655eab283f412a9ccf54b78b010b31",
|
||||
"evidence": {
|
||||
"total": "264"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unfinished inbound billing remains unavailable",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.795Z",
|
||||
"durationMs": 25,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-eb66c998-56dc-4ba5-8ecb-561fb483effb, client-phase2-eb66c998-56dc-4ba5-8ecb-561fb483effb",
|
||||
"traceId": "e4f7ccca38bf46029f7e4fb1803bc3d6",
|
||||
"evidence": {
|
||||
"orderId": "2085936562680954881",
|
||||
"processStatus": "WAIT_MEASURE",
|
||||
"feeStatus": "UNPRICED",
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unknown order inbound billing is rejected",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.820Z",
|
||||
"durationMs": 30,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "订单尚未生成入库单",
|
||||
"requestId": "client-phase2-b67ac37c-c216-4c24-a32c-d8b844d7f73a, client-phase2-b67ac37c-c216-4c24-a32c-d8b844d7f73a",
|
||||
"traceId": "0c4b5d41648b4ae4931998511d79bfb7",
|
||||
"evidence": {
|
||||
"orderId": 1,
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal inbound billing is visible to client",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.851Z",
|
||||
"durationMs": 31,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-ad77eb81-7f5f-4440-a55b-be433d8f4f78, client-phase2-ad77eb81-7f5f-4440-a55b-be433d8f4f78",
|
||||
"traceId": "a02933f3e5f44f7e9a5f648eee134a5c",
|
||||
"evidence": {
|
||||
"rejectionCode": "A0404"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0404\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal billing aggregate contract",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:05.882Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published measurement summary matches approved platform snapshot",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:05.882Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published carton measurements match platform snapshot",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:05.882Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published carton volumes follow current weighting rules",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:05.882Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published weight results match confirmed platform weights",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:05.882Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "weight and volume billing lines are independently consistent",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:05.882Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published fee detail matches confirmed fee snapshot",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:05.882Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "client aggregate excludes platform internal collections",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:05.882Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-images",
|
||||
"name": "published measurement and weight image access",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:05.882Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-unified-orders",
|
||||
"name": "unified order list exposes phase-two terminal state",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:05.882Z",
|
||||
"durationMs": 53,
|
||||
"http": 200,
|
||||
"code": "S0503",
|
||||
"message": "统一订单履约摘要响应无效",
|
||||
"requestId": "client-phase2-c96c99d9-545f-4cb3-bed0-490a6dbbfc37, client-phase2-c96c99d9-545f-4cb3-bed0-490a6dbbfc37",
|
||||
"traceId": "b871d193543b4e9aa35b0f4828feb259",
|
||||
"evidence": {},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"S0503\""
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,687 +0,0 @@
|
||||
{
|
||||
"marker": "20260808035850-0d408736",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T03:58:50.046Z",
|
||||
"completedAt": "2026-08-08T03:58:51.370Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"testAccount": {
|
||||
"username": "merchant_admin"
|
||||
},
|
||||
"expectedTerminalState": {
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
},
|
||||
"resources": {
|
||||
"tenantId": "10001",
|
||||
"terminalInboundId": "2085909619958919170",
|
||||
"terminalOrderId": "2085909608158265345",
|
||||
"terminalInboundCode": "RK-2085909608158265345",
|
||||
"terminalMeasurementId": "2085909625084358657",
|
||||
"pendingOrderId": "2085936562680954881",
|
||||
"foreignOrderId": "2085665774056833025",
|
||||
"measurementImageFileIds": [],
|
||||
"weightImageFileIds": []
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:50.047Z",
|
||||
"durationMs": 375,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-7dc375d8-6f45-485c-bfca-fa3429d6fafa, client-phase2-7dc375d8-6f45-485c-bfca-fa3429d6fafa",
|
||||
"traceId": "c46e94b9733847d68c279fa80dba4b5a",
|
||||
"evidence": {
|
||||
"username": "merchant_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "load current enterprise profile",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:50.422Z",
|
||||
"durationMs": 72,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-f1e8f33e-7191-4b82-a89c-b30c36793b0e, client-phase2-f1e8f33e-7191-4b82-a89c-b30c36793b0e",
|
||||
"traceId": "fbb3fcb49c154297868ad78e096f9a06",
|
||||
"evidence": {
|
||||
"tenantId": "10001",
|
||||
"tenantName": "一期演示企业",
|
||||
"status": "ACTIVE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client has order view permission",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:50.494Z",
|
||||
"durationMs": 47,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-21e5aee3-f3e8-478a-8b42-090fdca1045b, client-phase2-21e5aee3-f3e8-478a-8b42-090fdca1045b",
|
||||
"traceId": "91e0b8607b0543ceb398925db0014974",
|
||||
"evidence": {
|
||||
"permissionCount": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "platform fixture account login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:50.541Z",
|
||||
"durationMs": 332,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-1cd08967-d48a-4c56-b677-5eae43ae41b4, client-phase2-1cd08967-d48a-4c56-b677-5eae43ae41b4",
|
||||
"traceId": "d636678c16044fb481dc3ee6f91eac85",
|
||||
"evidence": {
|
||||
"username": "platform_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover current enterprise inbound fixtures",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:50.873Z",
|
||||
"durationMs": 56,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-2b6fab6e-3822-48b0-a2d0-c3c04462e1d9, client-phase2-2b6fab6e-3822-48b0-a2d0-c3c04462e1d9",
|
||||
"traceId": "66237af136a64590956bd80a14efdbc3",
|
||||
"evidence": {
|
||||
"total": "24",
|
||||
"statusCounts": {
|
||||
"WAIT_MEASURE|NOT_SUBMITTED|UNPRICED": 11,
|
||||
"MEASURING|NOT_SUBMITTED|UNPRICED": 9,
|
||||
"WAIT_SPLIT|APPROVED|UNPRICED": 1,
|
||||
"WAIT_SPLIT|APPROVED|CONFIRMED": 2,
|
||||
"WAIT_SPLIT|APPROVED|CALCULATED": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "terminal state filters find selected inbound",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:50.930Z",
|
||||
"durationMs": 41,
|
||||
"http": 200,
|
||||
"code": "A0400",
|
||||
"message": "入库流程状态不合法",
|
||||
"requestId": "client-phase2-e5286602-c8da-4400-ab2d-81d10f4e3133, client-phase2-e5286602-c8da-4400-ab2d-81d10f4e3133",
|
||||
"traceId": "1dd4924d8f7d460db2710e4587a4fb5b",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0400\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "load platform terminal inbound reference detail",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:50.971Z",
|
||||
"durationMs": 34,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-af43fb3f-192d-4bc1-af34-f9b97951ac66, client-phase2-af43fb3f-192d-4bc1-af34-f9b97951ac66",
|
||||
"traceId": "fba775ba7f4b41fc97c1bce6e9887a48",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170",
|
||||
"orderId": "2085909608158265345",
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "load four customer dimension weighting rules",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:51.005Z",
|
||||
"durationMs": 27,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-246b9ee9-0c01-40d2-bf1a-420ef94e8807, client-phase2-246b9ee9-0c01-40d2-bf1a-420ef94e8807",
|
||||
"traceId": "3828d98b3d804984bf734dee33c12e78",
|
||||
"evidence": {
|
||||
"tenantId": "10001",
|
||||
"rules": [
|
||||
{
|
||||
"boxType": "SMALL",
|
||||
"inner": [
|
||||
30,
|
||||
20,
|
||||
20
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
34,
|
||||
24,
|
||||
24
|
||||
],
|
||||
"volumeCbm": 0.02,
|
||||
"version": 0
|
||||
},
|
||||
{
|
||||
"boxType": "MEDIUM",
|
||||
"inner": [
|
||||
40,
|
||||
30,
|
||||
30
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
44,
|
||||
34,
|
||||
34
|
||||
],
|
||||
"volumeCbm": 0.051,
|
||||
"version": 0
|
||||
},
|
||||
{
|
||||
"boxType": "LARGE",
|
||||
"inner": [
|
||||
50,
|
||||
40,
|
||||
40
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
54,
|
||||
44,
|
||||
44
|
||||
],
|
||||
"volumeCbm": 0.105,
|
||||
"version": 0
|
||||
},
|
||||
{
|
||||
"boxType": "EXTRA_LARGE",
|
||||
"inner": [
|
||||
60,
|
||||
50,
|
||||
50
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
64,
|
||||
54,
|
||||
54
|
||||
],
|
||||
"volumeCbm": 0.187,
|
||||
"version": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "load approved terminal measurement detail",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:51.032Z",
|
||||
"durationMs": 34,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-09c6b6f8-a318-4dbc-bf46-e4089d74380b, client-phase2-09c6b6f8-a318-4dbc-bf46-e4089d74380b",
|
||||
"traceId": "571edcfd38a14099a7b4fae58ba20827",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170",
|
||||
"measurementId": "2085909625084358657",
|
||||
"measurementStatus": "APPROVED",
|
||||
"actualPackageCount": 4,
|
||||
"actualGrossWeightKg": 1383,
|
||||
"actualVolumeCbm": 0.1895,
|
||||
"volumeWeightKg": 31.647,
|
||||
"itemCount": 4,
|
||||
"weightResultCount": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "carton measurements contain complete traceable data",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:51.066Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"itemCount": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "carton volume and package aggregates are consistent",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:51.066Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"actualPackageCount": 4,
|
||||
"actualVolumeCbm": 0.1895,
|
||||
"volumeWeightKg": 31.647
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "confirmed weight results form an independent weight line",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:51.067Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"actualGrossWeightKg": 1383,
|
||||
"weightResultCount": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "carton billing volume uses current customer dimension weighting",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:51.067Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"measurementId": "2085909625084358657",
|
||||
"items": [
|
||||
{
|
||||
"itemNo": "B1",
|
||||
"measured": [
|
||||
10,
|
||||
10,
|
||||
10
|
||||
],
|
||||
"storedOuter": [
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"unitVolumeCbm": 0.001,
|
||||
"expected": {
|
||||
"boxType": "SMALL",
|
||||
"ruleVersion": 0,
|
||||
"outer": [
|
||||
34,
|
||||
24,
|
||||
24
|
||||
],
|
||||
"unitVolumeCbm": 0.02
|
||||
}
|
||||
},
|
||||
{
|
||||
"itemNo": "B2",
|
||||
"measured": [
|
||||
35,
|
||||
25,
|
||||
25
|
||||
],
|
||||
"storedOuter": [
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"unitVolumeCbm": 0.0219,
|
||||
"expected": {
|
||||
"boxType": "MEDIUM",
|
||||
"ruleVersion": 0,
|
||||
"outer": [
|
||||
44,
|
||||
34,
|
||||
34
|
||||
],
|
||||
"unitVolumeCbm": 0.051
|
||||
}
|
||||
},
|
||||
{
|
||||
"itemNo": "B3",
|
||||
"measured": [
|
||||
45,
|
||||
35,
|
||||
35
|
||||
],
|
||||
"storedOuter": [
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"unitVolumeCbm": 0.0552,
|
||||
"expected": {
|
||||
"boxType": "LARGE",
|
||||
"ruleVersion": 0,
|
||||
"outer": [
|
||||
54,
|
||||
44,
|
||||
44
|
||||
],
|
||||
"unitVolumeCbm": 0.105
|
||||
}
|
||||
},
|
||||
{
|
||||
"itemNo": "B4",
|
||||
"measured": [
|
||||
55,
|
||||
45,
|
||||
45
|
||||
],
|
||||
"storedOuter": [
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"unitVolumeCbm": 0.1114,
|
||||
"expected": {
|
||||
"boxType": "EXTRA_LARGE",
|
||||
"ruleVersion": 0,
|
||||
"outer": [
|
||||
64,
|
||||
54,
|
||||
54
|
||||
],
|
||||
"unitVolumeCbm": 0.187
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "B1 weighted unit volume: expected=0.02 actual=0.001"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover foreign terminal fixture for isolation",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:51.067Z",
|
||||
"durationMs": 73,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-b21ec988-cb8b-4ae4-b39e-dadbd2ccd053, client-phase2-b21ec988-cb8b-4ae4-b39e-dadbd2ccd053",
|
||||
"traceId": "7f4a471d30ec4e999996221cfe2132bf",
|
||||
"evidence": {
|
||||
"total": "264"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unfinished inbound billing remains unavailable",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:51.140Z",
|
||||
"durationMs": 21,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-6e172b49-5cc9-43a8-adb4-db3eb8a8249e, client-phase2-6e172b49-5cc9-43a8-adb4-db3eb8a8249e",
|
||||
"traceId": "811d8d7584024746810d8a102ac802c7",
|
||||
"evidence": {
|
||||
"orderId": "2085936562680954881",
|
||||
"processStatus": "WAIT_MEASURE",
|
||||
"feeStatus": "UNPRICED",
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unknown order inbound billing is rejected",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:51.161Z",
|
||||
"durationMs": 23,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "订单尚未生成入库单",
|
||||
"requestId": "client-phase2-65f794b5-0d0a-47c6-a2bd-5e60bb089f1a, client-phase2-65f794b5-0d0a-47c6-a2bd-5e60bb089f1a",
|
||||
"traceId": "460f16f1da514fd1908ef799b99c5b59",
|
||||
"evidence": {
|
||||
"orderId": 1,
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal inbound billing is visible to client",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:51.185Z",
|
||||
"durationMs": 31,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-d53a96f2-03ab-4cae-85b7-e1c9281a65cd, client-phase2-d53a96f2-03ab-4cae-85b7-e1c9281a65cd",
|
||||
"traceId": "64b66f21a54d487c87870e21cae84542",
|
||||
"evidence": {
|
||||
"rejectionCode": "A0404"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0404\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal billing aggregate contract",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:51.216Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published measurement summary matches approved platform snapshot",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:51.216Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published carton measurements match platform snapshot",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:51.216Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published carton volumes follow current weighting rules",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:51.216Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published weight results match confirmed platform weights",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:51.216Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "weight and volume billing lines are independently consistent",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:51.216Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published fee detail matches confirmed fee snapshot",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:51.216Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "client aggregate excludes platform internal collections",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:51.216Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-images",
|
||||
"name": "published measurement and weight image access",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T03:58:51.216Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-unified-orders",
|
||||
"name": "unified order list exposes phase-two terminal state",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:51.217Z",
|
||||
"durationMs": 54,
|
||||
"http": 200,
|
||||
"code": "S0503",
|
||||
"message": "统一订单履约摘要响应无效",
|
||||
"requestId": "client-phase2-d058f587-20be-4da0-be23-acd980d8c321, client-phase2-d058f587-20be-4da0-be23-acd980d8c321",
|
||||
"traceId": "170831ea21c4498ebfc7dd89299253de",
|
||||
"evidence": {},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"S0503\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-unified-orders",
|
||||
"name": "unified order detail exposes phase-two summary and timeline",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:51.271Z",
|
||||
"durationMs": 68,
|
||||
"http": 200,
|
||||
"code": "S0503",
|
||||
"message": "统一订单履约详情响应无效",
|
||||
"requestId": "client-phase2-e171f03a-d5c6-4c2d-aa07-034bf5af39b2, client-phase2-e171f03a-d5c6-4c2d-aa07-034bf5af39b2",
|
||||
"traceId": "b9f3af4512fe48568565428bc3eb894d",
|
||||
"evidence": {
|
||||
"timelineCount": 0
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"S0503\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-isolation",
|
||||
"name": "cross-enterprise terminal billing is rejected",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T03:58:51.339Z",
|
||||
"durationMs": 31,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "订单尚未生成入库单",
|
||||
"requestId": "client-phase2-f71f6d5b-056c-438c-9901-7d3f1260ffaa, client-phase2-f71f6d5b-056c-438c-9901-7d3f1260ffaa",
|
||||
"traceId": "592bd936d6ac467786e8516e2dc04aca",
|
||||
"evidence": {
|
||||
"orderId": "2085665774056833025",
|
||||
"tenantId": "2085308606829346818",
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,720 +0,0 @@
|
||||
{
|
||||
"marker": "20260808040123-ac558482",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T04:01:23.697Z",
|
||||
"completedAt": "2026-08-08T04:01:25.173Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"testAccount": {
|
||||
"username": "merchant_admin"
|
||||
},
|
||||
"expectedTerminalState": {
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
},
|
||||
"resources": {
|
||||
"tenantId": "10001",
|
||||
"terminalInboundId": "2085909619958919170",
|
||||
"terminalOrderId": "2085909608158265345",
|
||||
"terminalInboundCode": "RK-2085909608158265345",
|
||||
"terminalMeasurementId": "2085909625084358657",
|
||||
"pendingOrderId": "2085936562680954881",
|
||||
"foreignOrderId": "2085665774056833025",
|
||||
"measurementImageFileIds": [],
|
||||
"weightImageFileIds": []
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:23.698Z",
|
||||
"durationMs": 374,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-c2bf562d-ba94-492c-9c5a-6dcc85c59691, client-phase2-c2bf562d-ba94-492c-9c5a-6dcc85c59691",
|
||||
"traceId": "aa69c83dfc38421f85d35f13b762184d",
|
||||
"evidence": {
|
||||
"username": "merchant_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "load current enterprise profile",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.072Z",
|
||||
"durationMs": 44,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-71cbe220-8427-4a9c-9ad0-26c86a04f282, client-phase2-71cbe220-8427-4a9c-9ad0-26c86a04f282",
|
||||
"traceId": "fe85faa91a884d7da91cc3ecd3e02488",
|
||||
"evidence": {
|
||||
"tenantId": "10001",
|
||||
"tenantName": "一期演示企业",
|
||||
"status": "ACTIVE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client has order view permission",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.116Z",
|
||||
"durationMs": 39,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-9851092b-1d4e-404b-a87e-05d760b8ff55, client-phase2-9851092b-1d4e-404b-a87e-05d760b8ff55",
|
||||
"traceId": "cb524098d39e4210a907cb4ad1bb6c7d",
|
||||
"evidence": {
|
||||
"permissionCount": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "platform fixture account login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.155Z",
|
||||
"durationMs": 337,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-ee8a1641-2caa-43fd-ba94-7d9f5acbd1f4, client-phase2-ee8a1641-2caa-43fd-ba94-7d9f5acbd1f4",
|
||||
"traceId": "ff1506b27236453e993de6b0ca8d0fe0",
|
||||
"evidence": {
|
||||
"username": "platform_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover current enterprise inbound fixtures",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.492Z",
|
||||
"durationMs": 49,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-428e6f75-d11d-4870-b9b1-cbd1992691c7, client-phase2-428e6f75-d11d-4870-b9b1-cbd1992691c7",
|
||||
"traceId": "94100d651dcc4003a9a9dffcb4062085",
|
||||
"evidence": {
|
||||
"total": "24",
|
||||
"statusCounts": {
|
||||
"WAIT_MEASURE|NOT_SUBMITTED|UNPRICED": 11,
|
||||
"MEASURING|NOT_SUBMITTED|UNPRICED": 9,
|
||||
"WAIT_SPLIT|APPROVED|UNPRICED": 1,
|
||||
"WAIT_SPLIT|APPROVED|CONFIRMED": 2,
|
||||
"WAIT_SPLIT|APPROVED|CALCULATED": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "terminal state filters find selected inbound",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.542Z",
|
||||
"durationMs": 32,
|
||||
"http": 200,
|
||||
"code": "A0400",
|
||||
"message": "入库流程状态不合法",
|
||||
"requestId": "client-phase2-bc301e41-9e94-4db0-aa3f-11db9d8546bf, client-phase2-bc301e41-9e94-4db0-aa3f-11db9d8546bf",
|
||||
"traceId": "227598eb9cf1498a811234fc0bd70cba",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0400\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "load platform terminal inbound reference detail",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.574Z",
|
||||
"durationMs": 38,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-6f4b3484-1ad4-4883-b54c-5b045841d276, client-phase2-6f4b3484-1ad4-4883-b54c-5b045841d276",
|
||||
"traceId": "036791794aed496e91f592927264d5d6",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170",
|
||||
"orderId": "2085909608158265345",
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "load four customer dimension weighting rules",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.613Z",
|
||||
"durationMs": 40,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-948bee77-2d4a-421f-9b91-abfa8c1604cc, client-phase2-948bee77-2d4a-421f-9b91-abfa8c1604cc",
|
||||
"traceId": "b548c55de64f40928fd877bf93e9db91",
|
||||
"evidence": {
|
||||
"tenantId": "10001",
|
||||
"rules": [
|
||||
{
|
||||
"boxType": "SMALL",
|
||||
"inner": [
|
||||
30,
|
||||
20,
|
||||
20
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
34,
|
||||
24,
|
||||
24
|
||||
],
|
||||
"volumeCbm": 0.02,
|
||||
"version": 0
|
||||
},
|
||||
{
|
||||
"boxType": "MEDIUM",
|
||||
"inner": [
|
||||
40,
|
||||
30,
|
||||
30
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
44,
|
||||
34,
|
||||
34
|
||||
],
|
||||
"volumeCbm": 0.051,
|
||||
"version": 0
|
||||
},
|
||||
{
|
||||
"boxType": "LARGE",
|
||||
"inner": [
|
||||
50,
|
||||
40,
|
||||
40
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
54,
|
||||
44,
|
||||
44
|
||||
],
|
||||
"volumeCbm": 0.105,
|
||||
"version": 0
|
||||
},
|
||||
{
|
||||
"boxType": "EXTRA_LARGE",
|
||||
"inner": [
|
||||
60,
|
||||
50,
|
||||
50
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
64,
|
||||
54,
|
||||
54
|
||||
],
|
||||
"volumeCbm": 0.187,
|
||||
"version": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "load approved terminal measurement detail",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.653Z",
|
||||
"durationMs": 33,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-04797e36-5bc6-4579-ab1c-78b29aafbec5, client-phase2-04797e36-5bc6-4579-ab1c-78b29aafbec5",
|
||||
"traceId": "94d316356db04659a3fb5a7f368825e2",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170",
|
||||
"measurementId": "2085909625084358657",
|
||||
"measurementStatus": "APPROVED",
|
||||
"actualPackageCount": 4,
|
||||
"actualGrossWeightKg": 1383,
|
||||
"actualVolumeCbm": 0.1895,
|
||||
"volumeWeightKg": 31.647,
|
||||
"itemCount": 4,
|
||||
"weightResultCount": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "carton measurements contain complete traceable data",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.687Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"itemCount": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "carton volume and package aggregates are consistent",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.687Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"actualPackageCount": 4,
|
||||
"actualVolumeCbm": 0.1895,
|
||||
"volumeWeightKg": 31.647
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "confirmed weight results form an independent weight line",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.687Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"actualGrossWeightKg": 1383,
|
||||
"weightResultCount": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "carton billing volume uses current customer dimension weighting",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.687Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"measurementId": "2085909625084358657",
|
||||
"items": [
|
||||
{
|
||||
"itemNo": "B1",
|
||||
"measured": [
|
||||
10,
|
||||
10,
|
||||
10
|
||||
],
|
||||
"storedOuter": [
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"unitVolumeCbm": 0.001,
|
||||
"expected": {
|
||||
"boxType": "SMALL",
|
||||
"ruleVersion": 0,
|
||||
"outer": [
|
||||
34,
|
||||
24,
|
||||
24
|
||||
],
|
||||
"unitVolumeCbm": 0.02
|
||||
}
|
||||
},
|
||||
{
|
||||
"itemNo": "B2",
|
||||
"measured": [
|
||||
35,
|
||||
25,
|
||||
25
|
||||
],
|
||||
"storedOuter": [
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"unitVolumeCbm": 0.0219,
|
||||
"expected": {
|
||||
"boxType": "MEDIUM",
|
||||
"ruleVersion": 0,
|
||||
"outer": [
|
||||
44,
|
||||
34,
|
||||
34
|
||||
],
|
||||
"unitVolumeCbm": 0.051
|
||||
}
|
||||
},
|
||||
{
|
||||
"itemNo": "B3",
|
||||
"measured": [
|
||||
45,
|
||||
35,
|
||||
35
|
||||
],
|
||||
"storedOuter": [
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"unitVolumeCbm": 0.0552,
|
||||
"expected": {
|
||||
"boxType": "LARGE",
|
||||
"ruleVersion": 0,
|
||||
"outer": [
|
||||
54,
|
||||
44,
|
||||
44
|
||||
],
|
||||
"unitVolumeCbm": 0.105
|
||||
}
|
||||
},
|
||||
{
|
||||
"itemNo": "B4",
|
||||
"measured": [
|
||||
55,
|
||||
45,
|
||||
45
|
||||
],
|
||||
"storedOuter": [
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"unitVolumeCbm": 0.1114,
|
||||
"expected": {
|
||||
"boxType": "EXTRA_LARGE",
|
||||
"ruleVersion": 0,
|
||||
"outer": [
|
||||
64,
|
||||
54,
|
||||
54
|
||||
],
|
||||
"unitVolumeCbm": 0.187
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "B1 weighted unit volume: expected=0.02 actual=0.001"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-security",
|
||||
"name": "client cannot read platform measurement workspace directly",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.687Z",
|
||||
"durationMs": 19,
|
||||
"http": 403,
|
||||
"code": "A0403",
|
||||
"message": "无权访问该资源",
|
||||
"requestId": "client-phase2-2c40c728-2f36-45bc-a5f2-3d9d3e78e115",
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"rejectionCode": "A0403"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-security",
|
||||
"name": "client cannot bypass billing publication to read platform image",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.706Z",
|
||||
"durationMs": 28,
|
||||
"http": 403,
|
||||
"code": "A0403",
|
||||
"message": "无权访问该资源",
|
||||
"requestId": "client-phase2-5cb81397-a261-4175-a4c2-03928f896d06",
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"fileId": "2085909625048727553",
|
||||
"rejectionCode": "A0403"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover foreign terminal fixture for isolation",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.734Z",
|
||||
"durationMs": 183,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-df15b1c3-fa79-49c7-a6bb-85f9813dc7a8, client-phase2-df15b1c3-fa79-49c7-a6bb-85f9813dc7a8",
|
||||
"traceId": "686399932ca6466980a6261d0fd96c6b",
|
||||
"evidence": {
|
||||
"total": "264"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unfinished inbound billing remains unavailable",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.917Z",
|
||||
"durationMs": 33,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-97d45ca9-8c49-4805-bea7-bf3f95118039, client-phase2-97d45ca9-8c49-4805-bea7-bf3f95118039",
|
||||
"traceId": "4571d819f0f448cca655959f83f89591",
|
||||
"evidence": {
|
||||
"orderId": "2085936562680954881",
|
||||
"processStatus": "WAIT_MEASURE",
|
||||
"feeStatus": "UNPRICED",
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unknown order inbound billing is rejected",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.950Z",
|
||||
"durationMs": 31,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "订单尚未生成入库单",
|
||||
"requestId": "client-phase2-cef1ee54-53c9-47e3-983f-40ca571be3ae, client-phase2-cef1ee54-53c9-47e3-983f-40ca571be3ae",
|
||||
"traceId": "44ab0a79494144d6b7dc773ae32c863a",
|
||||
"evidence": {
|
||||
"orderId": 1,
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal inbound billing is visible to client",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:24.981Z",
|
||||
"durationMs": 28,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-59da9648-3227-43e1-b3a9-b07e9d5cd0ed, client-phase2-59da9648-3227-43e1-b3a9-b07e9d5cd0ed",
|
||||
"traceId": "1535b144e3324ac7baa1ccda98a86760",
|
||||
"evidence": {
|
||||
"rejectionCode": "A0404"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0404\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal billing aggregate contract",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T04:01:25.009Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published measurement summary matches approved platform snapshot",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T04:01:25.009Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published carton measurements match platform snapshot",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T04:01:25.009Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published carton volumes follow current weighting rules",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T04:01:25.009Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published weight results match confirmed platform weights",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T04:01:25.009Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "weight and volume billing lines are independently consistent",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T04:01:25.009Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published fee detail matches confirmed fee snapshot",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T04:01:25.009Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "client aggregate excludes platform internal collections",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T04:01:25.009Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-images",
|
||||
"name": "published measurement and weight image access",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T04:01:25.009Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-unified-orders",
|
||||
"name": "unified order list exposes phase-two terminal state",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:25.009Z",
|
||||
"durationMs": 55,
|
||||
"http": 200,
|
||||
"code": "S0503",
|
||||
"message": "统一订单履约摘要响应无效",
|
||||
"requestId": "client-phase2-df76ddb8-885c-4045-ad02-f79ecb50472a, client-phase2-df76ddb8-885c-4045-ad02-f79ecb50472a",
|
||||
"traceId": "6c43dc53e7424317865f9b854d46bea1",
|
||||
"evidence": {},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"S0503\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-unified-orders",
|
||||
"name": "unified order detail exposes phase-two summary and timeline",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:25.064Z",
|
||||
"durationMs": 75,
|
||||
"http": 200,
|
||||
"code": "S0503",
|
||||
"message": "统一订单履约详情响应无效",
|
||||
"requestId": "client-phase2-8fb3c470-b24d-4583-9cf8-142c3b52a0b8, client-phase2-8fb3c470-b24d-4583-9cf8-142c3b52a0b8",
|
||||
"traceId": "20784521f0004e3cad30f95926b4e00c",
|
||||
"evidence": {
|
||||
"timelineCount": 0
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"S0503\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-isolation",
|
||||
"name": "cross-enterprise terminal billing is rejected",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T04:01:25.139Z",
|
||||
"durationMs": 34,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "订单尚未生成入库单",
|
||||
"requestId": "client-phase2-56a5479b-88ed-488f-acb0-fa857b95b93c, client-phase2-56a5479b-88ed-488f-acb0-fa857b95b93c",
|
||||
"traceId": "9eeec0b7a79448c5a24bdb54530682d6",
|
||||
"evidence": {
|
||||
"orderId": "2085665774056833025",
|
||||
"tenantId": "2085308606829346818",
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
{
|
||||
"marker": "20260808061916-a8e93e65",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T06:19:16.413Z",
|
||||
"completedAt": "2026-08-08T06:19:17.127Z",
|
||||
"success": false,
|
||||
"fatal": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"S0503\""
|
||||
},
|
||||
"testAccount": {
|
||||
"username": "merchant_admin"
|
||||
},
|
||||
"expectedTerminalState": {
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
},
|
||||
"resources": {
|
||||
"tenantId": null,
|
||||
"terminalInboundId": null,
|
||||
"terminalOrderId": null,
|
||||
"terminalInboundCode": null,
|
||||
"terminalMeasurementId": null,
|
||||
"pendingOrderId": null,
|
||||
"foreignOrderId": null,
|
||||
"measurementImageFileIds": [],
|
||||
"weightImageFileIds": []
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client login",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:19:16.414Z",
|
||||
"durationMs": 712,
|
||||
"http": 200,
|
||||
"code": "S0503",
|
||||
"message": "IAM 权限服务暂时不可用",
|
||||
"requestId": "client-phase2-899a7f01-b4cb-42b3-b4cd-6628a3bff7ec, client-phase2-899a7f01-b4cb-42b3-b4cd-6628a3bff7ec",
|
||||
"traceId": "58151ea8e6f946debc1050bafd97dcaa",
|
||||
"evidence": {
|
||||
"username": "merchant_admin"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"S0503\""
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,727 +0,0 @@
|
||||
{
|
||||
"marker": "20260808062035-760e776d",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T06:20:35.779Z",
|
||||
"completedAt": "2026-08-08T06:20:38.048Z",
|
||||
"success": false,
|
||||
"fatal": null,
|
||||
"testAccount": {
|
||||
"username": "merchant_admin"
|
||||
},
|
||||
"expectedTerminalState": {
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
},
|
||||
"resources": {
|
||||
"tenantId": "10001",
|
||||
"terminalInboundId": "2085909619958919170",
|
||||
"terminalOrderId": "2085909608158265345",
|
||||
"terminalInboundCode": "RK-2085909608158265345",
|
||||
"terminalMeasurementId": "2085909625084358657",
|
||||
"pendingOrderId": "2085962256093872130",
|
||||
"foreignOrderId": "2085665774056833025",
|
||||
"measurementImageFileIds": [],
|
||||
"weightImageFileIds": []
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:35.781Z",
|
||||
"durationMs": 412,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-2a854847-f135-4c48-9f38-4ebd134847cd, client-phase2-2a854847-f135-4c48-9f38-4ebd134847cd",
|
||||
"traceId": "544367752d7e438d906928bd2f1c13ca",
|
||||
"evidence": {
|
||||
"username": "merchant_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "load current enterprise profile",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:36.193Z",
|
||||
"durationMs": 45,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-ba9836bc-1ee7-4169-80de-81619ea930f0, client-phase2-ba9836bc-1ee7-4169-80de-81619ea930f0",
|
||||
"traceId": "ee177b1b0bbb47bb80a9d885024b6f1b",
|
||||
"evidence": {
|
||||
"tenantId": "10001",
|
||||
"tenantName": "一期演示企业",
|
||||
"status": "ACTIVE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-session",
|
||||
"name": "client has order view permission",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:36.238Z",
|
||||
"durationMs": 44,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-79e2fae4-9149-4907-969a-c9e432b09dbf, client-phase2-79e2fae4-9149-4907-969a-c9e432b09dbf",
|
||||
"traceId": "db355c884ffc4878b5df63be012984f7",
|
||||
"evidence": {
|
||||
"permissionCount": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "platform fixture account login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:36.283Z",
|
||||
"durationMs": 342,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-4076b5e9-01aa-4ae6-b5a7-be519e32e59a, client-phase2-4076b5e9-01aa-4ae6-b5a7-be519e32e59a",
|
||||
"traceId": "8206fa371a274e19b4ed37aa57d00d6f",
|
||||
"evidence": {
|
||||
"username": "platform_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover current enterprise inbound fixtures",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:36.625Z",
|
||||
"durationMs": 85,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-7428b82e-bf10-4c31-a118-5c14c766ade0, client-phase2-7428b82e-bf10-4c31-a118-5c14c766ade0",
|
||||
"traceId": "f24ae5dcddb446d1b88dd32c5faee5d6",
|
||||
"evidence": {
|
||||
"total": "38",
|
||||
"statusCounts": {
|
||||
"INBOUNDED|APPROVED|UNPRICED": 8,
|
||||
"MEASURING|NOT_SUBMITTED|UNPRICED": 14,
|
||||
"WAIT_MEASURE|NOT_SUBMITTED|UNPRICED": 12,
|
||||
"WAIT_SPLIT|APPROVED|UNPRICED": 1,
|
||||
"WAIT_SPLIT|APPROVED|CONFIRMED": 2,
|
||||
"WAIT_SPLIT|APPROVED|CALCULATED": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "terminal state filters find selected inbound",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:36.711Z",
|
||||
"durationMs": 48,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-9ef014fe-ef45-4dbb-94b7-d931fc10b47d, client-phase2-9ef014fe-ef45-4dbb-94b7-d931fc10b47d",
|
||||
"traceId": "4c52bbc80b4f4ae49022d074eff854a5",
|
||||
"evidence": {
|
||||
"total": "2",
|
||||
"inboundId": "2085909619958919170"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "load platform terminal inbound reference detail",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:36.759Z",
|
||||
"durationMs": 38,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-536ff03a-2233-405a-8ac0-28cafa13e7fc, client-phase2-536ff03a-2233-405a-8ac0-28cafa13e7fc",
|
||||
"traceId": "b6fc5ba4288b4361b8d0a85566ab21bb",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170",
|
||||
"orderId": "2085909608158265345",
|
||||
"processStatus": "WAIT_SPLIT",
|
||||
"measureReviewStatus": "APPROVED",
|
||||
"feeStatus": "CONFIRMED"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "load four customer dimension weighting rules",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:36.797Z",
|
||||
"durationMs": 40,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-92588486-fed5-41fb-9322-a67416fdb478, client-phase2-92588486-fed5-41fb-9322-a67416fdb478",
|
||||
"traceId": "b225b9bcb92d46fd9502eef48596a4f7",
|
||||
"evidence": {
|
||||
"tenantId": "10001",
|
||||
"rules": [
|
||||
{
|
||||
"boxType": "SMALL",
|
||||
"inner": [
|
||||
30,
|
||||
20,
|
||||
20
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
34,
|
||||
24,
|
||||
24
|
||||
],
|
||||
"volumeCbm": 0.02,
|
||||
"version": 0
|
||||
},
|
||||
{
|
||||
"boxType": "MEDIUM",
|
||||
"inner": [
|
||||
40,
|
||||
30,
|
||||
30
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
44,
|
||||
34,
|
||||
34
|
||||
],
|
||||
"volumeCbm": 0.051,
|
||||
"version": 0
|
||||
},
|
||||
{
|
||||
"boxType": "LARGE",
|
||||
"inner": [
|
||||
50,
|
||||
40,
|
||||
40
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
54,
|
||||
44,
|
||||
44
|
||||
],
|
||||
"volumeCbm": 0.105,
|
||||
"version": 0
|
||||
},
|
||||
{
|
||||
"boxType": "EXTRA_LARGE",
|
||||
"inner": [
|
||||
60,
|
||||
50,
|
||||
50
|
||||
],
|
||||
"edgeAdditionCm": 2,
|
||||
"outer": [
|
||||
64,
|
||||
54,
|
||||
54
|
||||
],
|
||||
"volumeCbm": 0.187,
|
||||
"version": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "load approved terminal measurement detail",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:36.837Z",
|
||||
"durationMs": 38,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-fc3f4698-b49b-4f3f-b946-557fdc250803, client-phase2-fc3f4698-b49b-4f3f-b946-557fdc250803",
|
||||
"traceId": "66371b88f5ba4511824b947163518393",
|
||||
"evidence": {
|
||||
"inboundId": "2085909619958919170",
|
||||
"measurementId": "2085909625084358657",
|
||||
"measurementStatus": "APPROVED",
|
||||
"actualPackageCount": 4,
|
||||
"actualGrossWeightKg": 1383,
|
||||
"actualVolumeCbm": 0.1895,
|
||||
"volumeWeightKg": 31.647,
|
||||
"itemCount": 4,
|
||||
"weightResultCount": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "carton measurements contain complete traceable data",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:36.875Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"itemCount": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "carton volume and package aggregates are consistent",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:36.875Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"actualPackageCount": 4,
|
||||
"actualVolumeCbm": 0.1895,
|
||||
"volumeWeightKg": 31.647
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "confirmed weight results form an independent weight line",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:36.875Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"actualGrossWeightKg": 1383,
|
||||
"weightResultCount": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-measurement-fixture",
|
||||
"name": "carton billing volume uses current customer dimension weighting",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:36.876Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": null,
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"measurementId": "2085909625084358657",
|
||||
"items": [
|
||||
{
|
||||
"itemNo": "B1",
|
||||
"measured": [
|
||||
10,
|
||||
10,
|
||||
10
|
||||
],
|
||||
"storedOuter": [
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"unitVolumeCbm": 0.001,
|
||||
"expected": {
|
||||
"boxType": "SMALL",
|
||||
"ruleVersion": 0,
|
||||
"outer": [
|
||||
34,
|
||||
24,
|
||||
24
|
||||
],
|
||||
"unitVolumeCbm": 0.02
|
||||
}
|
||||
},
|
||||
{
|
||||
"itemNo": "B2",
|
||||
"measured": [
|
||||
35,
|
||||
25,
|
||||
25
|
||||
],
|
||||
"storedOuter": [
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"unitVolumeCbm": 0.0219,
|
||||
"expected": {
|
||||
"boxType": "MEDIUM",
|
||||
"ruleVersion": 0,
|
||||
"outer": [
|
||||
44,
|
||||
34,
|
||||
34
|
||||
],
|
||||
"unitVolumeCbm": 0.051
|
||||
}
|
||||
},
|
||||
{
|
||||
"itemNo": "B3",
|
||||
"measured": [
|
||||
45,
|
||||
35,
|
||||
35
|
||||
],
|
||||
"storedOuter": [
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"unitVolumeCbm": 0.0552,
|
||||
"expected": {
|
||||
"boxType": "LARGE",
|
||||
"ruleVersion": 0,
|
||||
"outer": [
|
||||
54,
|
||||
44,
|
||||
44
|
||||
],
|
||||
"unitVolumeCbm": 0.105
|
||||
}
|
||||
},
|
||||
{
|
||||
"itemNo": "B4",
|
||||
"measured": [
|
||||
55,
|
||||
45,
|
||||
45
|
||||
],
|
||||
"storedOuter": [
|
||||
null,
|
||||
null,
|
||||
null
|
||||
],
|
||||
"unitVolumeCbm": 0.1114,
|
||||
"expected": {
|
||||
"boxType": "EXTRA_LARGE",
|
||||
"ruleVersion": 0,
|
||||
"outer": [
|
||||
64,
|
||||
54,
|
||||
54
|
||||
],
|
||||
"unitVolumeCbm": 0.187
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "B1 weighted unit volume: expected=0.02 actual=0.001"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-security",
|
||||
"name": "client cannot read platform measurement workspace directly",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:36.876Z",
|
||||
"durationMs": 25,
|
||||
"http": 403,
|
||||
"code": "A0403",
|
||||
"message": "无权访问该资源",
|
||||
"requestId": "client-phase2-9108c904-ee43-40c2-bc11-288455d4c191",
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"rejectionCode": "A0403"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-security",
|
||||
"name": "client cannot bypass billing publication to read platform image",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:36.901Z",
|
||||
"durationMs": 31,
|
||||
"http": 403,
|
||||
"code": "A0403",
|
||||
"message": "无权访问该资源",
|
||||
"requestId": "client-phase2-1a11b1f0-afd4-4091-b52e-2a2fa1006fdf",
|
||||
"traceId": null,
|
||||
"evidence": {
|
||||
"fileId": "2085909625048727553",
|
||||
"rejectionCode": "A0403"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-fixture",
|
||||
"name": "discover foreign terminal fixture for isolation",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:36.932Z",
|
||||
"durationMs": 113,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-46e3bf79-d804-409a-ad00-ebc36c50bd40, client-phase2-46e3bf79-d804-409a-ad00-ebc36c50bd40",
|
||||
"traceId": "2983ab506e59449cb57e342ab58ccb20",
|
||||
"evidence": {
|
||||
"total": "278"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unfinished inbound billing remains unavailable",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:37.045Z",
|
||||
"durationMs": 43,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库费用尚未由客服审核并发布",
|
||||
"requestId": "client-phase2-c50771d6-4041-4eb1-984e-a4a0885bf432, client-phase2-c50771d6-4041-4eb1-984e-a4a0885bf432",
|
||||
"traceId": "5bff6ee6f75242d9abdc7649c3202911",
|
||||
"evidence": {
|
||||
"orderId": "2085962256093872130",
|
||||
"processStatus": "INBOUNDED",
|
||||
"feeStatus": "UNPRICED",
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-visibility",
|
||||
"name": "unknown order inbound billing is rejected",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:37.089Z",
|
||||
"durationMs": 45,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "订单尚未生成入库单",
|
||||
"requestId": "client-phase2-4ab809c7-ff3b-43f8-a6a9-a1cb4fa2367d, client-phase2-4ab809c7-ff3b-43f8-a6a9-a1cb4fa2367d",
|
||||
"traceId": "08541a78635746319916499da91df6a9",
|
||||
"evidence": {
|
||||
"orderId": 1,
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal inbound billing is visible to client",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:37.134Z",
|
||||
"durationMs": 84,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "入库运费明细尚未发布",
|
||||
"requestId": "client-phase2-0283d6e1-1ed2-4480-8a02-880459fb5f5c, client-phase2-0283d6e1-1ed2-4480-8a02-880459fb5f5c",
|
||||
"traceId": "d6edff82e4834ec6ba483ff29b86e244",
|
||||
"evidence": {
|
||||
"rejectionCode": "A0404"
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "business code: expected=\"200\" actual=\"A0404\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "terminal billing aggregate contract",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T06:20:37.219Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published measurement summary matches approved platform snapshot",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T06:20:37.219Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published carton measurements match platform snapshot",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T06:20:37.219Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published carton volumes follow current weighting rules",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T06:20:37.219Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published weight results match confirmed platform weights",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T06:20:37.219Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "weight and volume billing lines are independently consistent",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T06:20:37.219Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "published fee detail matches confirmed fee snapshot",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T06:20:37.219Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-billing",
|
||||
"name": "client aggregate excludes platform internal collections",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T06:20:37.219Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-client-images",
|
||||
"name": "published measurement and weight image access",
|
||||
"passed": true,
|
||||
"skipped": true,
|
||||
"startedAt": "2026-08-08T06:20:37.219Z",
|
||||
"durationMs": 0,
|
||||
"http": null,
|
||||
"code": null,
|
||||
"message": "Terminal billing endpoint did not return a visible aggregate",
|
||||
"requestId": null,
|
||||
"traceId": null,
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "phase2-unified-orders",
|
||||
"name": "unified order list exposes phase-two terminal state",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:37.219Z",
|
||||
"durationMs": 711,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-02fe53ec-c024-42b6-841b-22c145879272, client-phase2-02fe53ec-c024-42b6-841b-22c145879272",
|
||||
"traceId": "75cd022c9f6f43e4b5595575753b3597",
|
||||
"evidence": {
|
||||
"orderId": "2085909608158265345",
|
||||
"mainStatus": "WAIT_SPLIT",
|
||||
"inboundId": "2085909619958919170",
|
||||
"measurementReviewStatus": "APPROVED",
|
||||
"actualGrossWeightKg": 1383,
|
||||
"actualVolumeCbm": 0.1895
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "unified main status: expected=\"INBOUNDED\" actual=\"WAIT_SPLIT\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-unified-orders",
|
||||
"name": "unified order detail exposes phase-two summary and timeline",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:37.930Z",
|
||||
"durationMs": 91,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-phase2-ad957e7f-9520-40cc-a1c9-30ec978f058e, client-phase2-ad957e7f-9520-40cc-a1c9-30ec978f058e",
|
||||
"traceId": "f5f613e3459e427aac9f24e80baedec4",
|
||||
"evidence": {
|
||||
"orderId": "2085909608158265345",
|
||||
"mainStatus": "WAIT_SPLIT",
|
||||
"timelineCount": 5
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "unified main status: expected=\"INBOUNDED\" actual=\"WAIT_SPLIT\""
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "phase2-isolation",
|
||||
"name": "cross-enterprise terminal billing is rejected",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T06:20:38.021Z",
|
||||
"durationMs": 27,
|
||||
"http": 200,
|
||||
"code": "A0404",
|
||||
"message": "订单尚未生成入库单",
|
||||
"requestId": "client-phase2-16f5e503-bb89-4b9d-8992-038d489dec0c, client-phase2-16f5e503-bb89-4b9d-8992-038d489dec0c",
|
||||
"traceId": "30a61022096b48a299edf68a59e455a9",
|
||||
"evidence": {
|
||||
"orderId": "2085665774056833025",
|
||||
"tenantId": "2085308606829346818",
|
||||
"rejectionCode": "A0404"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,771 +0,0 @@
|
||||
{
|
||||
"marker": "20260808014530-5a43cd64",
|
||||
"gateway": "http://8.163.30.128:9000",
|
||||
"generatedAt": "2026-08-08T01:45:30.640Z",
|
||||
"completedAt": "2026-08-08T01:45:33.768Z",
|
||||
"success": false,
|
||||
"fatal": {
|
||||
"name": "Error",
|
||||
"message": "system role is required"
|
||||
},
|
||||
"testAccount": {
|
||||
"username": "client_20260808014530_c35db3",
|
||||
"companyName": "客户端全链路测试企业-20260808014530-5a43cd64",
|
||||
"legalPhone": "13953530641"
|
||||
},
|
||||
"resources": {
|
||||
"tenantId": "2085905207086665730",
|
||||
"membershipId": "2085905207086665732",
|
||||
"reviewId": "2085905211088031745",
|
||||
"productImageFileId": "2085905209935593474",
|
||||
"receivingWarehouseId": "193000000000200001",
|
||||
"destinationWarehouseId": "193000000000000001",
|
||||
"channelCode": "EXX_RAIL_NY",
|
||||
"roleId": null,
|
||||
"testMembershipId": null,
|
||||
"orderIds": [
|
||||
"2085905210350829570"
|
||||
]
|
||||
},
|
||||
"steps": [
|
||||
{
|
||||
"module": "registration",
|
||||
"name": "enterprise self-registration",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:30.641Z",
|
||||
"durationMs": 385,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-c7794425-ab36-4269-a9b5-f5b4f86a3137, client-e2e-c7794425-ab36-4269-a9b5-f5b4f86a3137",
|
||||
"traceId": "1d05138199574e85959dc74fd1a1b591",
|
||||
"evidence": {
|
||||
"tenantId": "2085905207086665730",
|
||||
"membershipId": "2085905207086665732",
|
||||
"tenantStatus": "PROFILE_REQUIRED",
|
||||
"nextStep": "LOGIN_AND_COMPLETE_QUALIFICATIONS"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "registration",
|
||||
"name": "duplicate username is rejected",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.026Z",
|
||||
"durationMs": 34,
|
||||
"http": 200,
|
||||
"code": "A0409",
|
||||
"message": "Username already exists",
|
||||
"requestId": "client-e2e-fb418bb4-bc3b-46c9-9142-d1ee80c3e2c4, client-e2e-fb418bb4-bc3b-46c9-9142-d1ee80c3e2c4",
|
||||
"traceId": "3872c33ca42b4df2aec314d50ffbd617",
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "registration",
|
||||
"name": "login before approval",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.061Z",
|
||||
"durationMs": 342,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-3b1567e4-778b-40f8-9d2c-c1a9305f5a15, client-e2e-3b1567e4-778b-40f8-9d2c-c1a9305f5a15",
|
||||
"traceId": "77778d9ae75d4796ac6091eff4419277",
|
||||
"evidence": {
|
||||
"username": "client_20260808014530_c35db3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "registration",
|
||||
"name": "profile is incomplete before qualifications",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.403Z",
|
||||
"durationMs": 28,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-fdea7af8-745a-4164-8ff1-f151a514dbb8, client-e2e-fdea7af8-745a-4164-8ff1-f151a514dbb8",
|
||||
"traceId": "6bcc058353464d868420c6200d381ddb",
|
||||
"evidence": {
|
||||
"id": "2085905207086665730",
|
||||
"status": "PROFILE_REQUIRED",
|
||||
"tenantName": "客户端全链路测试企业-20260808014530-5a43cd64"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "pre-approval-master-data",
|
||||
"name": "load active domestic receiving warehouses",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.431Z",
|
||||
"durationMs": 32,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-5da4d470-0c10-4c49-8e73-8e252fd63dc6, client-e2e-5da4d470-0c10-4c49-8e73-8e252fd63dc6",
|
||||
"traceId": "ad9e049be6934a08aad12c88a2fdb252",
|
||||
"evidence": {
|
||||
"total": "2",
|
||||
"warehouseCount": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "pre-approval-master-data",
|
||||
"name": "load active FBA destination warehouses",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.463Z",
|
||||
"durationMs": 73,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-67d8254c-9b79-42d5-8df5-48df4b81d931, client-e2e-67d8254c-9b79-42d5-8df5-48df4b81d931",
|
||||
"traceId": "e24f5f82f419469e877a29b4f696a18f",
|
||||
"evidence": {
|
||||
"total": "253",
|
||||
"warehouseCount": 200
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "pre-approval-master-data",
|
||||
"name": "load receiving warehouse detail",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.536Z",
|
||||
"durationMs": 30,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-b8d9aacc-fef5-40ee-8e77-7784ef3db66f, client-e2e-b8d9aacc-fef5-40ee-8e77-7784ef3db66f",
|
||||
"traceId": "9d954f424b504b7bb978f01684cdf8ee",
|
||||
"evidence": {
|
||||
"id": "193000000000200001",
|
||||
"name": "义乌仓"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "pre-approval-master-data",
|
||||
"name": "load active pricing channels",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.567Z",
|
||||
"durationMs": 42,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-41874113-4ffb-4523-aa2e-dd1aac001f30, client-e2e-41874113-4ffb-4523-aa2e-dd1aac001f30",
|
||||
"traceId": "325f2af177f64eefac20083ee9840d03",
|
||||
"evidence": {
|
||||
"channels": [
|
||||
{
|
||||
"channelCode": "EXX_RAIL_NY",
|
||||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||||
"pricingTaxModes": [
|
||||
"TAX_INCLUDED",
|
||||
"TAX_EXCLUDED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"channelCode": "EXX_TRUCK",
|
||||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||||
"pricingTaxModes": [
|
||||
"TAX_INCLUDED",
|
||||
"TAX_EXCLUDED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"channelCode": "HEDE_PARCEL",
|
||||
"priceModel": "REGION_WEIGHT_TIER",
|
||||
"pricingTaxModes": [
|
||||
"TAX_INCLUDED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"channelCode": "HEDE_TRUCK",
|
||||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||||
"pricingTaxModes": [
|
||||
"TAX_INCLUDED",
|
||||
"TAX_EXCLUDED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"channelCode": "MATSON_CLX_PARCEL",
|
||||
"priceModel": "REGION_WEIGHT_TIER",
|
||||
"pricingTaxModes": [
|
||||
"TAX_INCLUDED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"channelCode": "MATSON_CLX_TRUCK",
|
||||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||||
"pricingTaxModes": [
|
||||
"TAX_INCLUDED",
|
||||
"TAX_EXCLUDED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"channelCode": "MATSON_MAX_PARCEL",
|
||||
"priceModel": "REGION_WEIGHT_TIER",
|
||||
"pricingTaxModes": [
|
||||
"TAX_INCLUDED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"channelCode": "MATSON_MAX_TRUCK",
|
||||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||||
"pricingTaxModes": [
|
||||
"TAX_INCLUDED",
|
||||
"TAX_EXCLUDED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"channelCode": "OA_CHICAGO_RAIL",
|
||||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||||
"pricingTaxModes": [
|
||||
"TAX_INCLUDED",
|
||||
"TAX_EXCLUDED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"channelCode": "OA_HOUSTON_TRUCK",
|
||||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||||
"pricingTaxModes": [
|
||||
"TAX_INCLUDED",
|
||||
"TAX_EXCLUDED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"channelCode": "OA_LA_FULL_TRUCK",
|
||||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||||
"pricingTaxModes": [
|
||||
"TAX_INCLUDED",
|
||||
"TAX_EXCLUDED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"channelCode": "OA_LA_TRUCK",
|
||||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||||
"pricingTaxModes": [
|
||||
"TAX_INCLUDED",
|
||||
"TAX_EXCLUDED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"channelCode": "OA_NEW_YORK_TRUCK",
|
||||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||||
"pricingTaxModes": [
|
||||
"TAX_INCLUDED",
|
||||
"TAX_EXCLUDED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"channelCode": "OA_PARCEL",
|
||||
"priceModel": "REGION_WEIGHT_TIER",
|
||||
"pricingTaxModes": [
|
||||
"TAX_INCLUDED"
|
||||
]
|
||||
},
|
||||
{
|
||||
"channelCode": "OA_SAVANNAH_TRUCK",
|
||||
"priceModel": "FBA_WAREHOUSE_RATE",
|
||||
"pricingTaxModes": [
|
||||
"TAX_INCLUDED",
|
||||
"TAX_EXCLUDED"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "pre-approval-master-data",
|
||||
"name": "load public shipper candidates",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.609Z",
|
||||
"durationMs": 36,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-0fc5f34b-4873-4bbf-971d-f2eb852f9979, client-e2e-0fc5f34b-4873-4bbf-971d-f2eb852f9979",
|
||||
"traceId": "dc27cbd326cc477fae138ca02c1ba745",
|
||||
"evidence": {
|
||||
"candidateCount": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "pre-approval-product-image",
|
||||
"name": "upload product image",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.645Z",
|
||||
"durationMs": 36,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-38af106a-fc7e-4c06-bdf3-67506fe7556b, client-e2e-38af106a-fc7e-4c06-bdf3-67506fe7556b",
|
||||
"traceId": "bee77f8cfa2a4e5fa2f57bbc48000808",
|
||||
"evidence": {
|
||||
"fileId": "2085905209935593474",
|
||||
"fileName": "product-20260808014530-5a43cd64.png",
|
||||
"contentType": "image/png",
|
||||
"sizeBytes": "68"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "order-validation",
|
||||
"name": "missing pricingTaxMode is rejected",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.682Z",
|
||||
"durationMs": 29,
|
||||
"http": 200,
|
||||
"code": "A0422",
|
||||
"message": "pricingTaxMode: must not be blank",
|
||||
"requestId": "client-e2e-e3a22c2a-5b4d-43bc-ba4f-a6fed0cdc1ad, client-e2e-e3a22c2a-5b4d-43bc-ba4f-a6fed0cdc1ad",
|
||||
"traceId": "13991b6b039144ddbb87428938824b2f",
|
||||
"evidence": null
|
||||
},
|
||||
{
|
||||
"module": "order-before-approval",
|
||||
"name": "create draft before approval",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.712Z",
|
||||
"durationMs": 75,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-3cf5d757-9ff8-4478-8f45-d6df37f04f2b, client-e2e-3cf5d757-9ff8-4478-8f45-d6df37f04f2b",
|
||||
"traceId": "7e68c91e2f5147688862d71ad961870e",
|
||||
"evidence": {
|
||||
"orderId": "2085905210350829570",
|
||||
"status": "DRAFT"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "order-before-approval",
|
||||
"name": "create draft idempotent replay",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.787Z",
|
||||
"durationMs": 29,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-634721a6-f68a-44f7-a220-2067585f9ef9, client-e2e-634721a6-f68a-44f7-a220-2067585f9ef9",
|
||||
"traceId": "6df3ed2d9b13433a810ef9d3be6420f4",
|
||||
"evidence": {
|
||||
"orderId": "2085905210350829570",
|
||||
"replayed": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "order-before-approval",
|
||||
"name": "submit is blocked before approval",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.816Z",
|
||||
"durationMs": 29,
|
||||
"http": 200,
|
||||
"code": "A0403",
|
||||
"message": "Enterprise information must be approved before ordering",
|
||||
"requestId": "client-e2e-5b65d3ca-0edf-4be8-96d1-5299af7a5a72, client-e2e-5b65d3ca-0edf-4be8-96d1-5299af7a5a72",
|
||||
"traceId": "50b158e39c564395aa2c36af7f5e08a8",
|
||||
"evidence": {
|
||||
"orderId": "2085905210350829570",
|
||||
"rejectionCode": "A0403"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "qualification-review",
|
||||
"name": "upload required qualification package",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.845Z",
|
||||
"durationMs": 49,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-85dddf86-f87e-4ca6-af55-70ff44d67078, client-e2e-85dddf86-f87e-4ca6-af55-70ff44d67078",
|
||||
"traceId": "a1d8108021514d4cabe14a4c206b1ab0",
|
||||
"evidence": {
|
||||
"businessLicenseQualificationId": "2085905210794430466",
|
||||
"legalPersonIdQualificationId": "2085905210798624769",
|
||||
"tenantStatus": "PROFILE_REQUIRED"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "qualification-review",
|
||||
"name": "required qualifications are pending",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.894Z",
|
||||
"durationMs": 26,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-60e34c44-4eee-4365-a039-3653840f7806, client-e2e-60e34c44-4eee-4365-a039-3653840f7806",
|
||||
"traceId": "c7da811803f04c118926f42e284b7680",
|
||||
"evidence": {
|
||||
"qualifications": [
|
||||
{
|
||||
"qualificationId": "2085905210794430466",
|
||||
"qualificationType": "BUSINESS_LICENSE",
|
||||
"status": "PENDING"
|
||||
},
|
||||
{
|
||||
"qualificationId": "2085905210798624769",
|
||||
"qualificationType": "LEGAL_PERSON_ID",
|
||||
"status": "PENDING"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "qualification-review",
|
||||
"name": "submit enterprise review",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.920Z",
|
||||
"durationMs": 38,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-36cbbcb1-6413-4da3-88ee-b260bcd8393f, client-e2e-36cbbcb1-6413-4da3-88ee-b260bcd8393f",
|
||||
"traceId": "bccae7d6b31f4223afca1d2c024b884d",
|
||||
"evidence": {
|
||||
"tenantId": "2085905207086665730",
|
||||
"status": "PENDING"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "qualification-review",
|
||||
"name": "platform reviewer login",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:31.958Z",
|
||||
"durationMs": 570,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-3ffc0660-9bc8-4094-ad82-7c5d4ca74f15, client-e2e-3ffc0660-9bc8-4094-ad82-7c5d4ca74f15",
|
||||
"traceId": "d6f120c86bc1408394ebe84803cdf112",
|
||||
"evidence": {
|
||||
"username": "platform_admin"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "qualification-review",
|
||||
"name": "platform finds pending review",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:32.528Z",
|
||||
"durationMs": 21,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-11539108-592a-440b-8849-31b751d3b0a5, client-e2e-11539108-592a-440b-8849-31b751d3b0a5",
|
||||
"traceId": "590c16ed44c8495c88d0d29a52b68f44",
|
||||
"evidence": {
|
||||
"reviewId": "2085905211088031745",
|
||||
"tenantId": "2085905207086665730",
|
||||
"status": "PENDING"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "qualification-review",
|
||||
"name": "platform sees required qualifications",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:32.549Z",
|
||||
"durationMs": 37,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-c99aba15-c0d9-429c-b417-2dbfb1ec456f, client-e2e-c99aba15-c0d9-429c-b417-2dbfb1ec456f",
|
||||
"traceId": "4e805a99bf134ff5be1aa9c1d091e5cc",
|
||||
"evidence": {
|
||||
"qualifications": [
|
||||
{
|
||||
"qualificationId": "2085905210794430466",
|
||||
"qualificationType": "BUSINESS_LICENSE",
|
||||
"status": "PENDING"
|
||||
},
|
||||
{
|
||||
"qualificationId": "2085905210798624769",
|
||||
"qualificationType": "LEGAL_PERSON_ID",
|
||||
"status": "PENDING"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "qualification-review",
|
||||
"name": "platform approves enterprise",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:32.586Z",
|
||||
"durationMs": 36,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-1c9e31f9-16cd-4a1f-a96b-6cc1c204c195, client-e2e-1c9e31f9-16cd-4a1f-a96b-6cc1c204c195",
|
||||
"traceId": "b6e371ef58704f3a827dcf3919d416c9",
|
||||
"evidence": {
|
||||
"tenantId": "2085905207086665730",
|
||||
"administratorCreated": false,
|
||||
"generatedCredentialsReturned": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "qualification-review",
|
||||
"name": "registered account remains enterprise owner",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:32.622Z",
|
||||
"durationMs": 32,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-2cc4f5e3-fa0d-410b-8c97-a9be991fc68f, client-e2e-2cc4f5e3-fa0d-410b-8c97-a9be991fc68f",
|
||||
"traceId": "77418746198a44b282efcd740ae67fe6",
|
||||
"evidence": {
|
||||
"membershipId": "2085905207086665732",
|
||||
"username": "client_20260808014530_c35db3",
|
||||
"memberType": "OWNER",
|
||||
"status": "ACTIVE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "merchant-session",
|
||||
"name": "client re-login after approval",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:32.654Z",
|
||||
"durationMs": 330,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-4575fcf9-7c1d-42b8-af71-0a8320480c3e, client-e2e-4575fcf9-7c1d-42b8-af71-0a8320480c3e",
|
||||
"traceId": "01426a07828a4cfa833fa0a55f45f1a2",
|
||||
"evidence": {
|
||||
"username": "client_20260808014530_c35db3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "merchant-session",
|
||||
"name": "profile is active after approval",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:32.984Z",
|
||||
"durationMs": 35,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-45c80e5b-518e-4c79-a002-8895b07e934a, client-e2e-45c80e5b-518e-4c79-a002-8895b07e934a",
|
||||
"traceId": "33835089a75346259faf3e4be7fc4cab",
|
||||
"evidence": {
|
||||
"id": "2085905207086665730",
|
||||
"status": "ACTIVE",
|
||||
"tenantName": "客户端全链路测试企业-20260808014530-5a43cd64"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "merchant-session",
|
||||
"name": "required qualifications are approved",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:33.019Z",
|
||||
"durationMs": 32,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-b5ca7293-3bc8-4fe9-acec-ba780b883598, client-e2e-b5ca7293-3bc8-4fe9-acec-ba780b883598",
|
||||
"traceId": "e9dde9eb1c304d59a84a119073150341",
|
||||
"evidence": {
|
||||
"qualifications": [
|
||||
{
|
||||
"qualificationId": "2085905210794430466",
|
||||
"qualificationType": "BUSINESS_LICENSE",
|
||||
"status": "APPROVED"
|
||||
},
|
||||
{
|
||||
"qualificationId": "2085905210798624769",
|
||||
"qualificationType": "LEGAL_PERSON_ID",
|
||||
"status": "APPROVED"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "profile-management",
|
||||
"name": "load enterprise profile for editing",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:33.052Z",
|
||||
"durationMs": 30,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-0a73393c-f9ae-4b14-88ab-55935757a54a, client-e2e-0a73393c-f9ae-4b14-88ab-55935757a54a",
|
||||
"traceId": "452e015390f940238d2568ad4916b89b",
|
||||
"evidence": {
|
||||
"id": "2085905207086665730",
|
||||
"tenantName": "客户端全链路测试企业-20260808014530-5a43cd64",
|
||||
"status": "ACTIVE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "profile-management",
|
||||
"name": "edit enterprise profile",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:33.082Z",
|
||||
"durationMs": 43,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-80ee9d05-b29b-4a40-afbd-555bcccd5556, client-e2e-80ee9d05-b29b-4a40-afbd-555bcccd5556",
|
||||
"traceId": "5ff4bf3c6368427cbdc31b5834f5271d",
|
||||
"evidence": {
|
||||
"id": "2085905207086665730",
|
||||
"tenantName": "客户端全链路测试企业-20260808014530-5a43cd64-已编辑",
|
||||
"contactName": "企业联系人-20260808014530-5a43cd64",
|
||||
"status": "ACTIVE"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "profile-management",
|
||||
"name": "enterprise profile edit is persisted",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:33.125Z",
|
||||
"durationMs": 21,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-ec89642c-289d-4126-a0dd-150240edada4, client-e2e-ec89642c-289d-4126-a0dd-150240edada4",
|
||||
"traceId": "da8dda311d904eb59942aff9069de6e3",
|
||||
"evidence": {
|
||||
"id": "2085905207086665730",
|
||||
"tenantName": "客户端全链路测试企业-20260808014530-5a43cd64-已编辑",
|
||||
"contactEmail": "company_202608080145305a43cd64@example.com"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "profile-management",
|
||||
"name": "load personal profile",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:33.146Z",
|
||||
"durationMs": 27,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-76865186-3db6-4172-8ebc-3df342f78665, client-e2e-76865186-3db6-4172-8ebc-3df342f78665",
|
||||
"traceId": "3771e32c220e439fb3f2ebff0a7e752d",
|
||||
"evidence": {
|
||||
"userId": "2085905207086665731",
|
||||
"username": "client_20260808014530_c35db3",
|
||||
"displayName": "测试管理员-20260808014530-5a43cd64"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "profile-management",
|
||||
"name": "edit personal profile",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:33.173Z",
|
||||
"durationMs": 42,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-ced218a9-a8d8-4991-9122-bb10e574006a, client-e2e-ced218a9-a8d8-4991-9122-bb10e574006a",
|
||||
"traceId": "bfdc316613204a13b2f1be04c4ac8095",
|
||||
"evidence": {
|
||||
"userId": "2085905207086665731",
|
||||
"username": "client_20260808014530_c35db3",
|
||||
"displayName": "测试企业管理员-20260808014530-5a43cd64"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "profile-management",
|
||||
"name": "re-login after personal profile token revocation",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:33.215Z",
|
||||
"durationMs": 346,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-40c1f77b-720f-414a-b4e9-9f6832fc6860, client-e2e-40c1f77b-720f-414a-b4e9-9f6832fc6860",
|
||||
"traceId": "952b1d17ba8742898b658b6358d16867",
|
||||
"evidence": {
|
||||
"username": "client_20260808014530_c35db3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "profile-management",
|
||||
"name": "personal profile edit is persisted",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:33.561Z",
|
||||
"durationMs": 37,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-43d40bc7-8036-4bab-ad8e-13cf29b4671e, client-e2e-43d40bc7-8036-4bab-ad8e-13cf29b4671e",
|
||||
"traceId": "c76ed4050f5e49269489ff80cc76436d",
|
||||
"evidence": {
|
||||
"userId": "2085905207086665731",
|
||||
"username": "client_20260808014530_c35db3",
|
||||
"displayName": "测试企业管理员-20260808014530-5a43cd64"
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "rbac-member",
|
||||
"name": "load merchant permission resources",
|
||||
"passed": true,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:33.599Z",
|
||||
"durationMs": 138,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-d341aa52-7250-4f4b-b8e0-a70303366d06, client-e2e-d341aa52-7250-4f4b-b8e0-a70303366d06",
|
||||
"traceId": "f582262ec52c4239b2d025c6e85f977f",
|
||||
"evidence": {
|
||||
"permissionCount": 27
|
||||
}
|
||||
},
|
||||
{
|
||||
"module": "rbac-member",
|
||||
"name": "load initial merchant roles",
|
||||
"passed": false,
|
||||
"skipped": false,
|
||||
"startedAt": "2026-08-08T01:45:33.737Z",
|
||||
"durationMs": 31,
|
||||
"http": 200,
|
||||
"code": "200",
|
||||
"message": "success",
|
||||
"requestId": "client-e2e-235e0999-bffc-4926-93af-9a61f7fa2223, client-e2e-235e0999-bffc-4926-93af-9a61f7fa2223",
|
||||
"traceId": "ccc2bed8eaaf48029a9cb40705a9da90",
|
||||
"evidence": {
|
||||
"roleCount": 0
|
||||
},
|
||||
"error": {
|
||||
"name": "Error",
|
||||
"message": "system role is required"
|
||||
}
|
||||
}
|
||||
],
|
||||
"futureModules": [
|
||||
"measurement",
|
||||
"ocr",
|
||||
"mojia",
|
||||
"billing"
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user