83 lines
3.5 KiB
Java
83 lines
3.5 KiB
Java
package com.ruoyi.lsfx.controller;
|
||
|
||
import com.ruoyi.common.core.domain.AjaxResult;
|
||
import com.ruoyi.lsfx.client.LsfxAnalysisClient;
|
||
import com.ruoyi.lsfx.domain.request.*;
|
||
import com.ruoyi.lsfx.domain.response.*;
|
||
import io.swagger.v3.oas.annotations.Operation;
|
||
import io.swagger.v3.oas.annotations.Parameter;
|
||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||
import org.springframework.web.bind.annotation.*;
|
||
import org.springframework.web.multipart.MultipartFile;
|
||
|
||
import jakarta.annotation.Resource;
|
||
|
||
/**
|
||
* 流水分析平台接口测试控制器
|
||
*/
|
||
@Tag(name = "流水分析平台接口测试", description = "用于测试流水分析平台的7个接口")
|
||
@RestController
|
||
@RequestMapping("/lsfx/test")
|
||
public class LsfxTestController {
|
||
|
||
@Resource
|
||
private LsfxAnalysisClient lsfxAnalysisClient;
|
||
|
||
@Operation(summary = "获取Token", description = "创建项目并获取访问Token")
|
||
@PostMapping("/getToken")
|
||
public AjaxResult getToken(@RequestBody GetTokenRequest request) {
|
||
GetTokenResponse response = lsfxAnalysisClient.getToken(request);
|
||
return AjaxResult.success(response);
|
||
}
|
||
|
||
@Operation(summary = "上传流水文件", description = "上传银行流水文件到流水分析平台")
|
||
@PostMapping("/uploadFile")
|
||
public AjaxResult uploadFile(
|
||
@Parameter(description = "项目ID") @RequestParam Integer groupId,
|
||
@Parameter(description = "流水文件") @RequestParam("file") MultipartFile file
|
||
) {
|
||
org.springframework.core.io.Resource fileResource = file.getResource();
|
||
UploadFileResponse response = lsfxAnalysisClient.uploadFile(groupId, fileResource);
|
||
return AjaxResult.success(response);
|
||
}
|
||
|
||
@Operation(summary = "拉取行内流水", description = "从数仓拉取行内流水数据")
|
||
@PostMapping("/fetchInnerFlow")
|
||
public AjaxResult fetchInnerFlow(@RequestBody FetchInnerFlowRequest request) {
|
||
FetchInnerFlowResponse response = lsfxAnalysisClient.fetchInnerFlow(request);
|
||
return AjaxResult.success(response);
|
||
}
|
||
|
||
@Operation(summary = "检查文件解析状态", description = "轮询检查上传文件的解析状态")
|
||
@PostMapping("/checkParseStatus")
|
||
public AjaxResult checkParseStatus(
|
||
@Parameter(description = "项目ID") @RequestParam Integer groupId,
|
||
@Parameter(description = "文件ID列表") @RequestParam String inprogressList
|
||
) {
|
||
CheckParseStatusResponse response = lsfxAnalysisClient.checkParseStatus(groupId, inprogressList);
|
||
return AjaxResult.success(response);
|
||
}
|
||
|
||
@Operation(summary = "获取银行流水列表(新版)",
|
||
description = "分页获取指定文件的银行流水数据,需要提供logId参数")
|
||
@PostMapping("/getBankStatement")
|
||
public AjaxResult getBankStatement(@RequestBody GetBankStatementRequest request) {
|
||
// 参数校验
|
||
if (request.getGroupId() == null) {
|
||
return AjaxResult.error("参数不完整:groupId为必填");
|
||
}
|
||
if (request.getLogId() == null) {
|
||
return AjaxResult.error("参数不完整:logId为必填(文件ID)");
|
||
}
|
||
if (request.getPageNow() == null || request.getPageNow() < 1) {
|
||
return AjaxResult.error("参数不完整:pageNow为必填且大于0");
|
||
}
|
||
if (request.getPageSize() == null || request.getPageSize() < 1) {
|
||
return AjaxResult.error("参数不完整:pageSize为必填且大于0");
|
||
}
|
||
|
||
GetBankStatementResponse response = lsfxAnalysisClient.getBankStatement(request);
|
||
return AjaxResult.success(response);
|
||
}
|
||
}
|