龚焕茏
2024-09-03 123cf89ee4b76d1355b5bb9eaf70538c5264f18c
fix:修复图形资源空指针异常
3个文件已修改
38 ■■■■ 已修改文件
ycl-server/src/main/java/com/ycl/platform/mapper/CheckIndexVideoMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/mapper/CheckIndexVideoMapper.java
@@ -3,8 +3,10 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.platform.domain.entity.CheckIndexVideo;
import com.ycl.platform.domain.query.DashboardQuery;
import org.apache.ibatis.annotations.MapKey;
import java.util.List;
import java.util.Map;
/**
 * 视频指标概率数据Mapper接口
@@ -76,4 +78,11 @@
     * @return 视频指标概率数据集合
     */
    List<CheckIndexVideo> selectAndDeptName();
    /**
     * 查询每个部门最新数据
     * @return 数据Map
     */
    @MapKey(value = "deptId")
    Map<Long, CheckIndexVideo> selectLastOneByDept();
}
ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java
@@ -2,7 +2,6 @@
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;
@@ -20,9 +19,8 @@
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.math.BigDecimal;
import java.util.*;
/**
 * platformService业务层处理
@@ -47,12 +45,11 @@
    @Override
    public List<ImageResourceSecurity> selectImageResourceSecurityList(ImageResourceSecurity 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()));
        Map<Long, CheckIndexVideo> map = checkIndexVideoMapper.selectLastOneByDept();
        list.forEach(item -> item.setImageResourceSecurity(
                Optional.ofNullable(map.get(item.getDeptId()))
                        .map(CheckIndexVideo::getImageResourceSecurity)
                        .orElse(BigDecimal.ZERO)));
        return list;
    }
ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
@@ -207,4 +207,16 @@
        WHERE
            rn = 1;
    </select>
    <select id="selectLastOneByDept" resultType="java.util.Map">
        WITH temp AS (
            SELECT
                image_resource_security AS imageResourceSecurity,
                dept_id AS deptId,
                ROW_NUMBER() OVER(PARTITION BY dept_id ORDER BY create_time DESC, image_resource_security DESC) AS num
            FROM
                t_check_index_video
        )
        SELECT deptId, imageResourceSecurity FROM temp WHERE num = 1;
    </select>
</mapper>