超过1000条报错事件处理
This commit is contained in:
@@ -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<String> ids) {
|
||||
if(ids.size()>1000){
|
||||
List<List<String>> eventIds = CollUtil.split(ids,1000);
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user