{ "reportName": "后台管理测试环境 HTTP API 验收", "marker": "ADMIN-API-20260808014935078", "gateway": "http://8.163.30.128:9000", "generatedAt": "2026-08-08T01:49:35.989Z", "startedAt": "2026-08-08T01:49:35.078Z", "success": false, "fatal": null, "summary": { "total": 38, "passed": 31, "failed": 7 }, "modules": [ { "name": "customers", "startedAt": "2026-08-08T01:49:35.449Z", "finishedAt": "2026-08-08T01:49:35.989Z", "success": false, "passed": 30, "failed": 7, "fatal": null } ], "scenarios": [ { "name": "customer-dimension-rules", "module": "customers", "success": true, "deploymentBlocked": false, "passed": 13, "failed": 0 } ], "deploymentBlockers": [], "createdResources": { "customer": { "tenantId": "2085906232656908290", "marker": "ADMIN-API-20260808014935078", "contactPhone": "16153775449" } }, "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": "a720a97c-bbdd-4de5-89de-b48a88173ee3, 5b4d1342-f103-468c-a99f-88cb1fba5f1b", "traceId": "af52909ad7e145c9a94cbe28b895aa3b", "evidence": "", "checkedAt": "2026-08-08T01:49:35.449Z" }, { "module": "customers", "scenario": null, "name": "检查测试联系电话可用性", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/contact-phone-availability?contactPhone=16153775449" }, "http": 200, "code": "200", "message": "success", "requestId": "a1184143-913e-4721-8321-74a93b3a71ee, bbd21c85-e5ed-4011-9414-638be1043067", "traceId": "2821f39b6a94496ebc93303e54f46dae", "evidence": "attempt=1", "checkedAt": "2026-08-08T01:49:35.491Z" }, { "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": "9cda04a4-3646-4f69-9c01-aebd7118fd22, bab83655-d9b4-4420-aecf-aa01328d6a30", "traceId": "b6aca188f51f4455a145a1782677f971", "evidence": "", "checkedAt": "2026-08-08T01:49:35.531Z" }, { "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": "9cda04a4-3646-4f69-9c01-aebd7118fd22, bab83655-d9b4-4420-aecf-aa01328d6a30", "traceId": "b6aca188f51f4455a145a1782677f971", "evidence": "missing=unifiedSocialCreditCode,approvedAt", "checkedAt": "2026-08-08T01:49:35.531Z" }, { "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": "9cda04a4-3646-4f69-9c01-aebd7118fd22, bab83655-d9b4-4420-aecf-aa01328d6a30", "traceId": "b6aca188f51f4455a145a1782677f971", "evidence": "tenantId=2085906232656908290, status=PROFILE_REQUIRED", "checkedAt": "2026-08-08T01:49:35.531Z" }, { "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": "9cda04a4-3646-4f69-9c01-aebd7118fd22, bab83655-d9b4-4420-aecf-aa01328d6a30", "traceId": "b6aca188f51f4455a145a1782677f971", "evidence": "generated=false, length=0", "checkedAt": "2026-08-08T01:49:35.531Z" }, { "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": "9cda04a4-3646-4f69-9c01-aebd7118fd22, bab83655-d9b4-4420-aecf-aa01328d6a30", "traceId": "b6aca188f51f4455a145a1782677f971", "evidence": "matches=false", "checkedAt": "2026-08-08T01:49:35.531Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "新客户尺寸规则可查询", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "3a9fab6f-d233-49ce-9671-ee18d65c6d17, 14909cd4-8d05-4406-8ef3-1bff5303a410", "traceId": "837808a650b4498dabac6a48b9c8d91b", "evidence": "tenantId=2085906232656908290", "checkedAt": "2026-08-08T01:49:35.569Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "固定四箱规顺序完整且无重复", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "3a9fab6f-d233-49ce-9671-ee18d65c6d17, 14909cd4-8d05-4406-8ef3-1bff5303a410", "traceId": "837808a650b4498dabac6a48b9c8d91b", "evidence": "count=4, order=SMALL,MEDIUM,LARGE,EXTRA_LARGE", "checkedAt": "2026-08-08T01:49:35.569Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "四箱规默认内径、加边和备注正确", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "3a9fab6f-d233-49ce-9671-ee18d65c6d17, 14909cd4-8d05-4406-8ef3-1bff5303a410", "traceId": "837808a650b4498dabac6a48b9c8d91b", "evidence": "defaults=matched", "checkedAt": "2026-08-08T01:49:35.569Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "客户 ID、规则 ID 为字符串且初始版本为0", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "3a9fab6f-d233-49ce-9671-ee18d65c6d17, 14909cd4-8d05-4406-8ef3-1bff5303a410", "traceId": "837808a650b4498dabac6a48b9c8d91b", "evidence": "groupTenantIdType=string, rows=string/v0,string/v0,string/v0,string/v0", "checkedAt": "2026-08-08T01:49:35.569Z" }, { "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=2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "3a9fab6f-d233-49ce-9671-ee18d65c6d17, 14909cd4-8d05-4406-8ef3-1bff5303a410", "traceId": "837808a650b4498dabac6a48b9c8d91b", "evidence": "derivedRows=4", "checkedAt": "2026-08-08T01:49:35.569Z" }, { "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=2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "3a9fab6f-d233-49ce-9671-ee18d65c6d17, 14909cd4-8d05-4406-8ef3-1bff5303a410", "traceId": "837808a650b4498dabac6a48b9c8d91b", "evidence": "fields=boxType,innerLengthCm,innerWidthCm,innerHeightCm,edgeAdditionCm,remark,version", "checkedAt": "2026-08-08T01:49:35.569Z" }, { "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=2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "0a02678d-9b08-481c-83fd-e49aca8f95d1, f80c147e-57d2-48d2-87bd-41e7cfc20ec9", "traceId": "d7d775ad69294342a0fa7ecab51f0371", "evidence": "rows=4", "checkedAt": "2026-08-08T01:49:35.610Z" }, { "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=2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "0a02678d-9b08-481c-83fd-e49aca8f95d1, f80c147e-57d2-48d2-87bd-41e7cfc20ec9", "traceId": "d7d775ad69294342a0fa7ecab51f0371", "evidence": "versions=1,1,1,1", "checkedAt": "2026-08-08T01:49:35.610Z" }, { "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=2085906232656908290" }, "http": 200, "code": "A0409", "message": "箱规尺寸配置已被修改,请刷新后重试", "requestId": "66ea1f92-f817-495f-b853-7cd32cca4c6c", "traceId": "c7eccaf37e5541f6bd7e862858e585e1", "evidence": "HTTP=200, code=A0409", "checkedAt": "2026-08-08T01:49:35.648Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "冲突后重新查询四条规则", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "333d1f5e-57a0-4ff8-a206-8f928bae7aa3, 4029e9ab-3e95-46e5-856e-687d3769e02b", "traceId": "0d610b96e002491fa9877bf1e8a17531", "evidence": "", "checkedAt": "2026-08-08T01:49:35.674Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "冲突请求未造成四行部分更新", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "333d1f5e-57a0-4ff8-a206-8f928bae7aa3, 4029e9ab-3e95-46e5-856e-687d3769e02b", "traceId": "0d610b96e002491fa9877bf1e8a17531", "evidence": "unchangedRows=4", "checkedAt": "2026-08-08T01:49:35.674Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "恢复本轮修改前的四箱规配置", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "94733cd5-bdae-4180-8718-28e6ab4a1403, bc0f1db1-9cee-49ec-94e3-ebb3edce4a6e", "traceId": "bc83db99ee44415c88262aeda0c5986e", "evidence": "restore=original-values", "checkedAt": "2026-08-08T01:49:35.718Z" }, { "module": "customers", "scenario": "customer-dimension-rules", "name": "尺寸规则恢复后回显与初始值一致", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/first-leg/customer-dimension-config?tenantId=2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "94733cd5-bdae-4180-8718-28e6ab4a1403, bc0f1db1-9cee-49ec-94e3-ebb3edce4a6e", "traceId": "bc83db99ee44415c88262aeda0c5986e", "evidence": "restoredRows=4", "checkedAt": "2026-08-08T01:49:35.718Z" }, { "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-808014935078" }, "http": 200, "code": "200", "message": "success", "requestId": "b15d5d78-27cb-4f70-9539-bc9782fa9d4d, becba750-039d-45f3-9232-d234a0822d75", "traceId": "b164e91b4b5d4a71b0e33f7a58547796", "evidence": "", "checkedAt": "2026-08-08T01:49:35.761Z" }, { "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-808014935078" }, "http": 200, "code": "200", "message": "success", "requestId": "b15d5d78-27cb-4f70-9539-bc9782fa9d4d, becba750-039d-45f3-9232-d234a0822d75", "traceId": "b164e91b4b5d4a71b0e33f7a58547796", "evidence": "found=true, missing=unifiedSocialCreditCode,approvedAt", "checkedAt": "2026-08-08T01:49:35.761Z" }, { "module": "customers", "scenario": null, "name": "查询客户详情", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "aa331679-497b-4007-a2fb-da56e3cbbad4, f446df9f-2e1b-4d83-add1-89bd202e044b", "traceId": "8b3768d937bf40fc95d56ad6d113a018", "evidence": "", "checkedAt": "2026-08-08T01:49:35.786Z" }, { "module": "customers", "scenario": null, "name": "客户详情基本信息正确", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "aa331679-497b-4007-a2fb-da56e3cbbad4, f446df9f-2e1b-4d83-add1-89bd202e044b", "traceId": "8b3768d937bf40fc95d56ad6d113a018", "evidence": "tenantId=2085906232656908290", "checkedAt": "2026-08-08T01:49:35.786Z" }, { "module": "customers", "scenario": null, "name": "编辑客户", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/tenants/2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "52b27de8-d911-4e28-bf4e-6f0336de347a, 8fd191d9-9086-4947-809b-9566cfa8ef3f", "traceId": "60335ad877ce4f2aab22a4b7a46ddea6", "evidence": "", "checkedAt": "2026-08-08T01:49:35.822Z" }, { "module": "customers", "scenario": null, "name": "客户编辑正确回显", "passed": true, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/tenants/2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "52b27de8-d911-4e28-bf4e-6f0336de347a, 8fd191d9-9086-4947-809b-9566cfa8ef3f", "traceId": "60335ad877ce4f2aab22a4b7a46ddea6", "evidence": "tenantId=2085906232656908290", "checkedAt": "2026-08-08T01:49:35.822Z" }, { "module": "customers", "scenario": null, "name": "回查客户编辑结果", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "dddb9214-4e49-4700-a8c1-1b3251c1f770, c178d727-427f-498e-b9a2-53c147ce1d0f", "traceId": "fa9b09a40152434ca0b84fed609b8135", "evidence": "", "checkedAt": "2026-08-08T01:49:35.847Z" }, { "module": "customers", "scenario": null, "name": "客户编辑已持久化", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "dddb9214-4e49-4700-a8c1-1b3251c1f770, c178d727-427f-498e-b9a2-53c147ce1d0f", "traceId": "fa9b09a40152434ca0b84fed609b8135", "evidence": "tenantId=2085906232656908290", "checkedAt": "2026-08-08T01:49:35.847Z" }, { "module": "customers", "scenario": null, "name": "业务概况查询资质", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/2085906232656908290/qualifications" }, "http": 200, "code": "200", "message": "success", "requestId": "128ff201-0f6a-414e-9795-de0096fb3651, cd73f145-57fe-4868-ac80-2f17fe43e736", "traceId": "3f8cc6b956e642bfae01be933562bcb5", "evidence": "", "checkedAt": "2026-08-08T01:49:35.868Z" }, { "module": "customers", "scenario": null, "name": "资质概况结构正确", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/2085906232656908290/qualifications" }, "http": 200, "code": "200", "message": "success", "requestId": "128ff201-0f6a-414e-9795-de0096fb3651, cd73f145-57fe-4868-ac80-2f17fe43e736", "traceId": "3f8cc6b956e642bfae01be933562bcb5", "evidence": "count=0", "checkedAt": "2026-08-08T01:49:35.868Z" }, { "module": "customers", "scenario": null, "name": "业务概况查询成员", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/2085906232656908290/members" }, "http": 200, "code": "200", "message": "success", "requestId": "86b6120a-8875-4d54-8d31-be87136912a3, 004d2843-40b5-4f24-90d5-0a50fbfbff6a", "traceId": "f209e87c6de4499d88c225d417aae147", "evidence": "", "checkedAt": "2026-08-08T01:49:35.895Z" }, { "module": "customers", "scenario": null, "name": "联系电话账号是企业管理员", "passed": false, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/iam/tenants/2085906232656908290/members" }, "http": 200, "code": "200", "message": "success", "requestId": "86b6120a-8875-4d54-8d31-be87136912a3, 004d2843-40b5-4f24-90d5-0a50fbfbff6a", "traceId": "f209e87c6de4499d88c225d417aae147", "evidence": "ownerFound=false, matches=false", "checkedAt": "2026-08-08T01:49:35.895Z" }, { "module": "customers", "scenario": null, "name": "业务概况查询运单数量", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/orders/first-leg/tenant-counts?tenantIds=2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "a1628f1c-7c0e-487e-9c73-bdb947e5b097, 7a56c8b1-45b6-43d1-a375-04b7931031d1", "traceId": "a4702c0bc393445d9c87382fcb0b0967", "evidence": "", "checkedAt": "2026-08-08T01:49:35.927Z" }, { "module": "customers", "scenario": null, "name": "业务概况返回当前客户运单数", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/orders/first-leg/tenant-counts?tenantIds=2085906232656908290" }, "http": 200, "code": "200", "message": "success", "requestId": "a1628f1c-7c0e-487e-9c73-bdb947e5b097, 7a56c8b1-45b6-43d1-a375-04b7931031d1", "traceId": "a4702c0bc393445d9c87382fcb0b0967", "evidence": "orderCount=0", "checkedAt": "2026-08-08T01:49:35.927Z" }, { "module": "customers", "scenario": null, "name": "查询客户运单记录", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/orders/first-leg?tenantId=2085906232656908290&page=1&size=10" }, "http": 200, "code": "200", "message": "success", "requestId": "a451cd7f-d4ee-47e2-97cd-5a901cd94601, adc8098d-f2d4-4d63-aaf1-4de7bb39b09b", "traceId": "6d7fff06ac24421e81fa29ff76d01452", "evidence": "", "checkedAt": "2026-08-08T01:49:35.961Z" }, { "module": "customers", "scenario": null, "name": "运单记录分页结构正确", "passed": true, "deploymentBlocker": false, "request": { "method": "GET", "path": "/api/platform/v1/orders/first-leg?tenantId=2085906232656908290&page=1&size=10" }, "http": 200, "code": "200", "message": "success", "requestId": "a451cd7f-d4ee-47e2-97cd-5a901cd94601, adc8098d-f2d4-4d63-aaf1-4de7bb39b09b", "traceId": "6d7fff06ac24421e81fa29ff76d01452", "evidence": "records=0, total=0", "checkedAt": "2026-08-08T01:49:35.961Z" }, { "module": "customers", "scenario": null, "name": "停用客户", "passed": false, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/tenants/2085906232656908290/status" }, "http": 200, "code": "A0409", "message": "Tenant status must be changed through review / 当前租户状态必须通过审核流程变更", "requestId": "523dda29-c36f-4292-b9f6-f8ff11252cf8", "traceId": "d090c5e0512a485bb22b5747efe031c1", "evidence": "", "checkedAt": "2026-08-08T01:49:35.989Z" }, { "module": "customers", "scenario": null, "name": "客户停用状态正确", "passed": false, "deploymentBlocker": false, "request": { "method": "PUT", "path": "/api/platform/v1/iam/tenants/2085906232656908290/status" }, "http": 200, "code": "A0409", "message": "Tenant status must be changed through review / 当前租户状态必须通过审核流程变更", "requestId": "523dda29-c36f-4292-b9f6-f8ff11252cf8", "traceId": "d090c5e0512a485bb22b5747efe031c1", "evidence": "status=missing", "checkedAt": "2026-08-08T01:49:35.989Z" } ] }