Files
ccdi/docs/tests/records/model-param-backend-alignment-test.md

109 lines
3.8 KiB
Markdown
Raw Normal View History

# 模型默认参数后端对齐验证记录
## 验证时间
- 2026-03-16
## 静态脚本比对
- 对比文件:
- `sql/ccdi_model_param.sql`
- `sql/2026-03-16-update-ccdi-model-param-defaults.sql`
- 校验结果:
- 系统默认模型数5
- 系统默认参数数16
- `model_code + param_code` 唯一组合数16
- `param_value` 均为原始字符串,不含千分位逗号
## 后端代码验证
- 单测命令:
- `mvn -pl ccdi-project -Dtest=CcdiModelParamServiceImplTest test`
- 结果:
- `BUILD SUCCESS`
- 覆盖 `default` 项目读取系统默认参数
- 覆盖默认项目首次保存时复制整套系统默认参数并切换为 `custom`
- 编译命令:
- `mvn -pl ccdi-project -am -DskipTests compile`
- 结果:
- `BUILD SUCCESS`
## 联调环境检查
- 使用配置:
- `ruoyi-admin/src/main/resources/application-local.yml`
- 数据库检查命令:
- `SELECT COUNT(*) AS total_rows, COUNT(DISTINCT model_code) AS model_count FROM ccdi_model_param WHERE project_id = 0;`
- 检查结果:
- 初始状态下,`project_id = 0` 默认参数记录数为 `0`
- 已执行 `sql/2026-03-16-update-ccdi-model-param-defaults.sql`
- 升级后,`project_id = 0` 默认参数记录数为 `16`
- 升级后默认模型数为 `5`
## 接口回归结论
- 已完成:
- 代码层行为通过单测验证
- SQL 初始化脚本与升级脚本产物一致
- `GET /ccdi/modelParam/listAll?projectId=0`
- `GET /ccdi/modelParam/listAll?projectId=<default项目ID>`
- `POST /ccdi/modelParam/saveAll`
## 接口回归结果
- 启动方式:
- 由于 `spring-boot:run` 在本地会读到不可达数据源,最终使用 `ruoyi-admin/target/ruoyi-admin.jar`
- 显式传入数据库、Redis、`ruoyi.profile` 参数启动
- 测试结束后已关闭后端进程
- 登录接口:
- `POST /login/test`
- 结果:成功获取 token
- 查询系统默认参数:
- `GET /ccdi/modelParam/listAll?projectId=0`
- 结果:返回 `5` 个模型、`16` 条参数
- 模型编码:`ABNORMAL_BEHAVIOR``LARGE_TRANSACTION``SUSPICIOUS_FOREIGN_EXCHANGE``SUSPICIOUS_GAMBLING``SUSPICIOUS_PART_TIME`
- 查询默认项目参数:
- 使用临时默认项目 `project_id = 39`
- `GET /ccdi/modelParam/listAll?projectId=39`
- 结果:返回 `5` 个模型、`16` 条参数,与系统默认参数一致
- 验证默认项目首次保存:
- `POST /ccdi/modelParam/saveAll`
- 请求:仅更新 `LARGE_TRANSACTION/SINGLE_TRANSACTION_AMOUNT = 2222`
- 结果:
- 接口返回 `保存成功`
- `ccdi_project.config_type``default` 变为 `custom`
- `ccdi_model_param` 为该项目复制了 `16` 条参数
- 唯一参数组合数为 `16`
- `LARGE_TRANSACTION/SINGLE_TRANSACTION_AMOUNT` 已更新为 `2222`
- 清理:
- 已删除临时测试项目 `project_id = 39` 及其参数数据
## 环境清理
- 已删除临时创建的测试项目数据,不保留额外脏数据
- 已关闭测试时启动的后端进程
## 2026-03-16 前端联调补充复核
- 本次前端联调复用了本地已运行的开发服务:
- 前端:`http://localhost`
- 后端:`http://localhost:62318`
- 实际联调页面:
- `/modelParam`
- `/ccdiProject/detail/36?tab=config`
- `/ccdiProject/detail/32?tab=config`
- 联调观察与接口一致:
- 全局页展示 `5` 个模型、`16` 个参数
- 默认项目 `projectId=36` 读取系统默认参数全集
- 历史 custom 项目 `projectId=32` 返回空模型集合,页面保持空状态,不补齐默认模型
- 联调过程中为验证保存链路曾触发真实保存,验证结束后已恢复现场:
- `projectId=0 / LARGE_TRANSACTION / SINGLE_TRANSACTION_AMOUNT` 已恢复为 `1111`
- `projectId=36` 已恢复为 `configType=default`
- `projectId=36` 的项目级参数副本已删除