龚焕茏
2024-08-30 dffa4edacd228bb7aa385525e4a30db2384bc78f
feat:更新图像资源到index表并展示
5个文件已修改
34 ■■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ImageResourceSecurity.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/ImageResourceSecurityTask.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
}
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());
    }
}
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
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) {
                // 扣除分数
                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);
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,