Merge branch 'master' of http://1.14.125.6:3000/mianbin/ops-pro
This commit is contained in:
commit
f4027cb186
@ -7,6 +7,7 @@ import cd.casic.ci.process.dto.req.pipeline.PipelineReq;
|
||||
import cd.casic.ci.process.dto.req.pipeline.PipelineUpdateReq;
|
||||
import cd.casic.ci.process.dto.resp.context.TreeRunContextResp;
|
||||
import cd.casic.ci.process.dto.resp.pipeline.PipelineFindResp;
|
||||
import cd.casic.ci.process.dto.resp.pipeline.PipelineUseCountResp;
|
||||
import cd.casic.ci.process.engine.executor.PipelineExecutor;
|
||||
import cd.casic.ci.process.engine.runContext.PipelineRunContext;
|
||||
import cd.casic.ci.process.enums.PiplineTriggerModeEnum;
|
||||
@ -126,4 +127,10 @@ public class AiPipelineController {
|
||||
|
||||
return CommonResult.success();
|
||||
}
|
||||
|
||||
@GetMapping(path="/countPipelineByUserId")
|
||||
public CommonResult<PipelineUseCountResp> countPipelineByUserId(@RequestParam("userId") @Valid Long userId){
|
||||
return CommonResult.success(pipelineService.countPipelineByUserId(userId));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -10,8 +10,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.net.URLDecoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
/**
|
||||
* 数据分析 NUDT数据安全态势
|
||||
*
|
||||
* @author: Paul
|
||||
* @create: 2025-07-29 13:52
|
||||
*/
|
||||
@ -25,28 +29,41 @@ public class DataAnalysisController {
|
||||
|
||||
@Operation(summary = "人数,任务次数,漏洞总数,高危漏洞 统计")
|
||||
@GetMapping("/userAndTaskCount")
|
||||
public CommonResult userAndTaskDataCount(@RequestParam(required = false,value = "city") String city){
|
||||
public CommonResult userAndTaskDataCount(@RequestParam(required = false, value = "city") String city) {
|
||||
if (city != null) {
|
||||
city = URLDecoder.decode(city, StandardCharsets.UTF_8);
|
||||
}
|
||||
return CommonResult.success(dataAnalysisService.getUserAndTaskDataCount(city));
|
||||
}
|
||||
|
||||
@Operation(summary = "漏洞监测分布概览")
|
||||
@GetMapping("/HoopVulCount")
|
||||
public CommonResult HoopVulDataCount(@RequestParam(required = false,value = "city") String city){
|
||||
public CommonResult HoopVulDataCount(@RequestParam(required = false, value = "city") String city) {
|
||||
return CommonResult.success(dataAnalysisService.getHoopVulCountList());
|
||||
}
|
||||
|
||||
@Operation(summary = "资源分配数据概览")
|
||||
@GetMapping("/ResourceDistList")
|
||||
public CommonResult ResourceDistList(@RequestParam(required = false,value = "city") String city){
|
||||
public CommonResult ResourceDistList(@RequestParam(required = false, value = "city") String city) {
|
||||
if (city != null) {
|
||||
city = URLDecoder.decode(city, StandardCharsets.UTF_8);
|
||||
}
|
||||
return CommonResult.success(dataAnalysisService.getResourceDistCountList(city));
|
||||
}
|
||||
|
||||
@Operation(summary = "漏洞监测数据概览")
|
||||
@GetMapping("/VulMonitorDataList")
|
||||
public CommonResult VulMonitorDataList(@RequestParam(required = false,value = "city") String city){
|
||||
public CommonResult VulMonitorDataList(@RequestParam(required = false, value = "city") String city) {
|
||||
if (city != null) {
|
||||
city = URLDecoder.decode(city, StandardCharsets.UTF_8);
|
||||
}
|
||||
return CommonResult.success(dataAnalysisService.getVulMonitorCountList(city));
|
||||
}
|
||||
|
||||
@Operation(summary = "人数,任务次数,漏洞总数,高危漏洞 统计 列表")
|
||||
@GetMapping("/userAndTaskCountList")
|
||||
public CommonResult userAndTaskCountList(@RequestParam(required = false, value = "city") String city) {
|
||||
return CommonResult.success(dataAnalysisService.userAndTaskCountList(city));
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,28 @@
|
||||
package cd.casic.ci.process.dto.resp.pipeline;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author: Paul
|
||||
* @create: 2025-07-30 15:44
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
public class PipelineUseCountResp {
|
||||
|
||||
/**
|
||||
* 我的作业
|
||||
*/
|
||||
private Integer work;
|
||||
|
||||
/**
|
||||
* 我的参与
|
||||
*/
|
||||
private Integer involved;
|
||||
|
||||
/**
|
||||
* 我的收藏
|
||||
*/
|
||||
private Integer collect;
|
||||
}
|
@ -4,6 +4,7 @@ import cd.casic.ci.process.dto.resp.dataAnalysis.DataAnalysisResp;
|
||||
import cd.casic.ci.process.process.dataObject.volumnInfo.VulInfo;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface DataAnalysisService {
|
||||
|
||||
@ -22,8 +23,5 @@ public interface DataAnalysisService {
|
||||
List<VulInfo> getVulMonitorCountList(String city);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
List<Map<String,DataAnalysisResp>> userAndTaskCountList(String city);
|
||||
}
|
||||
|
@ -101,4 +101,24 @@ public class DataAnalysisServiceImpl implements DataAnalysisService {
|
||||
public List<VulInfo> getVulMonitorCountList(String city) {
|
||||
return vulInfoDao.selectList(new QueryWrapper<VulInfo>().lambda().eq(Objects.nonNull(city),VulInfo::getCity,city).orderByDesc(VulInfo::getCreateTime));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String,DataAnalysisResp>> userAndTaskCountList(String city) {
|
||||
DataAnalysisResp dataAnalysisResp = getUserAndTaskDataCount(city);
|
||||
List<Map<String, DataAnalysisResp>> res = new ArrayList<>();
|
||||
Map<String, DataAnalysisResp> respMap = new HashMap<>();
|
||||
List<VulInfo> list = vulInfoDao.selectList();
|
||||
Map<String, Long> map = list.stream().collect(Collectors.groupingBy(VulInfo::getCity, Collectors.counting()));
|
||||
Map<String, Long> perilous = list.stream().filter(obj -> obj.getSeverity().equals(2)).collect(Collectors.groupingBy(VulInfo::getCity, Collectors.counting()));
|
||||
|
||||
map.entrySet().forEach(p->{
|
||||
String key = p.getKey();
|
||||
Long perilousVulSUM = perilous.get(key);
|
||||
dataAnalysisResp.setVulSUM(p.getValue().toString());
|
||||
dataAnalysisResp.setPerilousVulSUM(perilousVulSUM==null?"0":perilousVulSUM.toString());
|
||||
respMap.put(key, dataAnalysisResp);
|
||||
});
|
||||
res.add(respMap);
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ package cd.casic.ci.process.process.service.pipeline;
|
||||
import cd.casic.ci.process.dto.req.pipeline.*;
|
||||
import cd.casic.ci.process.dto.resp.context.TreeRunContextResp;
|
||||
import cd.casic.ci.process.dto.resp.pipeline.PipelineFindResp;
|
||||
import cd.casic.ci.process.dto.resp.pipeline.PipelineUseCountResp;
|
||||
import cd.casic.ci.process.process.dataObject.base.BaseIdReq;
|
||||
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
|
||||
import cd.casic.framework.commons.pojo.PageResult;
|
||||
@ -41,4 +42,6 @@ public interface PipelineService extends IService<PipPipeline> {
|
||||
Boolean targetVersionInUse(List<String> targetVersionId);
|
||||
|
||||
String aiCreatePipeline(@Valid AiPipelineCreateReq req);
|
||||
|
||||
PipelineUseCountResp countPipelineByUserId(Long userId);
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ import cd.casic.ci.process.dto.req.template.TemplateStageCreateByDataReq;
|
||||
import cd.casic.ci.process.dto.req.template.TemplateTaskCreateByDataReq;
|
||||
import cd.casic.ci.process.dto.resp.context.TreeRunContextResp;
|
||||
import cd.casic.ci.process.dto.resp.pipeline.PipelineFindResp;
|
||||
import cd.casic.ci.process.dto.resp.pipeline.PipelineUseCountResp;
|
||||
import cd.casic.ci.process.dto.resp.stage.StageResp;
|
||||
import cd.casic.ci.process.dto.resp.template.TemplateFindResp;
|
||||
import cd.casic.ci.process.dto.resp.template.TemplateStageResp;
|
||||
@ -24,6 +25,7 @@ import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
|
||||
import cd.casic.ci.process.process.dataObject.stage.PipStage;
|
||||
import cd.casic.ci.process.process.dataObject.target.TargetVersion;
|
||||
import cd.casic.ci.process.process.dataObject.task.PipTask;
|
||||
import cd.casic.ci.process.process.dataObject.volumnInfo.VulInfo;
|
||||
import cd.casic.ci.process.process.service.pipeline.PipelineService;
|
||||
import cd.casic.ci.process.process.service.stage.impl.StageServiceImpl;
|
||||
import cd.casic.ci.process.process.service.task.impl.TaskServiceImpl;
|
||||
@ -49,13 +51,7 @@ import org.springframework.util.ObjectUtils;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -729,4 +725,12 @@ public class PipelineServiceImpl extends ServiceImpl<PipelineDao, PipPipeline> i
|
||||
stringBuilder.append(seconds).append("秒");
|
||||
return stringBuilder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public PipelineUseCountResp countPipelineByUserId(Long userId) {
|
||||
Integer count = pipelineDao.selectCount(new QueryWrapper<PipPipeline>().lambda().eq(Objects.nonNull(userId), PipPipeline::getCreator, userId)).intValue();
|
||||
Integer collect = pipelineDao.selectCount(new LambdaQueryWrapper<PipPipeline>().eq(Objects.nonNull(userId), PipPipeline::getCreator, userId)
|
||||
.eq(PipPipeline::getCollect, 1)).intValue();
|
||||
return PipelineUseCountResp.builder().work(count).involved(count).collect(collect).build();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user