# 模型参数配置功能 - 后端功能测试 ## 任务概述 **任务编号:** 03 **任务名称:** 后端功能测试 **前置任务:** 02-后端业务逻辑开发 **预计工时:** 1小时 ## 任务目标 启动后端服务,使用 Swagger 测试所有接口,确保功能正常。 --- ## 开发步骤 ### 1. 启动后端服务 #### 1.1 编译项目 ```bash # 在项目根目录执行 mvn clean compile ``` #### 1.2 启动应用 **方式一:使用 Maven** ```bash mvn spring-boot:run ``` **方式二:使用启动脚本** ```bash # Windows ry.bat # Linux/Mac ./ry.sh start ``` #### 1.3 验证启动成功 访问: http://localhost:8080 看到若依登录页面即表示启动成功。 --- ### 2. 获取测试 Token #### 2.1 登录获取 Token **请求地址:** ``` POST http://localhost:8080/login/test?username=admin&password=admin123 ``` **使用 curl:** ```bash curl -X POST "http://localhost:8080/login/test?username=admin&password=admin123" ``` **响应示例:** ```json { "msg": "操作成功", "code": 200, "data": { "token": "eyJhbGciOiJIUzUxMiJ9..." } } ``` **记录 Token:** 将返回的 token 值保存,后续测试需要使用。 --- ### 3. Swagger 接口测试 #### 3.1 访问 Swagger UI 浏览器访问: http://localhost:8080/swagger-ui/index.html #### 3.2 配置 Authorization 1. 点击右上角 "Authorize" 按钮 2. 在弹出框中输入: `Bearer <你的token>` 3. 点击 "Authorize" 确认 #### 3.3 测试接口1: 查询模型列表 **接口路径:** `GET /ccdi/modelParam/modelList` **测试步骤:** 1. 在 Swagger UI 中找到 "模型参数配置" 分组 2. 点击 `GET /ccdi/modelParam/modelList` 接口 3. 点击 "Try it out" 4. 参数 `projectId` 留空(默认查询系统参数) 5. 点击 "Execute" **预期响应:** ```json { "msg": "操作成功", "code": 200, "data": [ { "modelCode": "LARGE_TRANSACTION", "modelName": "大额交易模型" }, { "modelCode": "SUSPICIOUS_FOREIGN_EXCHANGE", "modelName": "可疑外汇交易模型" }, { "modelCode": "SUSPICIOUS_PART_TIME", "modelName": "可疑兼职模型" } ] } ``` #### 3.4 测试接口2: 查询模型参数列表 **接口路径:** `GET /ccdi/modelParam/list` **测试步骤:** 1. 点击 `GET /ccdi/modelParam/list` 接口 2. 点击 "Try it out" 3. 参数填写: - `modelCode`: `LARGE_TRANSACTION` - `projectId`: 留空 4. 点击 "Execute" **预期响应:** ```json { "msg": "操作成功", "code": 200, "data": [ { "id": 1, "modelCode": "LARGE_TRANSACTION", "modelName": "大额交易模型", "paramCode": "SINGLE_TRANSACTION_AMOUNT", "paramName": "单笔交易额", "paramDesc": "单笔超过该金额视为大额交易", "paramValue": "50000", "paramUnit": "元", "sortOrder": 1 }, ... ] } ``` #### 3.5 测试接口3: 保存参数配置 **接口路径:** `POST /ccdi/modelParam/save` **测试步骤:** 1. 点击 `POST /ccdi/modelParam/save` 接口 2. 点击 "Try it out" 3. 在 Request body 中填写: ```json { "projectId": 0, "modelCode": "LARGE_TRANSACTION", "modelName": "大额交易模型", "params": [ { "paramCode": "SINGLE_TRANSACTION_AMOUNT", "paramName": "单笔交易额", "paramDesc": "单笔超过该金额视为大额交易", "paramValue": "60000", "paramUnit": "元", "sortOrder": 1 }, { "paramCode": "CUMULATIVE_TRANSACTION_AMOUNT", "paramName": "累计交易额", "paramDesc": "年累计交易额超过该金额", "paramValue": "6000000", "paramUnit": "元", "sortOrder": 2 } ] } ``` 4. 点击 "Execute" **预期响应:** ```json { "msg": "保存成功", "code": 200 } ``` #### 3.6 验证数据已更新 再次调用 `GET /ccdi/modelParam/list` 接口,确认参数值已更新为 60000 和 6000000。 --- ### 4. 数据库验证 #### 4.1 查询参数数据 ```sql -- 查询大额交易模型的参数 SELECT id, model_code, param_name, param_value, update_by, update_time FROM ccdi_model_param WHERE model_code = 'LARGE_TRANSACTION' ORDER BY sort_order; ``` **预期结果:** ``` id | model_code | param_name | param_value | update_by | update_time ---|---------------------|-------------------------|-------------|-----------|------------------ 1 | LARGE_TRANSACTION | 单笔交易额 | 60000 | admin | 2026-02-26 10:30:00 2 | LARGE_TRANSACTION | 累计交易额 | 6000000 | admin | 2026-02-26 10:30:00 3 | LARGE_TRANSACTION | 大额存现 | 200000 | NULL | 2026-02-26 09:00:00 4 | LARGE_TRANSACTION | 短时多次存现 | 100000 | NULL | 2026-02-26 09:00:00 5 | LARGE_TRANSACTION | 频繁转账 | 10 | NULL | 2026-02-26 09:00:00 6 | LARGE_TRANSACTION | 转账频率 | 1000000 | NULL | 2026-02-26 09:00:00 ``` 验证点: - ✅ 只有被修改的参数有 `update_by` 和 `update_time` - ✅ 参数值已更新为提交的值 - ✅ 其他未修改的参数保持原值 --- ### 5. 安全性验证 #### 5.1 验证只能修改阈值 尝试在保存接口中修改其他字段(如 param_name): ```json { "projectId": 0, "modelCode": "LARGE_TRANSACTION", "modelName": "大额交易模型", "params": [ { "paramCode": "SINGLE_TRANSACTION_AMOUNT", "paramName": "修改后的名称", // 尝试修改名称 "paramValue": "70000", "paramUnit": "修改后的单位", // 尝试修改单位 "sortOrder": 1 } ] } ``` **验证数据库:** ```sql SELECT param_name, param_unit, param_value FROM ccdi_model_param WHERE param_code = 'SINGLE_TRANSACTION_AMOUNT'; ``` **预期结果:** - ✅ `param_value` 已更新为 70000 - ✅ `param_name` 仍为 "单笔交易额" (未改变) - ✅ `param_unit` 仍为 "元" (未改变) --- ## 测试清单 完成以下测试后,本任务才算完成: - [ ] 后端服务启动成功 - [ ] 获取 Token 成功 - [ ] Swagger 测试:查询模型列表接口正常 - [ ] Swagger 测试:查询参数列表接口正常 - [ ] Swagger 测试:保存参数接口正常 - [ ] 数据库验证:数据已正确更新 - [ ] 安全性验证:只能修改阈值字段 --- ## 测试报告模板 完成测试后,请填写以下测试报告: ### 测试报告 **测试日期:** 2026-02-26 **测试人员:** ___________ **测试环境:** - 数据库地址: ___________ - 后端地址: http://localhost:8080 **测试结果:** | 测试项 | 预期结果 | 实际结果 | 是否通过 | |----------|--------|------|------| | 查询模型列表 | 返回3个模型 | | | | 查询大额交易参数 | 返回6个参数 | | | | 保存参数配置 | 返回成功 | | | | 数据更新验证 | 数据已更新 | | | | 安全性验证 | 只更新阈值 | | | **发现问题:** - (如有问题请记录) **结论:** - [ ] 通过 - [ ] 不通过 --- ## 注意事项 1. **测试顺序**: 必须按照测试步骤的顺序执行 2. **Token 有效期**: Token 有效期 30 分钟,过期需重新获取 3. **数据库连接**: 确保数据库连接配置正确 4. **端口占用**: 确保 8080 端口未被占用 5. **日志查看**: 如遇问题,查看后端日志排查 --- ## 下一步 完成本任务后,进入下一个任务: **04-前端代码开发.md**