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