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