Files
ccdi/doc/测试文档/流水分析接口测试脚本.md
2026-03-03 16:11:03 +08:00

6.0 KiB
Raw Blame History

流水分析接口测试脚本

环境配置

测试说明

本测试脚本用于验证 ccdi-lsfx 模块的 form-data 接口改造。所有接口已从 JSON 格式改为 multipart/form-data 格式。


1. 获取 Token

接口说明: 获取访问令牌

请求示例:

curl -X POST "http://localhost:8080/lsfx/test/getToken" \
  -H "Content-Type: multipart/form-data" \
  -F "projectNo=902000_202603021400" \
  -F "entityName=902000_202603021400" \
  -F "userId=testuser" \
  -F "userName=测试用户" \
  -F "orgCode=ORG001" \
  -F "entityId=ENTITY001" \
  -F "role=审查人员" \
  -F "analysisType=流水分析" \
  -F "departmentCode=DEPT001"

预期响应:

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "projectId": 123,
    "token": "mock-token-xxx",
    "groupId": 456
  }
}

2. 上传文件

接口说明: 上传银行流水文件

请求示例:

curl -X POST "http://localhost:8080/lsfx/test/uploadFile" \
  -H "Content-Type: multipart/form-data" \
  -F "groupId=456" \
  -F "file=@test-data.xlsx"

预期响应:

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "uploadLogList": [
      {
        "logId": 789,
        "fileName": "test-data.xlsx",
        "uploadTime": "2026-03-03 14:00:00"
      }
    ]
  }
}

3. 拉取行内流水

接口说明: 从核心系统拉取行内流水数据

请求示例:

curl -X POST "http://localhost:8080/lsfx/test/fetchInnerFlow" \
  -H "Content-Type: multipart/form-data" \
  -F "groupId=456" \
  -F "customerNo=CUST001" \
  -F "dataChannelCode=CHANNEL001" \
  -F "requestDateId=20260303" \
  -F "dataStartDateId=20260101" \
  -F "dataEndDateId=20260303" \
  -F "uploadUserId=testuser"

预期响应:

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "code": "SUCCESS",
    "message": "拉取成功",
    "fetchTime": "2026-03-03 14:00:00"
  }
}

4. 检查解析状态

接口说明: 检查文件解析状态

请求示例:

curl -X POST "http://localhost:8080/lsfx/test/checkParseStatus" \
  -H "Content-Type: multipart/form-data" \
  -F "groupId=456" \
  -F "inprogressList=789,790,791"

预期响应:

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "parsing": false,
    "pendingList": [
      {
        "logId": 789,
        "fileName": "test-data.xlsx",
        "status": "COMPLETED"
      }
    ]
  }
}

5. 获取银行流水

接口说明: 分页获取银行流水明细

请求示例:

curl -X POST "http://localhost:8080/lsfx/test/getBankStatement" \
  -H "Content-Type: multipart/form-data" \
  -F "groupId=456" \
  -F "logId=789" \
  -F "pageNow=1" \
  -F "pageSize=20"

预期响应:

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "totalCount": 100,
    "totalPage": 5,
    "currentPage": 1,
    "pageSize": 20,
    "list": [
      {
        "transactionDate": "2026-01-15",
        "transactionAmount": 10000.00,
        "balance": 50000.00,
        "summary": "转账收入"
      }
    ]
  }
}

测试步骤

步骤 1: 启动 Mock Server

确保 Mock Server 已启动并监听在 http://localhost:8000

# 示例:如果使用 Python Flask
python lsfx-mock-server/app.py

步骤 2: 启动后端服务

cd ruoyi-admin
mvn spring-boot:run

或使用 Windows 脚本:

ry.bat

步骤 3: 获取访问 Token

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

记录返回的 token。

步骤 4: 执行接口测试

按照上述接口顺序依次测试。

步骤 5: 验证日志

检查后端日志,确认:

  • 所有请求都使用了 postFormData 方法
  • Content-Type 为 multipart/form-data
  • 响应正常解析

常见问题

Q1: 接口返回 401 Unauthorized

解决方案: 先调用登录接口获取 token并在后续请求中添加 Authorization header。

Q2: 接口返回 400 Bad Request

可能原因:

  • 参数名称错误
  • 缺少必填参数
  • 参数格式不正确

解决方案: 检查请求参数是否完整且格式正确。

Q3: 文件上传失败

可能原因:

  • 文件路径错误
  • 文件大小超过限制(默认 10MB

解决方案:

  • 使用绝对路径或正确的相对路径
  • 检查文件大小

技术要点

Form-Data 格式说明

本次改造将所有接口从 JSON 格式改为 multipart/form-data 格式:

改造前JSON:

Content-Type: application/json

{
  "projectNo": "902000_202603021400",
  "entityName": "902000_202603021400",
  ...
}

改造后Form-Data:

Content-Type: multipart/form-data; boundary=----WebKitFormBoundary

------WebKitFormBoundary
Content-Disposition: form-data; name="projectNo"

902000_202603021400
------WebKitFormBoundary
Content-Disposition: form-data; name="entityName"

902000_202603021400
------WebKitFormBoundary
...

ObjectUtil 工具类

改造中新增了 ObjectUtil 工具类,用于简化对象转 Map 的操作:

// 改造前
Map<String, Object> params = new HashMap<>();
params.put("projectNo", request.getProjectNo());
params.put("entityName", request.getEntityName());
// ... 手动添加所有字段

// 改造后
Map<String, Object> params = ObjectUtil.toMapIgnoreNull(request);
// 只需手动添加特殊字段

测试清单

  • 接口1获取 Token - 通过
  • 接口2上传文件 - 通过
  • 接口3拉取行内流水 - 通过
  • 接口4检查解析状态 - 通过
  • 接口5获取银行流水 - 通过
  • 日志验证 - 所有接口都使用 postFormData
  • 异常处理 - 正常捕获并处理异常

测试结果记录

测试日期: 2026-03-03

测试环境:

测试结论: 待填写

问题记录: 待填写