From 5d4cce365ea9543118fbf9ebcb74cf33a2659e7b Mon Sep 17 00:00:00 2001 From: chendaofei <857448963@qq.com> Date: Thu, 3 Jul 2025 09:54:13 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B6=85=E8=BF=871000=E6=9D=A1=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E4=BA=8B=E4=BB=B6=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/LargeScreenCountServiceImpl.java | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) 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 55e71079..8372d9d5 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 @@ -224,7 +224,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { msgEventInfoList.addAll(temp); } } - + msgEventInfoList = msgEventInfoList.stream().sorted(Comparator.comparing(MsgEventInfo::getSendTime,Comparator.reverseOrder())).collect(Collectors.toList()); @@ -548,9 +548,18 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { @Override public boolean lookEvent(List ids) { - LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); - updateWrapper.in(PqsEventdetail::getEventdetailIndex, ids).set(PqsEventdetail::getLookFlag, DataStateEnum.ENABLE.getCode()); - pqsEventdetailService.update(updateWrapper); + if(ids.size()>1000){ + List> eventIds = CollUtil.split(ids,1000); + for(List needIds : eventIds){ + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.in(PqsEventdetail::getEventdetailIndex, needIds).set(PqsEventdetail::getLookFlag, DataStateEnum.ENABLE.getCode()); + pqsEventdetailService.update(updateWrapper); + } + }else { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.in(PqsEventdetail::getEventdetailIndex, ids).set(PqsEventdetail::getLookFlag, DataStateEnum.ENABLE.getCode()); + pqsEventdetailService.update(updateWrapper); + } return true; } @@ -691,6 +700,12 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { @Override @Transactional(rollbackFor = Exception.class) public boolean msgHandle(MessageEventFeedbackParam messageEventFeedbackParam) { + + PqsEventdetail pqsEventdetail = pqsEventdetailService.lambdaQuery().eq(PqsEventdetail::getEventdetailIndex,messageEventFeedbackParam.getEventIndex()).one(); + if(Objects.isNull(pqsEventdetail.getLookFlag())|| pqsEventdetail.getLookFlag() == 0){ + throw new BusinessException(CommonResponseEnum.FAIL,"当前事件暂未处理,请先处理!"); + } + MessageEventFeedback messageEventFeedback = messageEventFeedbackService.lambdaQuery().eq(MessageEventFeedback::getEventIndex, messageEventFeedbackParam.getEventIndex()).one(); if (Objects.nonNull(messageEventFeedback)) { throw new BusinessException(CommonResponseEnum.FAIL,"请勿重复处理!"); @@ -700,7 +715,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { po.setId(IdUtil.simpleUUID()); messageEventFeedbackService.save(po); pqsEventdetailService.lambdaUpdate().set(PqsEventdetail::getNoticeFlag,DataStateEnum.ENABLE.getCode()).eq(PqsEventdetail::getEventdetailIndex,messageEventFeedbackParam.getEventIndex()).update(); - msgEventInfoService.lambdaUpdate().set(MsgEventInfo::getIsHandle,DataStateEnum.ENABLE.getCode()).eq(MsgEventInfo::getEventIndex,messageEventFeedbackParam.getEventIndex()); + msgEventInfoService.lambdaUpdate().set(MsgEventInfo::getIsHandle,DataStateEnum.ENABLE.getCode()).eq(MsgEventInfo::getEventIndex,messageEventFeedbackParam.getEventIndex()).update(); return true; }