From 30393005186ff761381bea919996019d69240844 Mon Sep 17 00:00:00 2001 From: wkc <978997012@qq.com> Date: Mon, 2 Mar 2026 10:14:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E5=88=86=E6=9E=90=E6=B5=8B=E8=AF=95=E6=8E=A7=E5=88=B6=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lsfx/controller/LsfxTestController.java | 84 +++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 ccdi-lsfx/src/main/java/com/ruoyi/lsfx/controller/LsfxTestController.java diff --git a/ccdi-lsfx/src/main/java/com/ruoyi/lsfx/controller/LsfxTestController.java b/ccdi-lsfx/src/main/java/com/ruoyi/lsfx/controller/LsfxTestController.java new file mode 100644 index 0000000..f86a405 --- /dev/null +++ b/ccdi-lsfx/src/main/java/com/ruoyi/lsfx/controller/LsfxTestController.java @@ -0,0 +1,84 @@ +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 org.springframework.core.io.Resource; + +import javax.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 + ) { + 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 = "确认文件后生成尽调报告") + @PostMapping("/generateReport") + public AjaxResult generateReport(@RequestBody GenerateReportRequest request) { + GenerateReportResponse response = lsfxAnalysisClient.generateReport(request); + return AjaxResult.success(response); + } + + @Operation(summary = "检查报告生成状态", description = "轮询检查尽调报告生成状态") + @GetMapping("/checkReportStatus") + public AjaxResult checkReportStatus( + @Parameter(description = "项目ID") @RequestParam Integer groupId + ) { + CheckReportStatusResponse response = lsfxAnalysisClient.checkReportStatus(groupId); + return AjaxResult.success(response); + } + + @Operation(summary = "获取银行流水列表", description = "分页获取银行流水数据") + @PostMapping("/getBankStatement") + public AjaxResult getBankStatement(@RequestBody GetBankStatementRequest request) { + GetBankStatementResponse response = lsfxAnalysisClient.getBankStatement(request); + return AjaxResult.success(response); + } +}