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

109 lines
3.8 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-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` 的项目级参数副本已删除