{ "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" } ] }