From 0cf8bbc3d54267e03822053fa5094e80f2d9278c Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Thu, 3 Jul 2025 14:21:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E7=89=88=E6=9C=AC=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/MsgEventInfoService.java | 5 ++ .../impl/LargeScreenCountServiceImpl.java | 59 +++---------------- .../service/impl/MsgEventInfoServiceImpl.java | 23 ++++++++ 3 files changed, 36 insertions(+), 51 deletions(-) diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/MsgEventInfoService.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/MsgEventInfoService.java index 0508a4d6..2cb0d588 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/MsgEventInfoService.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/MsgEventInfoService.java @@ -1,7 +1,12 @@ package com.njcn.gather.event.transientes.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.gather.event.devcie.pojo.dto.LedgerBaseInfoDTO; import com.njcn.gather.event.transientes.pojo.po.MsgEventInfo; +import java.util.List; + public interface MsgEventInfoService extends IService { + + List getMsgByIds(List ids); } diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/LargeScreenCountServiceImpl.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/LargeScreenCountServiceImpl.java index 3a1dbbfd..9c8a7457 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/LargeScreenCountServiceImpl.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/LargeScreenCountServiceImpl.java @@ -209,19 +209,8 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { List warnEvent = eventdetails.stream().filter(temp -> temp.getEventvalue() >= 0.5&& temp.getEventvalue() <0.9).collect(Collectors.toList()); List eventIds = eventdetails.stream().map(PqsEventdetail::getEventdetailIndex).collect(Collectors.toList()); //通知 - List msgEventInfoList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(eventIds)){ - if(eventIds.size()>1000){ - List> listEven = CollUtil.split(eventIds,1000); - for(List pList: listEven){ - List temp = msgEventInfoService.lambdaQuery().in(MsgEventInfo::getEventIndex,pList).list(); - msgEventInfoList.addAll(temp); - } - }else { - List temp = msgEventInfoService.lambdaQuery().in(MsgEventInfo::getEventIndex,eventIds).list(); - msgEventInfoList.addAll(temp); - } - } + + List msgEventInfoList =msgEventInfoService.getMsgByIds(eventIds); msgEventInfoList = msgEventInfoList.stream().sorted(Comparator.comparing(MsgEventInfo::getSendTime,Comparator.reverseOrder())).collect(Collectors.toList()); @@ -312,20 +301,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { if (Objects.equals(largeScreenCountParam.getEventtype(), 1)) { List eventIds = eventdetails.stream().map(PqsEventdetail::getEventdetailIndex).collect(Collectors.toList()); //通知 - List msgEventInfoList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(eventIds)){ - if(eventIds.size()>1000){ - List> listEven = CollUtil.split(eventIds,1000); - for(List pList: listEven){ - List temp = msgEventInfoService.lambdaQuery().in(MsgEventInfo::getEventIndex,pList).list(); - msgEventInfoList.addAll(temp); - } - }else { - List temp = msgEventInfoService.lambdaQuery().in(MsgEventInfo::getEventIndex,eventIds).list(); - msgEventInfoList.addAll(temp); - } - - } + List msgEventInfoList =msgEventInfoService.getMsgByIds(eventIds); // 使用 for 循环处理日期范围 for (LocalDate date = startDate; !date.isAfter(endDate); date = date.plusDays(1)) { EventTrendVO eventTrendVO = new EventTrendVO(); @@ -611,7 +587,8 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { List eveIdndex = eventdetails.stream().map(PqsEventdetail::getEventdetailIndex).collect(Collectors.toList()); List temp = new ArrayList<>(); if(!CollectionUtils.isEmpty(eveIdndex)){ - temp = msgEventInfoService.lambdaQuery().in(MsgEventInfo::getEventIndex,eveIdndex).list(); + temp =msgEventInfoService.getMsgByIds(eveIdndex); + } List change = change(eventdetails,temp); @@ -668,16 +645,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { } List eventIds = allEventList.stream().map(PqsEventdetail::getEventdetailIndex).collect(Collectors.toList()); - if (eventIds.size() > 1000) { - List> listEven = CollUtil.split(eventIds, 1000); - for (List pList : listEven) { - List msgEventInfoList = msgEventInfoService.lambdaQuery().in(MsgEventInfo::getEventIndex, pList).list(); - result.addAll(msgEventInfoList); - } - } else { - List msgEventInfoList = msgEventInfoService.lambdaQuery().in(MsgEventInfo::getEventIndex, eventIds).list(); - result.addAll(msgEventInfoList); - } + result =msgEventInfoService.getMsgByIds(eventIds); result = result.stream().sorted(Comparator.comparing(MsgEventInfo::getSendTime, Comparator.reverseOrder())).collect(Collectors.toList()); if (result.size() > 200) { result = result.subList(0, 200); @@ -775,19 +743,8 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { List warnEvent = eventdetails.stream().filter(temp -> temp.getEventvalue() >= 0.5&& temp.getEventvalue() <0.9).collect(Collectors.toList()); List eventIds = eventdetails.stream().map(PqsEventdetail::getEventdetailIndex).collect(Collectors.toList()); //通知 - List msgEventInfoList = new ArrayList<>(); - if(!CollectionUtils.isEmpty(eventIds)){ - if(eventIds.size()>1000){ - List> listEven = CollUtil.split(eventIds,1000); - for(List pList: listEven){ - List temp = msgEventInfoService.lambdaQuery().in(MsgEventInfo::getEventIndex,pList).list(); - msgEventInfoList.addAll(temp); - } - }else { - List temp = msgEventInfoService.lambdaQuery().in(MsgEventInfo::getEventIndex,eventIds).list(); - msgEventInfoList.addAll(temp); - } - } + List msgEventInfoList =msgEventInfoService.getMsgByIds(eventIds); + msgEventInfoList = msgEventInfoList.stream().sorted(Comparator.comparing(MsgEventInfo::getSendTime,Comparator.reverseOrder())).collect(Collectors.toList()); diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/MsgEventInfoServiceImpl.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/MsgEventInfoServiceImpl.java index 07839854..170b640b 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/MsgEventInfoServiceImpl.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/MsgEventInfoServiceImpl.java @@ -1,10 +1,15 @@ package com.njcn.gather.event.transientes.service.impl; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.gather.event.transientes.mapper.MsgEventInfoMapper; import com.njcn.gather.event.transientes.pojo.po.MsgEventInfo; import com.njcn.gather.event.transientes.service.MsgEventInfoService; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; +import java.util.List; /** * @Author: cdf @@ -13,4 +18,22 @@ import org.springframework.stereotype.Service; */ @Service public class MsgEventInfoServiceImpl extends ServiceImpl implements MsgEventInfoService { + @Override + public List getMsgByIds(List ids) { + //通知 + List msgEventInfoList = new ArrayList<>(); + if(!CollectionUtils.isEmpty(ids)){ + if(ids.size()>1000){ + List> listEven = CollUtil.split(ids,1000); + for(List pList: listEven){ + List temp = this.lambdaQuery().in(MsgEventInfo::getEventIndex,pList).list(); + msgEventInfoList.addAll(temp); + } + }else { + List temp = this.lambdaQuery().in(MsgEventInfo::getEventIndex,ids).list(); + msgEventInfoList.addAll(temp); + } + } + return msgEventInfoList; + } }