{ "reportName": "后台管理测试环境 HTTP API 验收", "marker": "ADMIN-API-20260808013719156", "gateway": "http://8.163.30.128:9000", "generatedAt": "2026-08-08T01:37:20.808Z", "startedAt": "2026-08-08T01:37:19.156Z", "success": false, "fatal": null, "summary": { "total": 36, "passed": 28, "failed": 8 }, "modules": [ { "name": "customers", "startedAt": "2026-08-08T01:37:19.675Z", "finishedAt": "2026-08-08T01:37:20.808Z", "success": false, "passed": 27, "failed": 8, "fatal": null } ], "scenarios": [ { "name": "customer-dimension-rules", "module": "customers", "success": false, "deploymentBlocked": true, "passed": 10, "failed": 1 } ], "deploymentBlockers": [ { "module": "customers", "scenario": "customer-dimension-rules", "name": "规则行 ID、tenantId 为字符串且初始版本为0", "evidence": "groupTenantIdType=string, rows=string/undefined/v0,string/undefined/v0,string/undefined/v0,string/undefined/v0", "code": "200", "requestId": "21161286-1dac-4fd6-838e-5ff5a3366392, 243dcd3d-3ea2-4bfa-b7bd-976f13eb3fbf", "traceId": "e7a484b82ca844ac933c14482228c3ce" } ], "createdResources": { "customer": { "tenantId": "2085903147058450433", "marker": "ADMIN-API-20260808013719156", "contactPhone": "16153039675" } }, "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": "b32bc7f2-2d2e-4db2-b3d2-a487433106de, 06ecaa92-97c9-4ad7-afa4-94e79cc325d8", "traceId": "b9c74369c3aa4120836782c7bd47c9cf", "evidence": "", "checkedAt": "2026-08-08T01:37:19.674Z" }, { "module": "customers", "scenario": null, "name": "检查测试联系电话可用性", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16153039675" }, "http": 200, "code": "200", "message": "success", "requestId": "279a04a4-642b-47d3-9e86-530c3e473aeb, 08930ade-8e5f-4ec4-bc07-944c224c86a2", "traceId": "4cd28b1dcdbe4f979157a834d7d4331b", "evidence": "attempt=1", "checkedAt": "2026-08-08T01:37:19.790Z" }, { "module": "customers", "scenario": null, "name": "创建客户", "passed": true, "deploymentBlocker": false, "request": { "method": "POST", "path": "/api/platform/v1/iam/tenants" }, "http": 200, "code": "200", "message": "success", "requestId": "5fafeaeb-3e78-4bd4-9287-1ec9cb01ffe1, 9d539168-3722-4b4b-b80f-3bbdb77239e9", "traceId": "319ec1d18c124a1eb1b4dc0e4d83e4c3", "evidence": "", "checkedAt": "2026-08-08T01:37:19.874Z" }, { "module": "customers", "scenario": null, "name": "创建响应客户字段完整", "passed": false, "deploymentBlocker": false, "request": { "method": "POST", "path": "/api/platform/v1/iam/tenants" }, "http": 200, "code": "200", "message": "success", "requestId": "5fafeaeb-3e78-4bd4-9287-1ec9cb01ffe1, 9d539168-3722-4b4b-b80f-3bbdb77239e9", "traceId": "319ec1d18c124a1eb1b4dc0e4d83e4c3", "evidence": "missing=unifiedSocialCreditCode,approvedAt", "checkedAt": "2026-08-08T01:37:19.874Z" }, { "module": "customers", "scenario": null, "name": "新客户基础字段正确", "passed": true, "deploymentBlocker": false, "request": { "method": "POST", "path": "/api/platform/v1/iam/tenants" }, "http": 200, "code": "200", "message": "success", "requestId": "5fafeaeb-3e78-4bd4-9287-1ec9cb01ffe1, 9d539168-3722-4b4b-b80f-3bbdb77239e9", "traceId": "319ec1d18c124a1eb1b4dc0e4d83e4c3", "evidence": "tenantId=2085903147058450433, status=PROFILE_REQUIRED", "checkedAt": "2026-08-08T01:37:19.874Z" }, { "module": "customers", "scenario": null, "name": "创建客户生成初始密码", "passed": false, "deploymentBlocker": false, "request": { "method": "POST", "path": "/api/platform/v1/iam/tenants" }, "http": 200, "code": "200", "message": "success", "requestId": "5fafeaeb-3e78-4bd4-9287-1ec9cb01ffe1, 9d539168-3722-4b4b-b80f-3bbdb77239e9", "traceId": "319ec1d18c124a1eb1b4dc0e4d83e4c3", "evidence": "generated=false, length=0", "checkedAt": "2026-08-08T01:37:19.874Z" }, { "module": "customers", "scenario": null, "name": "管理员用户名默认使用联系电话", "passed": false, "deploymentBlocker": false, "request": { "method": "POST", "path": "/api/platform/v1/iam/tenants" }, "http": 200, "code": "200", "message": "success", "requestId": "5fafeaeb-3e78-4bd4-9287-1ec9cb01ffe1, 9d539168-3722-4b4b-b80f-3bbdb77239e9", "traceId": "319ec1d18c124a1eb1b4dc0e4d83e4c3", "evidence": "matches=false", "checkedAt": "2026-08-08T01:37:19.874Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "新客户尺寸规则可查询", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "21161286-1dac-4fd6-838e-5ff5a3366392, 243dcd3d-3ea2-4bfa-b7bd-976f13eb3fbf", "traceId": "e7a484b82ca844ac933c14482228c3ce", "evidence": "tenantId=2085903147058450433", "checkedAt": "2026-08-08T01:37:19.920Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "固定四箱规顺序完整且无重复", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "21161286-1dac-4fd6-838e-5ff5a3366392, 243dcd3d-3ea2-4bfa-b7bd-976f13eb3fbf", "traceId": "e7a484b82ca844ac933c14482228c3ce", "evidence": "count=4, order=SMALL,MEDIUM,LARGE,EXTRA_LARGE", "checkedAt": "2026-08-08T01:37:19.920Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "四箱规默认内径、加边和备注正确", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "21161286-1dac-4fd6-838e-5ff5a3366392, 243dcd3d-3ea2-4bfa-b7bd-976f13eb3fbf", "traceId": "e7a484b82ca844ac933c14482228c3ce", "evidence": "defaults=matched", "checkedAt": "2026-08-08T01:37:19.920Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "规则行 ID、tenantId 为字符串且初始版本为0", "passed": false, "deploymentBlocker": true, "request": { "method": "GET", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "21161286-1dac-4fd6-838e-5ff5a3366392, 243dcd3d-3ea2-4bfa-b7bd-976f13eb3fbf", "traceId": "e7a484b82ca844ac933c14482228c3ce", "evidence": "groupTenantIdType=string, rows=string/undefined/v0,string/undefined/v0,string/undefined/v0,string/undefined/v0", "checkedAt": "2026-08-08T01:37:19.920Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "默认规则外径与 HALF_UP 三位 CBM 正确", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "21161286-1dac-4fd6-838e-5ff5a3366392, 243dcd3d-3ea2-4bfa-b7bd-976f13eb3fbf", "traceId": "e7a484b82ca844ac933c14482228c3ce", "evidence": "derivedRows=4", "checkedAt": "2026-08-08T01:37:19.920Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "PUT 每行只发送约定7字段并整组保存", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "21161286-1dac-4fd6-838e-5ff5a3366392, 243dcd3d-3ea2-4bfa-b7bd-976f13eb3fbf", "traceId": "e7a484b82ca844ac933c14482228c3ce", "evidence": "fields=boxType,innerLengthCm,innerWidthCm,innerHeightCm,edgeAdditionCm,remark,version", "checkedAt": "2026-08-08T01:37:19.920Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "一次 PUT 保存四条三位小数规则", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "2da22620-8e23-4cb5-830d-09b0c7abebd8, e01048dc-e5b7-41dc-9537-ff47e713dcb6", "traceId": "5d1ecdf1289a4d55a90368d1a397ec8e", "evidence": "rows=4", "checkedAt": "2026-08-08T01:37:19.993Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "修改后四行版本+1且派生外径/CBM正确", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "2da22620-8e23-4cb5-830d-09b0c7abebd8, e01048dc-e5b7-41dc-9537-ff47e713dcb6", "traceId": "5d1ecdf1289a4d55a90368d1a397ec8e", "evidence": "versions=1,1,1,1", "checkedAt": "2026-08-08T01:37:19.993Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "旧 version 重放 PUT 返回冲突", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433" }, "http": 200, "code": "A0409", "message": "箱规尺寸配置已被修改,请刷新后重试", "requestId": "9dc714d8-e24e-4466-a2a1-0916180b4b2e", "traceId": "907d64457fb2470f8c536b394efe67d6", "evidence": "HTTP=200, code=A0409", "checkedAt": "2026-08-08T01:37:20.072Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "冲突后重新查询四条规则", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "70ee21a4-f9bb-4b47-b102-9161cad9e95c, c54ecf0e-a981-432f-9cfe-84dd2e92eca5", "traceId": "c593da8cca8840d398a1fec59e792ae9", "evidence": "", "checkedAt": "2026-08-08T01:37:20.125Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "冲突请求未造成四行部分更新", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "70ee21a4-f9bb-4b47-b102-9161cad9e95c, c54ecf0e-a981-432f-9cfe-84dd2e92eca5", "traceId": "c593da8cca8840d398a1fec59e792ae9", "evidence": "unchangedRows=4", "checkedAt": "2026-08-08T01:37:20.125Z" }, { "module": "customers", "scenario": null, "name": "查询客户列表", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants?page=1&size=20&keyword=%E5%90%8E%E5%8F%B0%E5%AE%A2%E6%88%B7%E9%AA%8C%E6%94%B6-808013719156" }, "http": 200, "code": "200", "message": "success", "requestId": "197c5762-b2f4-4d72-a576-5ab1b7db124e, abfe6a1b-b6f8-4723-858a-cfe509448f33", "traceId": "a91f3982e2c3472ea094033eacb08832", "evidence": "", "checkedAt": "2026-08-08T01:37:20.168Z" }, { "module": "customers", "scenario": null, "name": "列表包含新客户且字段完整", "passed": false, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants?page=1&size=20&keyword=%E5%90%8E%E5%8F%B0%E5%AE%A2%E6%88%B7%E9%AA%8C%E6%94%B6-808013719156" }, "http": 200, "code": "200", "message": "success", "requestId": "197c5762-b2f4-4d72-a576-5ab1b7db124e, abfe6a1b-b6f8-4723-858a-cfe509448f33", "traceId": "a91f3982e2c3472ea094033eacb08832", "evidence": "found=true, missing=unifiedSocialCreditCode,approvedAt", "checkedAt": "2026-08-08T01:37:20.168Z" }, { "module": "customers", "scenario": null, "name": "查询客户详情", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "6fc40aa0-8e0e-448f-9585-ea1e906d416d, c7649135-2a3e-4400-bb90-72075c23e23c", "traceId": "4d208b9fa2ea4268834af84d42aac20d", "evidence": "", "checkedAt": "2026-08-08T01:37:20.240Z" }, { "module": "customers", "scenario": null, "name": "客户详情基本信息正确", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "6fc40aa0-8e0e-448f-9585-ea1e906d416d, c7649135-2a3e-4400-bb90-72075c23e23c", "traceId": "4d208b9fa2ea4268834af84d42aac20d", "evidence": "tenantId=2085903147058450433", "checkedAt": "2026-08-08T01:37:20.240Z" }, { "module": "customers", "scenario": null, "name": "编辑客户", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/tenants/2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "2eabab50-7229-4ae0-8792-eca6e6d35bc5, 5dc4a056-69d1-458b-aa73-b62a1768f508", "traceId": "f151d4a7d60b4393848113c0a2e47c8a", "evidence": "", "checkedAt": "2026-08-08T01:37:20.340Z" }, { "module": "customers", "scenario": null, "name": "客户编辑正确回显", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/tenants/2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "2eabab50-7229-4ae0-8792-eca6e6d35bc5, 5dc4a056-69d1-458b-aa73-b62a1768f508", "traceId": "f151d4a7d60b4393848113c0a2e47c8a", "evidence": "tenantId=2085903147058450433", "checkedAt": "2026-08-08T01:37:20.340Z" }, { "module": "customers", "scenario": null, "name": "回查客户编辑结果", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "c99e7d20-30f3-453e-adf7-81617c0202be, 5e4b928d-dc03-40a9-b7ac-b57928563861", "traceId": "8fc0982f732a4cbeb01f75b1ce2fa200", "evidence": "", "checkedAt": "2026-08-08T01:37:20.501Z" }, { "module": "customers", "scenario": null, "name": "客户编辑已持久化", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "c99e7d20-30f3-453e-adf7-81617c0202be, 5e4b928d-dc03-40a9-b7ac-b57928563861", "traceId": "8fc0982f732a4cbeb01f75b1ce2fa200", "evidence": "tenantId=2085903147058450433", "checkedAt": "2026-08-08T01:37:20.501Z" }, { "module": "customers", "scenario": null, "name": "业务概况查询资质", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/2085903147058450433/qualifications" }, "http": 200, "code": "200", "message": "success", "requestId": "d87dbe3e-de44-441d-816c-e1ee1a371b29, bee8d393-a7f5-4341-94ce-eaf673f193ce", "traceId": "756ebff2cc9f4f1eac1e4f9d8a633a76", "evidence": "", "checkedAt": "2026-08-08T01:37:20.554Z" }, { "module": "customers", "scenario": null, "name": "资质概况结构正确", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/2085903147058450433/qualifications" }, "http": 200, "code": "200", "message": "success", "requestId": "d87dbe3e-de44-441d-816c-e1ee1a371b29, bee8d393-a7f5-4341-94ce-eaf673f193ce", "traceId": "756ebff2cc9f4f1eac1e4f9d8a633a76", "evidence": "count=0", "checkedAt": "2026-08-08T01:37:20.554Z" }, { "module": "customers", "scenario": null, "name": "业务概况查询成员", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/2085903147058450433/members" }, "http": 200, "code": "200", "message": "success", "requestId": "2439e6c5-6ae9-4fb7-819d-93cca240bae6, 43d3143c-ff79-4de0-9cf7-575d214c8a07", "traceId": "be4bfdad721641ca8fd24db9ebfc85cb", "evidence": "", "checkedAt": "2026-08-08T01:37:20.643Z" }, { "module": "customers", "scenario": null, "name": "联系电话账号是企业管理员", "passed": false, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/2085903147058450433/members" }, "http": 200, "code": "200", "message": "success", "requestId": "2439e6c5-6ae9-4fb7-819d-93cca240bae6, 43d3143c-ff79-4de0-9cf7-575d214c8a07", "traceId": "be4bfdad721641ca8fd24db9ebfc85cb", "evidence": "ownerFound=false, matches=false", "checkedAt": "2026-08-08T01:37:20.643Z" }, { "module": "customers", "scenario": null, "name": "业务概况查询运单数量", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/orders/first-leg/tenant-counts?tenantIds=2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "4ba32e71-b9ea-412d-8d26-bade4ce94874, 5e539bbf-cddb-43bf-9d65-f89060e2c12d", "traceId": "4906a891015d469a976af95d08f3be10", "evidence": "", "checkedAt": "2026-08-08T01:37:20.705Z" }, { "module": "customers", "scenario": null, "name": "业务概况返回当前客户运单数", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/orders/first-leg/tenant-counts?tenantIds=2085903147058450433" }, "http": 200, "code": "200", "message": "success", "requestId": "4ba32e71-b9ea-412d-8d26-bade4ce94874, 5e539bbf-cddb-43bf-9d65-f89060e2c12d", "traceId": "4906a891015d469a976af95d08f3be10", "evidence": "orderCount=0", "checkedAt": "2026-08-08T01:37:20.705Z" }, { "module": "customers", "scenario": null, "name": "查询客户运单记录", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/orders/first-leg?tenantId=2085903147058450433&page=1&size=10" }, "http": 200, "code": "200", "message": "success", "requestId": "6cf876bf-1fd5-4f72-a655-3ad61ec38758, efcc42ca-fd26-4346-a8c5-cb3b1378442b", "traceId": "bb1beb549cd342d4a54afa9279507525", "evidence": "", "checkedAt": "2026-08-08T01:37:20.754Z" }, { "module": "customers", "scenario": null, "name": "运单记录分页结构正确", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/orders/first-leg?tenantId=2085903147058450433&page=1&size=10" }, "http": 200, "code": "200", "message": "success", "requestId": "6cf876bf-1fd5-4f72-a655-3ad61ec38758, efcc42ca-fd26-4346-a8c5-cb3b1378442b", "traceId": "bb1beb549cd342d4a54afa9279507525", "evidence": "records=0, total=0", "checkedAt": "2026-08-08T01:37:20.754Z" }, { "module": "customers", "scenario": null, "name": "停用客户", "passed": false, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/tenants/2085903147058450433/status" }, "http": 200, "code": "A0409", "message": "Tenant status must be changed through review / 当前租户状态必须通过审核流程变更", "requestId": "9bc5cbb7-0a5b-4dfc-b560-7c07af10fd7c", "traceId": "592ca8eb0d354c82b041b8fcdcca6f39", "evidence": "", "checkedAt": "2026-08-08T01:37:20.808Z" }, { "module": "customers", "scenario": null, "name": "客户停用状态正确", "passed": false, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/tenants/2085903147058450433/status" }, "http": 200, "code": "A0409", "message": "Tenant status must be changed through review / 当前租户状态必须通过审核流程变更", "requestId": "9bc5cbb7-0a5b-4dfc-b560-7c07af10fd7c", "traceId": "592ca8eb0d354c82b041b8fcdcca6f39", "evidence": "status=missing", "checkedAt": "2026-08-08T01:37:20.808Z" } ] }