超过1000条报错事件处理

This commit is contained in:
2025-07-03 09:54:13 +08:00
parent b4c9bd12c9
commit 5d4cce365e

View File

@@ -224,7 +224,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
msgEventInfoList.addAll(temp); 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 @Override
public boolean lookEvent(List<String> ids) { public boolean lookEvent(List<String> ids) {
LambdaUpdateWrapper<PqsEventdetail> updateWrapper = new LambdaUpdateWrapper<>(); if(ids.size()>1000){
updateWrapper.in(PqsEventdetail::getEventdetailIndex, ids).set(PqsEventdetail::getLookFlag, DataStateEnum.ENABLE.getCode()); List<List<String>> eventIds = CollUtil.split(ids,1000);
pqsEventdetailService.update(updateWrapper); for(List<String> needIds : eventIds){
LambdaUpdateWrapper<PqsEventdetail> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(PqsEventdetail::getEventdetailIndex, needIds).set(PqsEventdetail::getLookFlag, DataStateEnum.ENABLE.getCode());
pqsEventdetailService.update(updateWrapper);
}
}else {
LambdaUpdateWrapper<PqsEventdetail> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(PqsEventdetail::getEventdetailIndex, ids).set(PqsEventdetail::getLookFlag, DataStateEnum.ENABLE.getCode());
pqsEventdetailService.update(updateWrapper);
}
return true; return true;
} }
@@ -691,6 +700,12 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public boolean msgHandle(MessageEventFeedbackParam messageEventFeedbackParam) { 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(); MessageEventFeedback messageEventFeedback = messageEventFeedbackService.lambdaQuery().eq(MessageEventFeedback::getEventIndex, messageEventFeedbackParam.getEventIndex()).one();
if (Objects.nonNull(messageEventFeedback)) { if (Objects.nonNull(messageEventFeedback)) {
throw new BusinessException(CommonResponseEnum.FAIL,"请勿重复处理!"); throw new BusinessException(CommonResponseEnum.FAIL,"请勿重复处理!");
@@ -700,7 +715,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
po.setId(IdUtil.simpleUUID()); po.setId(IdUtil.simpleUUID());
messageEventFeedbackService.save(po); messageEventFeedbackService.save(po);
pqsEventdetailService.lambdaUpdate().set(PqsEventdetail::getNoticeFlag,DataStateEnum.ENABLE.getCode()).eq(PqsEventdetail::getEventdetailIndex,messageEventFeedbackParam.getEventIndex()).update(); 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; return true;
} }