From e9d6b0245a18b358302a9df47cf5cf75f66ff16d Mon Sep 17 00:00:00 2001 From: wkc <978997012@qq.com> Date: Mon, 2 Mar 2026 10:05:38 +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=E5=AE=A2=E6=88=B7=E7=AB=AF=EF=BC=88=E6=8E=A5?= =?UTF-8?q?=E5=8F=A31-3=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/lsfx/client/LsfxAnalysisClient.java | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 ccdi-lsfx/src/main/java/com/ruoyi/lsfx/client/LsfxAnalysisClient.java diff --git a/ccdi-lsfx/src/main/java/com/ruoyi/lsfx/client/LsfxAnalysisClient.java b/ccdi-lsfx/src/main/java/com/ruoyi/lsfx/client/LsfxAnalysisClient.java new file mode 100644 index 0000000..fb9299a --- /dev/null +++ b/ccdi-lsfx/src/main/java/com/ruoyi/lsfx/client/LsfxAnalysisClient.java @@ -0,0 +1,87 @@ +package com.ruoyi.lsfx.client; + +import com.ruoyi.lsfx.constants.LsfxConstants; +import com.ruoyi.lsfx.domain.request.*; +import com.ruoyi.lsfx.domain.response.*; +import com.ruoyi.lsfx.util.HttpUtil; +import com.ruoyi.lsfx.util.MD5Util; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.io.Resource; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; + +/** + * 流水分析平台客户端 + */ +@Component +public class LsfxAnalysisClient { + + @Resource + private HttpUtil httpUtil; + + @Value("${lsfx.api.base-url}") + private String baseUrl; + + @Value("${lsfx.api.app-id}") + private String appId; + + @Value("${lsfx.api.app-secret}") + private String appSecret; + + @Value("${lsfx.api.client-id}") + private String clientId; + + /** + * 获取Token + */ + public GetTokenResponse getToken(GetTokenRequest request) { + String secretCode = MD5Util.generateSecretCode( + request.getProjectNo(), + request.getEntityName(), + appSecret + ); + request.setAppSecretCode(secretCode); + request.setAppId(appId); + + if (request.getAnalysisType() == null) { + request.setAnalysisType(LsfxConstants.ANALYSIS_TYPE); + } + if (request.getRole() == null) { + request.setRole(LsfxConstants.DEFAULT_ROLE); + } + + String url = baseUrl + "/account/common/getToken"; + return httpUtil.postJson(url, request, GetTokenResponse.class); + } + + /** + * 上传文件 + */ + public UploadFileResponse uploadFile(Integer groupId, Resource file) { + String url = baseUrl + "/watson/api/project/remoteUploadSplitFile"; + + Map params = new HashMap<>(); + params.put("groupId", groupId); + params.put("files", file); + + Map headers = new HashMap<>(); + headers.put(LsfxConstants.HEADER_CLIENT_ID, clientId); + + return httpUtil.uploadFile(url, params, headers, UploadFileResponse.class); + } + + /** + * 拉取行内流水 + */ + public FetchInnerFlowResponse fetchInnerFlow(FetchInnerFlowRequest request) { + String url = baseUrl + "/watson/api/project/getJZFileOrZjrcuFile"; + + Map headers = new HashMap<>(); + headers.put(LsfxConstants.HEADER_CLIENT_ID, clientId); + + return httpUtil.postJson(url, request, headers, FetchInnerFlowResponse.class); + } +}