ycl-pojo/src/main/java/com/ycl/platform/domain/dto/ImageResourceDTO.java
New file @@ -0,0 +1,11 @@ package com.ycl.platform.domain.dto; import lombok.Data; import java.math.BigDecimal; @Data public class ImageResourceDTO { private Long deptId; private BigDecimal imageResourceSecurity; } ycl-server/src/main/java/com/ycl/platform/mapper/CheckIndexVideoMapper.java
@@ -1,10 +1,12 @@ package com.ycl.platform.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.platform.domain.dto.ImageResourceDTO; import com.ycl.platform.domain.entity.CheckIndexVideo; import com.ycl.platform.domain.query.DashboardQuery; import org.apache.ibatis.annotations.MapKey; import java.math.BigDecimal; import java.util.List; import java.util.Map; @@ -83,6 +85,5 @@ * 查询每个部门最新数据 * @return 数据Map */ @MapKey(value = "deptId") Map<Long, CheckIndexVideo> selectLastOneByDept(); List<ImageResourceDTO> selectLastOneByDept(); } ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java
@@ -3,6 +3,7 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.read.listener.PageReadListener; import com.ycl.handler.ImageResourceHandler; import com.ycl.platform.domain.dto.ImageResourceDTO; import com.ycl.platform.domain.entity.CheckIndexVideo; import com.ycl.platform.domain.entity.ImageResourceSecurity; import com.ycl.platform.domain.entity.ImageResourceSecurityDetail; @@ -45,11 +46,20 @@ @Override public List<ImageResourceSecurity> selectImageResourceSecurityList(ImageResourceSecurity imageResourceSecurity) { List<ImageResourceSecurity> list = imageResourceSecurityMapper.selectImageResourceSecurityList(imageResourceSecurity); Map<Long, CheckIndexVideo> map = checkIndexVideoMapper.selectLastOneByDept(); list.forEach(item -> item.setImageResourceSecurity( Optional.ofNullable(map.get(item.getDeptId())) .map(CheckIndexVideo::getImageResourceSecurity) .orElse(BigDecimal.ZERO))); List<ImageResourceDTO> dtos = checkIndexVideoMapper.selectLastOneByDept(); for (ImageResourceSecurity item : list) { Long deptId = item.getDeptId(); boolean flag = false; for (ImageResourceDTO dto : dtos) { if(dto.getDeptId().equals(deptId)){ item.setImageResourceSecurity(dto.getImageResourceSecurity()); flag = true; } if(!flag){ item.setImageResourceSecurity(BigDecimal.ZERO); } } } return list; } ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml
@@ -208,7 +208,7 @@ rn = 1; </select> <select id="selectLastOneByDept" resultType="java.util.Map"> <select id="selectLastOneByDept" resultType="com.ycl.platform.domain.dto.ImageResourceDTO"> WITH temp AS ( SELECT image_resource_security AS imageResourceSecurity,