Files
airz-uniapp/docs/评估版本与最新资料.md
T
hujun 3b2a0139e4 feat: 支持评估版本隔离的报告、匹配及PDF导出功能
新增revisionId参数到路由、服务及导出接口,实现不同评估版本的隔离访问。删除已废弃的需求相关服务文件,移除取消采集的融资金额、期限和用途字段,更新相关页面提示文本。同时更新文档,说明评估版本、最新资料及产品展示规则的调整,支持前台正常业务名称显示,去除环境标签。
2026-09-30 19:11:44 +08:00

51 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 评估版本与最新资料
2026-09-30:本地代码已实施,正式数据库迁移、配套PHP部署及维护验收已完成,服务恢复;小程序/H5尚未发布。本文覆盖旧文档中“一条资料代表一次评估”“重新评估一律空白新建”“身份证落库加密”的历史约定。会话任务列已精简为8列,逻辑状态继续保存在版本输入JSON中。
## 用户行为
- **发起新评估**:空白个人/企业表单,正式提交新增一条 `fa_ai_chat`。
- **修改资料并重新评估**:回填所选评估最新提交的完整资料,类型不可切换;提交复用原 `fa_ai_chat`,增加一个输入版本。不把另一份较新的独立评估资料混入本评估。
- 不保存草稿。正式提交时按用户和类型更新最新资料;分析失败不撤销此次正式提交。每用户在 `fa_user_info` 最多个人、企业各一条。
- 融资档案保留独立评估列表,并提供本评估版本历史和分页;历史输入与结果可单独查看。
- 重评处理中或失败保留上次成功报告;成功才整体发布新报告与匹配结果。旧版本不被后续修改覆盖。
- 继续使用inputVersion=3表单,不采集融资金额/期限/用途,也不显示这些取消字段的“未提供/待核实”。结果格式仍为resultVersion=2,不添加虚构分数。
## 存储及版本契约
| 表 | 约定 |
| --- | --- |
| `fa_user_info` | 最新正式资料,唯一 `(user_id,type)`;企业名称、信用代码、经营月数保留,`city_code` 在 `city` 前,末列 `delete_time` |
| `fa_ai_chat` | 独立评估及当前任务;`current_input_id` 最新提交,`published_input_id` 最新成功版;`match_result` 为匹配对象数组,含03/04页面所需冻结产品、规则证据及已有解释 |
| `fa_ai_chat_log.input_data` | 单个JSON存该版form/state/documents/consents/analysisContext/report/matches;system行作为版本,原聊天和模型调用记录继续保留 |
`revisionId` 是日志ID字符串,`revisionNo` 是同一评估内从1开始的展示序号;均不等于inputVersion/resultVersion。`assessmentId` 为公开评估编号,迁移保留旧值,新建使用会话ID;不得再用它查询最新资料表主键。
JSON结构:`schemaVersion:1, revisionNo, form, state, editId, baseRevisionId, documents, consents, report, matches, analysisContext`。form使用规范数据库字段,金额为元字符串;客户端展示万元,保留六位精度。迁移额外保存legacyProfile以保留旧列值。
身份证等业务身份资料按用户要求明文保存;完整回填仅本人鉴权接口可读。展示/PDF/模型白名单脱敏继续执行,业务明文要求不涉及登录密码、系统密钥和Token。
## 接口和并发
接口前缀 `/api/v1`:
| 接口 | 含义 |
| --- | --- |
| `POST /assessments` | 新建独立评估,requestId原键重放不新增、不回写最新资料 |
| `GET /assessments/:id/edit` | 本人最新提交版本的完整可编辑表单及baseRevisionId |
| `POST /assessments/:id/revisions` | 提交修改,携带baseRevisionId与独立requestId;版本冲突拒绝,处理中拒绝新修改 |
| `GET /assessments/:id/revisions` | 同评估版本分页,默认20条 |
| 详情、report、matches、产品详情、PDF | 支持revisionId;报告默认最新成功版,指定版本必须属于该评估与本人 |
用户/会话锁和锁定当前读保护幂等与序号。任务只读取提交快照;迟到任务不能覆盖新版本。失败重试复用该输入版本,修改提交才创建新版本。
报告→匹配→详情→对比→助手→下一步行动→PDF始终传递同一revisionId。对比选择按用户、评估、版本隔离;登录白名单保留版本。历史单产品解释只读;新版发布时中止旧版未完成解释,迟到用量仍留原调用日志。助手新会话冻结版本facts/view,旧会话继续原上下文,不随重评切换。
## 验证和发布
MySQL5.7.26及MySQL8隔离库各51项集成检查通过,覆盖并发新建/修改、归属、幂等、分页、失败保留报告、历史匹配/PDF/助手。真实5.7建表、合成旧库迁移及备份恢复演练通过。浏览器通过本机真实控制器和数据库联调,模型为合成响应,不收费;不代表正式域名可用或真实模型语义验收。
H5最终使用现有Playwright CLI(Browser plugin not available)验证390×844/1280×900:页面标题/内容、无框架遮罩、历史报告→匹配→对比→助手版本一致、行动页→本人修改回填及离页重进通过,console/pageerror无新增错误。修改页离页提示改为v-show,避免卸载期间创建原生文本节点。页面截图在本机临时目录保留;合成UI用户、Token、队列已清理,临时8097/3309服务已停止。微信和Android为本地编译验证,未做真机及完整登录交互验收。
后端正式维护记录与恢复方案:`D:/AAdesk/202609/airz/database/assessment-revisions.md`。用户授权后已迁移111.230.144.231:3306/airz并部署21个源码文件,63项真实本机HTTPS/FPM及假模型检查通过,新建/修改/历史PDF/助手及清理均验证,0次收费调用;原助手与22张无关表保留,worker恢复并实际消费失效合成任务。外网HTTP现为301跳转HTTPS,HTTPS仍连接重置;不能将服务器本机TLS通过视为外网恢复。新版前端与后端已配套,发行体验版前需解决外网访问并做真机验证。