sast接口,sastWorker修改

This commit is contained in:
even 2025-06-12 18:32:48 +08:00
parent 36174afe65
commit a96be704e2
4 changed files with 44 additions and 6 deletions

View File

@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
@ -28,10 +29,20 @@ public class SastController {
}
@PostMapping("/uploadFile")
public CommonResult<SastFileUploadResp> uploadFile(MultipartFile multipartFile){
File tempFile = null;
try {
return CommonResult.success(sastService.uploadFile(multipartFile.getResource().getFile()));
byte[] bytes = multipartFile.getBytes();
String[] split = multipartFile.getOriginalFilename().split("\\.");
tempFile = File.createTempFile(split[0], "."+split[1]);
FileOutputStream fos = new FileOutputStream(tempFile);
fos.write(bytes);
return CommonResult.success(sastService.uploadFile(tempFile));
} catch (IOException e) {
return CommonResult.error(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR);
}finally {
if (tempFile!=null) {
tempFile.deleteOnExit();
}
}
}
@PostMapping("/createIdentifiedLanguageTask")

View File

@ -2,25 +2,49 @@ package cd.casic.ci.process.engine.worker;
import cd.casic.ci.process.common.WorkAtom;
import cd.casic.ci.process.dto.req.sast.SastApplicationCreateReq;
import cd.casic.ci.process.dto.resp.sast.SastApplicationCreateResp;
import cd.casic.ci.process.dto.resp.sast.SastApplicationEchoResp;
import cd.casic.ci.process.engine.runContext.TaskRunContext;
import cd.casic.ci.process.engine.worker.base.BaseWorker;
import cd.casic.ci.process.process.converter.SastConverter;
import cd.casic.ci.process.process.dataObject.base.PipBaseElement;
import cd.casic.ci.process.process.dataObject.task.PipTask;
import cd.casic.ci.process.process.service.sast.SastService;
import com.alibaba.fastjson.JSON;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
/**
* sast
* */
@Slf4j
@WorkAtom(taskType = "SAST")
public class SastWorker extends BaseWorker {
@Resource
private SastService sastService;
@Resource
private SastConverter converter;
@Override
public void execute(TaskRunContext context) {
PipBaseElement contextDef = context.getContextDef();
String id = contextDef.getId();
log.info("==============触发worker执行========");
log.info("==========运行context{}===========", JSON.toJSONString(context));
if (contextDef instanceof PipTask task) {
String applicationId = (String)task.getTaskProperties().get("applicationId");
SastApplicationEchoResp applicationEcho = sastService.getApplicationEcho(applicationId);
append(context,"获取到sast任务配置"+JSON.toJSONString(applicationEcho));
SastApplicationCreateReq sastApplicationCreateReq = converter.converter(applicationEcho);
List<String> list = applicationEcho.getLodeFiles().stream().map(SastApplicationEchoResp.LodeFile::getFileId).toList();
sastApplicationCreateReq.setFileId(list);
append(context,"开始启动SAST任务,检测文件信息:{}"+JSON.toJSONString(applicationEcho.getLodeFiles()));
log.info("SAST启动任务入参:{}",JSON.toJSONString(sastApplicationCreateReq));
SastApplicationCreateResp sastApplicationCreateResp = sastService.applicationCreate(sastApplicationCreateReq);
log.info("SAST启动任务返回值:{}",JSON.toJSONString(sastApplicationCreateResp));
append(context,"启动任务完毕");
}
}
}

View File

@ -163,7 +163,9 @@ public class SastServiceImpl implements SastService {
String uriString = UriComponentsBuilder.fromHttpUrl(baseUrl + getApplicationEcho).queryParam("applicationId", applicationId).toUriString();
System.out.println(uriString);
ResponseEntity<SastApplicationEchoResp> exchange = restTemplate.exchange(uriString, HttpMethod.GET,entity,SastApplicationEchoResp.class,new HashMap<>());
return exchange.getBody();
SastApplicationEchoResp body = exchange.getBody();
body.setApplicationId(applicationId);
return body;
}
private HttpHeaders getHeaders(){

View File

@ -35,6 +35,8 @@ public class SastTest {
ThreadPoolTaskExecutor workerExecutor;
@Resource
RedisTemplateUtils redisTemplateUtils;
@Resource
private SastConverter converter;
@Test
public void properties(){
System.out.println(JSON.toJSONString(sastProperties));
@ -117,8 +119,7 @@ public class SastTest {
public void applicationEcho(){
System.out.println(sastService.getApplicationEcho("98776c27-0f8b-4884-abed-26b384008968"));
}
@Resource
private SastConverter converter;
@Test
public void applicationCreate(){
SastApplicationEchoResp applicationEcho = sastService.getApplicationEcho("98776c27-0f8b-4884-abed-26b384008968");