436 lines
15 KiB
JSON
436 lines
15 KiB
JSON
{
|
|
"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"
|
|
}
|
|
]
|
|
}
|