# 征信解析 Mock Server 后端实施记录 ## 本次改动 - 新增 [`credit_feature_schema.json`](/Users/wkc/Desktop/ccdi/ccdi/.worktrees/codex-credit-parsing-mock-server-backend/lsfx-mock-server/config/credit_feature_schema.json),将 Excel 中 30 个征信字段按 `lx_header`、`lx_debt`、`lx_publictype` 三个主题域固化为 schema,并统一映射到 `string`、`amount`、`count`、`status` 四类生成规则。 - 新增 [`credit_response_examples.json`](/Users/wkc/Desktop/ccdi/ccdi/.worktrees/codex-credit-parsing-mock-server-backend/lsfx-mock-server/config/credit_response_examples.json),沉淀成功模板和 `ERR_99999`、`ERR_10001` 至 `ERR_10006` 的失败模板。 - 新增 [`credit_payload_service.py`](/Users/wkc/Desktop/ccdi/ccdi/.worktrees/codex-credit-parsing-mock-server-backend/lsfx-mock-server/services/credit_payload_service.py),负责加载 schema,并基于 `model + hType + filename` 生成稳定随机 payload。 - 新增 [`credit_debug_service.py`](/Users/wkc/Desktop/ccdi/ccdi/.worktrees/codex-credit-parsing-mock-server-backend/lsfx-mock-server/services/credit_debug_service.py),负责参数缺失校验、调试错误码识别、成功/失败响应封装。 - 新增 [`credit_api.py`](/Users/wkc/Desktop/ccdi/ccdi/.worktrees/codex-credit-parsing-mock-server-backend/lsfx-mock-server/routers/credit_api.py),提供: - `POST /xfeature-mngs/conversation/htmlEval` - `GET /credit/health` - 更新 [`main.py`](/Users/wkc/Desktop/ccdi/ccdi/.worktrees/codex-credit-parsing-mock-server-backend/lsfx-mock-server/main.py),将征信解析 router 注册到主应用,并补充应用描述。 - 更新 [`README.md`](/Users/wkc/Desktop/ccdi/ccdi/.worktrees/codex-credit-parsing-mock-server-backend/lsfx-mock-server/README.md),补充征信解析 Mock 的调用示例、错误码调试方式和健康检查说明。 - 新增测试文件 [`test_credit_payload_service.py`](/Users/wkc/Desktop/ccdi/ccdi/.worktrees/codex-credit-parsing-mock-server-backend/lsfx-mock-server/tests/test_credit_payload_service.py)、[`test_credit_api.py`](/Users/wkc/Desktop/ccdi/ccdi/.worktrees/codex-credit-parsing-mock-server-backend/lsfx-mock-server/tests/test_credit_api.py),并补充 [`test_startup.py`](/Users/wkc/Desktop/ccdi/ccdi/.worktrees/codex-credit-parsing-mock-server-backend/lsfx-mock-server/tests/test_startup.py) 的路由注册断言。 ## 实现说明 ### 稳定随机策略 - 随机种子固定为 `model|hType|filename`。 - 同一组输入重复调用时,`payload` 全量字段保持一致。 - `amount` 输出为非负两位小数字符串。 - `count` 输出为非负整数字符串。 - `status` 严格从 schema 的 `options` 中选值,当前统一为 `正常`、`逾期`、`不良`。 - `string` 类型按字段语义生成: - `query_cert_no`:身份证号样式字符串 - `query_cust_name`:中文姓名样式字符串 - `report_time`:`YYYY-MM-DD` ### 说明书歧义处理 - 设计文档中已指出 `hType` 参数表写明只支持 `PERSON/ENTERPRISE`,但错误码 `ERR_10003` 的文案仍保留“仅支持JSON/XML”。 - 本次实现按参数表校验真实取值范围,只要 `hType` 不在 `PERSON/ENTERPRISE` 内,就返回 `ERR_10003`,同时保留说明书原始错误文案不改写。 ### 接口行为 - 接口层所有表单参数均使用 `Form(None)` / `File(None)` 接收,避免缺参时被 FastAPI 直接转换成 422。 - 缺参、非法主题域、非法 `hType`、调试错误码场景统一返回 `{message, payload, status_code}` 结构。 - 调试错误码通过 `model` 中包含 `error_ERR_10001` 这类标记触发。 ## 未包含内容 - 未实现真实 HTML 解析。 - 未新增设计文档之外的征信接口。 - 未引入运行时动态配置或管理页面。