Files
ccdi/doc/参数配置功能/03-后端功能测试.md
2026-02-26 10:38:23 +08:00

7.3 KiB

模型参数配置功能 - 后端功能测试

任务概述

任务编号: 03 任务名称: 后端功能测试 前置任务: 02-后端业务逻辑开发 预计工时: 1小时

任务目标

启动后端服务,使用 Swagger 测试所有接口,确保功能正常。


开发步骤

1. 启动后端服务

1.1 编译项目

# 在项目根目录执行
mvn clean compile

1.2 启动应用

方式一:使用 Maven

mvn spring-boot:run

方式二:使用启动脚本

# 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:

curl -X POST "http://localhost:8080/login/test?username=admin&password=admin123"

响应示例:

{
  "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"

预期响应:

{
  "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"

预期响应:

{
  "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 中填写:
{
  "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
    }
  ]
}
  1. 点击 "Execute"

预期响应:

{
  "msg": "保存成功",
  "code": 200
}

3.6 验证数据已更新

再次调用 GET /ccdi/modelParam/list 接口,确认参数值已更新为 60000 和 6000000。


4. 数据库验证

4.1 查询参数数据

-- 查询大额交易模型的参数
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_byupdate_time
  • 参数值已更新为提交的值
  • 其他未修改的参数保持原值

5. 安全性验证

5.1 验证只能修改阈值

尝试在保存接口中修改其他字段(如 param_name):

{
  "projectId": 0,
  "modelCode": "LARGE_TRANSACTION",
  "modelName": "大额交易模型",
  "params": [
    {
      "paramCode": "SINGLE_TRANSACTION_AMOUNT",
      "paramName": "修改后的名称",  // 尝试修改名称
      "paramValue": "70000",
      "paramUnit": "修改后的单位",  // 尝试修改单位
      "sortOrder": 1
    }
  ]
}

验证数据库:

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 测试人员: ___________ 测试环境:

测试结果:

测试项 预期结果 实际结果 是否通过
查询模型列表 返回3个模型
查询大额交易参数 返回6个参数
保存参数配置 返回成功
数据更新验证 数据已更新
安全性验证 只更新阈值

发现问题:

  • (如有问题请记录)

结论:

  • 通过
  • 不通过

注意事项

  1. 测试顺序: 必须按照测试步骤的顺序执行
  2. Token 有效期: Token 有效期 30 分钟,过期需重新获取
  3. 数据库连接: 确保数据库连接配置正确
  4. 端口占用: 确保 8080 端口未被占用
  5. 日志查看: 如遇问题,查看后端日志排查

下一步

完成本任务后,进入下一个任务: 04-前端代码开发.md