From 32b6f9f03fdb9056aed623e86385a94f58b045cf Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期四, 29 八月 2024 16:41:21 +0800 Subject: [PATCH] OSD定时任务 --- ycl-server/src/main/java/com/ycl/task/ImageResourceSecurityTask.java | 41 ++++++++++++++++++++++++----------------- 1 files changed, 24 insertions(+), 17 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/task/ImageResourceSecurityTask.java b/ycl-server/src/main/java/com/ycl/task/ImageResourceSecurityTask.java index 514a042..01111d5 100644 --- a/ycl-server/src/main/java/com/ycl/task/ImageResourceSecurityTask.java +++ b/ycl-server/src/main/java/com/ycl/task/ImageResourceSecurityTask.java @@ -1,15 +1,15 @@ package com.ycl.task; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import com.ycl.platform.base.CheckIndex; import com.ycl.platform.domain.entity.CheckIndexVideo; import com.ycl.platform.domain.entity.ImageResourceSecurity; import com.ycl.platform.domain.entity.ImageResourceSecurityDetail; import com.ycl.platform.mapper.CheckIndexVideoMapper; import com.ycl.platform.mapper.ImageResourceSecurityDetailMapper; import com.ycl.platform.service.IImageResourceSecurityService; -import jakarta.annotation.PostConstruct; +import com.ycl.utils.DateUtils; +import com.ycl.utils.DictUtils; import lombok.RequiredArgsConstructor; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.math.BigDecimal; @@ -29,19 +29,17 @@ private final CheckIndexVideoMapper checkIndexVideoMapper; private final ImageResourceSecurityDetailMapper imageResourceSecurityDetailMapper; - @PostConstruct + /** + * 姣忓ぉ鏅氫笂1鐐规墽琛� + */ + @Scheduled(cron = "0 0 1 * * ?") public void calc() { ArrayList<ImageResourceSecurity> imageResourceSecurities = new ArrayList<>(); - List<CheckIndexVideo> list = new LambdaQueryChainWrapper<>(checkIndexVideoMapper) - .select(CheckIndexVideo::getPlatformOnline, CheckIndexVideo::getMonitorQualification, CheckIndexVideo::getDeptId) - // .eq(CheckIndex::getCreateTime, LocalDate.now().minusDays(1)) - .orderByDesc(CheckIndex::getCreateTime) - .last("limit 7") - .list(); + List<CheckIndexVideo> list = checkIndexVideoMapper.selectAndDeptName(); List<ImageResourceSecurityDetail> detail = imageResourceSecurityDetailMapper.getList(); - // 姣忎釜閮ㄩ棬寰幆涓�娆� - list.forEach(checkIndexVideo -> { + // 姣忎釜閮ㄩ棬寰幆涓�娆¤绠楁暟鎹� + for (CheckIndexVideo checkIndexVideo : list) { ImageResourceSecurity imageResourceSecurity = new ImageResourceSecurity(); imageResourceSecurity.setDeptId(checkIndexVideo.getDeptId()); // 鐩存帴鍙栨寚鏍� @@ -49,15 +47,24 @@ imageResourceSecurity.setPropertyAccuracy(checkIndexVideo.getMonitorQualification()); // 鑾峰彇褰撳墠閮ㄩ棬鐨刣etail杩涜璁$畻 List<ImageResourceSecurityDetail> detailList = detail.stream().filter(imageResourceSecurityDetail -> Objects.equals(imageResourceSecurityDetail.getDeptId(), checkIndexVideo.getDeptId())).toList(); + int score = 100; + int count = 0; // 寰幆detail璁$畻 - detailList.forEach(imageResourceSecurityDetail -> { - int score = 100; + for (ImageResourceSecurityDetail imageResourceSecurityDetail : detailList) { + // 鎵i櫎鍒嗘暟 score -= imageResourceSecurityDetail.getAlarmCategory().getScore(); imageResourceSecurity.setWeakPassword(BigDecimal.valueOf(score)); - }); - // TODO 宸竴涓� + // 缁熻鏁伴噺 + if (Integer.parseInt(imageResourceSecurityDetail.getAlarmLevel().getValue()) > 1) { + count++; + } + } + // 鑾峰彇瀛楀吀鍊�-鎬绘暟 + int onlineAssetsTotal = Integer.parseInt(DictUtils.getDictValue("online_assets_total", checkIndexVideo.getDeptName())); + imageResourceSecurity.setRiskProperty(BigDecimal.valueOf(count / onlineAssetsTotal)); + imageResourceSecurity.setCreateTime(DateUtils.getNowDate()); imageResourceSecurities.add(imageResourceSecurity); - }); + } imageResourceSecurityService.saveBatch(imageResourceSecurities); } -- Gitblit v1.8.0