From 123cf89ee4b76d1355b5bb9eaf70538c5264f18c Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期二, 03 九月 2024 09:26:15 +0800
Subject: [PATCH] fix:修复图形资源空指针异常
---
ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java | 17 +++++++----------
ycl-server/src/main/java/com/ycl/platform/mapper/CheckIndexVideoMapper.java | 9 +++++++++
ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml | 12 ++++++++++++
3 files changed, 28 insertions(+), 10 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/CheckIndexVideoMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/CheckIndexVideoMapper.java
index 2743448..407dcb1 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/CheckIndexVideoMapper.java
+++ b/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();
}
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 e1bc171..562a993 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,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;
}
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
index 23921f4..9f137f1 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
+++ b/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>
--
Gitblit v1.8.0