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