优化
This commit is contained in:
@@ -0,0 +1,398 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,596 @@
|
||||
{
|
||||
"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
Reference in New Issue
Block a user