From a9955d50b50449506083f88f3010058c9fb32162 Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Thu, 9 Oct 2025 17:55:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=A5=A8null=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WorkTicketServiceImpl.java | 14 +++++++++++--- .../java/com/zhgd/xmgl/util/CollUtils.java | 18 ++++++++++++++++++ 2 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/zhgd/xmgl/util/CollUtils.java diff --git a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/WorkTicketServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/WorkTicketServiceImpl.java index a21660f44..c40ea99f0 100644 --- a/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/WorkTicketServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/policecamera/service/impl/WorkTicketServiceImpl.java @@ -117,9 +117,17 @@ public class WorkTicketServiceImpl extends ServiceImpl enterpriseMap = enterpriseInfoService.getEnterpriseMapByProjectSn(projectSn); List ticketIds = list.stream().map(WorkTicketVo::getId).collect(Collectors.toList()); Map policeCameraItemMap = policeCameraItemService.getItemMapByProjectSn(projectSn); - Map> ticketMap = workTicketCameraRelService.list(new LambdaQueryWrapper() - .in(WorkTicketCameraRel::getWorkTicketId, ticketIds)).stream().collect(Collectors.groupingBy(WorkTicketCameraRel::getWorkTicketId, - Collectors.mapping(o -> policeCameraItemMap.get(o.getPoliceCameraId()), Collectors.toList()))); + Map> ticketMap = workTicketCameraRelService.list( + new LambdaQueryWrapper() + .in(WorkTicketCameraRel::getWorkTicketId, ticketIds)) + .stream() + .collect(Collectors.groupingBy( + WorkTicketCameraRel::getWorkTicketId, + Collectors.mapping( + o -> policeCameraItemMap.get(o.getPoliceCameraId()), + CollUtils.filteringNull() + ) + )); for (WorkTicketVo ticketVo : list) { // 设置申请人名称 ticketVo.setApplicantNames(EntityUtils.convertIdsToNames( diff --git a/src/main/java/com/zhgd/xmgl/util/CollUtils.java b/src/main/java/com/zhgd/xmgl/util/CollUtils.java new file mode 100644 index 000000000..848384de8 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/util/CollUtils.java @@ -0,0 +1,18 @@ +package com.zhgd.xmgl.util; + +import java.util.List; +import java.util.Objects; +import java.util.stream.Collector; +import java.util.stream.Collectors; + +public class CollUtils { + /** + * 过滤掉null值的收集器 + */ + public static Collector> filteringNull() { + return Collectors.collectingAndThen( + Collectors.toList(), + list -> list.stream().filter(Objects::nonNull).collect(Collectors.toList()) + ); + } +}