From dffa4edacd228bb7aa385525e4a30db2384bc78f Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期五, 30 八月 2024 17:40:32 +0800 Subject: [PATCH] feat:更新图像资源到index表并展示 --- ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java | 13 ++++++++++++- ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ImageResourceSecurity.java | 4 ++++ ycl-server/src/main/java/com/ycl/task/ImageResourceSecurityTask.java | 9 ++++++++- ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java | 6 +++++- ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml | 2 ++ 5 files changed, 31 insertions(+), 3 deletions(-) diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ImageResourceSecurity.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ImageResourceSecurity.java index 0863c47..2c5a08a 100644 --- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ImageResourceSecurity.java +++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ImageResourceSecurity.java @@ -1,6 +1,7 @@ package com.ycl.platform.domain.entity; import annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableField; import com.ycl.system.entity.BaseEntity; import lombok.Data; @@ -46,4 +47,7 @@ @Excel(name = "瑙嗛浼犺緭缃戣竟鐣屽畬鏁存�ф娴嬫墸鍒嗛」") private BigDecimal boundaryIntegrity; + @TableField(exist = false) + private BigDecimal imageResourceSecurity; + } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java index fc39754..0385f2c 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java @@ -1017,7 +1017,11 @@ Page<ImageResourceSecurityDetail> page = PageHelper.startPage(query.getPageNum(), query.getPageSize()); securityDetailMapper.selectImageResourceSecurityDetailList(imageResourceSecurityDetail); - return Result.ok().data(page.getResult()).total(page.getTotal()); + // 缁熻鏁� + HashMap<String, Object> map = new HashMap<>(); + map.put("count", CollectionUtils.EMPTY_COLLECTION); + map.put("list", page); + return Result.ok().data(map).total(page.getTotal()); } } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java index 68853c4..e1bc171 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java @@ -2,9 +2,12 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.read.listener.PageReadListener; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.ycl.handler.ImageResourceHandler; +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.mapper.ImageResourceSecurityMapper; import com.ycl.platform.service.IImageResourceSecurityService; @@ -34,6 +37,7 @@ private final ImageResourceSecurityMapper imageResourceSecurityMapper; private final ImageResourceSecurityDetailMapper imageResourceSecurityDetailMapper; private final ISysDeptService deptService; + private final CheckIndexVideoMapper checkIndexVideoMapper; @Override public ImageResourceSecurity selectImageResourceSecurityById(Long id) { @@ -42,7 +46,14 @@ @Override public List<ImageResourceSecurity> selectImageResourceSecurityList(ImageResourceSecurity imageResourceSecurity) { - return imageResourceSecurityMapper.selectImageResourceSecurityList(imageResourceSecurity); + List<ImageResourceSecurity> list = imageResourceSecurityMapper.selectImageResourceSecurityList(imageResourceSecurity); + list.forEach(item -> item.setImageResourceSecurity(new LambdaQueryChainWrapper<>(checkIndexVideoMapper) + .eq(CheckIndexVideo::getDeptId, item.getDeptId()) + .orderByDesc(CheckIndexVideo::getCreateTime, CheckIndexVideo::getImageResourceSecurity) + .last("limit 1") + .one() + .getImageResourceSecurity())); + return list; } @Override 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 01111d5..644bf8b 100644 --- a/ycl-server/src/main/java/com/ycl/task/ImageResourceSecurityTask.java +++ b/ycl-server/src/main/java/com/ycl/task/ImageResourceSecurityTask.java @@ -11,6 +11,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.ArrayList; @@ -29,9 +30,12 @@ private final CheckIndexVideoMapper checkIndexVideoMapper; private final ImageResourceSecurityDetailMapper imageResourceSecurityDetailMapper; + private static final BigDecimal NUM = new BigDecimal("0.15"); + /** * 姣忓ぉ鏅氫笂1鐐规墽琛� */ + @Transactional @Scheduled(cron = "0 0 1 * * ?") public void calc() { ArrayList<ImageResourceSecurity> imageResourceSecurities = new ArrayList<>(); @@ -53,17 +57,20 @@ for (ImageResourceSecurityDetail imageResourceSecurityDetail : detailList) { // 鎵i櫎鍒嗘暟 score -= imageResourceSecurityDetail.getAlarmCategory().getScore(); - imageResourceSecurity.setWeakPassword(BigDecimal.valueOf(score)); // 缁熻鏁伴噺 if (Integer.parseInt(imageResourceSecurityDetail.getAlarmLevel().getValue()) > 1) { count++; } } + imageResourceSecurity.setWeakPassword(BigDecimal.valueOf(score)); // 鑾峰彇瀛楀吀鍊�-鎬绘暟 int onlineAssetsTotal = Integer.parseInt(DictUtils.getDictValue("online_assets_total", checkIndexVideo.getDeptName())); imageResourceSecurity.setRiskProperty(BigDecimal.valueOf(count / onlineAssetsTotal)); imageResourceSecurity.setCreateTime(DateUtils.getNowDate()); imageResourceSecurities.add(imageResourceSecurity); + // 鏇存柊鎸囨爣鏁版嵁 + checkIndexVideo.setImageResourceSecurity(imageResourceSecurity.getPlatformOnline().add(imageResourceSecurity.getPropertyAccuracy().add(imageResourceSecurity.getWeakPassword().add(imageResourceSecurity.getRiskProperty()))).multiply(NUM)); + checkIndexVideoMapper.updateById(checkIndexVideo); } imageResourceSecurityService.saveBatch(imageResourceSecurities); diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml index 1c42656..0dbd85f 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml @@ -185,6 +185,7 @@ <select id="selectAndDeptName" resultType="com.ycl.platform.domain.entity.CheckIndexVideo"> WITH temp AS ( SELECT + r.id, r.dept_id, r.platform_online, r.monitor_qualification, @@ -196,6 +197,7 @@ sys_dept d ON r.dept_id = d.dept_id ) SELECT + id, dept_id, area as deptName, platform_online, -- Gitblit v1.8.0