diff --git a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectServiceImpl.java b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectServiceImpl.java index a6e0bb5..20f2e31 100644 --- a/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectServiceImpl.java +++ b/ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiProjectServiceImpl.java @@ -126,4 +126,43 @@ public class CcdiProjectServiceImpl implements ICcdiProjectService { return vo; } + + /** + * 调用流水分析平台获取projectId + * + * @param projectName 项目名称 + * @return 流水分析平台项目ID + * @throws ServiceException 调用失败或响应无效时抛出 + */ + private Integer callLsfxPlatform(String projectName) { + // 构建请求参数 + GetTokenRequest request = new GetTokenRequest(); + request.setProjectNo("902000_" + System.currentTimeMillis()); + request.setEntityName(projectName); + request.setUserId("902001"); + request.setUserName("902001"); + request.setRole("VIEWER"); + request.setOrgCode("902000"); + request.setAnalysisType("-1"); + request.setDepartmentCode("902000"); + + // 调用流水分析平台(异常处理和日志已在 LsfxAnalysisClient 中完成) + GetTokenResponse response = lsfxAnalysisClient.getToken(request); + + // 业务层校验:确保响应有效 + if (response == null || response.getData() == null) { + throw new ServiceException("流水分析平台响应数据为空"); + } + + if (response.getData().getProjectId() == null) { + throw new ServiceException("流水分析平台返回的projectId为空"); + } + + // 校验返回码 + if (!"200".equals(response.getCode())) { + throw new ServiceException("流水分析平台返回错误: " + response.getMessage()); + } + + return response.getData().getProjectId(); + } }