From b10b83b078d54d21d56f76fdb180dd25dcb49a30 Mon Sep 17 00:00:00 2001 From: even <827656971@qq.com> Date: Fri, 13 Jun 2025 19:31:59 +0800 Subject: [PATCH] =?UTF-8?q?sast=E6=96=B9=E6=B3=95=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cd/casic/ci/api/SastController.java | 7 +++++++ .../ci/process/constant/SastUrlConstant.java | 1 + .../process/dto/resp/sast/SastLanguageResp.java | 16 ++++++++++++++++ .../process/service/sast/SastService.java | 3 +++ .../service/sast/impl/SastServiceImpl.java | 10 ++++++++++ 5 files changed, 37 insertions(+) create mode 100644 modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dto/resp/sast/SastLanguageResp.java diff --git a/modules/module-ci-process-api/src/main/java/cd/casic/ci/api/SastController.java b/modules/module-ci-process-api/src/main/java/cd/casic/ci/api/SastController.java index 170885c2..3f406d22 100644 --- a/modules/module-ci-process-api/src/main/java/cd/casic/ci/api/SastController.java +++ b/modules/module-ci-process-api/src/main/java/cd/casic/ci/api/SastController.java @@ -8,6 +8,8 @@ import cd.casic.ci.process.dto.resp.sast.*; import cd.casic.ci.process.process.service.sast.SastService; import cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstants; import cd.casic.framework.commons.pojo.CommonResult; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import jakarta.annotation.Resource; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.Negative; @@ -85,4 +87,9 @@ public class SastController { public CommonResult reportDownLoad(String reportId){ return CommonResult.success(sastService.reportDownload(reportId)); } + + @GetMapping("/language") + public CommonResult> language(){ + return CommonResult.success(sastService.language()); + } } diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/constant/SastUrlConstant.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/constant/SastUrlConstant.java index e524d436..9c31c6f0 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/constant/SastUrlConstant.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/constant/SastUrlConstant.java @@ -13,4 +13,5 @@ public class SastUrlConstant { public static final String getApplicationEcho = "/invoke/application/getApplicationEcho"; public static final String reportIndex = "/api/report/index"; public static final String reportDownload = "/api/report/index/download"; + public static final String language = "/invoke/language"; } diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dto/resp/sast/SastLanguageResp.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dto/resp/sast/SastLanguageResp.java new file mode 100644 index 00000000..2fe28be6 --- /dev/null +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/dto/resp/sast/SastLanguageResp.java @@ -0,0 +1,16 @@ +package cd.casic.ci.process.dto.resp.sast; + +import lombok.Data; + +import java.util.List; +@Data +public class SastLanguageResp { + private String type; + private List languageInfos; + @Data + public static class SastLanguageInfoResp{ + private String id; + private String language; + private Boolean compileFlag; + } +} diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sast/SastService.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sast/SastService.java index aefc68fa..7effeb76 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sast/SastService.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sast/SastService.java @@ -4,6 +4,8 @@ import cd.casic.ci.process.dto.req.sast.SastApplicationCreateReq; import cd.casic.ci.process.dto.req.sast.SastIdentifiedLanguageTaskReq; import cd.casic.ci.process.dto.req.sast.SastReportCreateReq; import cd.casic.ci.process.dto.resp.sast.*; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import jakarta.servlet.http.HttpServletResponse; import java.io.File; @@ -21,4 +23,5 @@ public interface SastService { SastApplicationEchoResp getApplicationEcho(String applicationId); String reportIndex(SastReportCreateReq req); public String reportDownload(String reportId); + public List language(); } diff --git a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sast/impl/SastServiceImpl.java b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sast/impl/SastServiceImpl.java index 75a3a199..85ac20c2 100644 --- a/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sast/impl/SastServiceImpl.java +++ b/modules/module-ci-process-biz/src/main/java/cd/casic/ci/process/process/service/sast/impl/SastServiceImpl.java @@ -191,6 +191,16 @@ public class SastServiceImpl implements SastService { ResponseEntity exchange = restTemplate.exchange(uriString, HttpMethod.GET,entity, String.class,new HashMap<>()); return exchange.getBody().replaceAll("\"",""); } + @Override + public List language(){ + HttpHeaders httpHeaders = getHeaders(); + Map entityMap = new HashMap<>(); + HttpEntity> entity = new HttpEntity<>(entityMap,httpHeaders); + String uriString = UriComponentsBuilder.fromHttpUrl(sastProperties.getBaseUrl() + language).queryParam("codeSourceFrom", "CODE").toUriString(); + System.out.println(uriString); + ResponseEntity exchange = restTemplate.exchange(uriString, HttpMethod.GET,entity, String.class,new HashMap<>()); + return JSON.parseArray(exchange.getBody(),SastLanguageResp.class); + } private HttpHeaders getHeaders(){ HttpHeaders httpHeaders = new HttpHeaders();