diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java index 5ee3f6c8d8..449f52eb50 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueVoteStatisticalServiceImpl.java @@ -53,6 +53,7 @@ import com.epmet.service.IssueVoteDetailService; import com.epmet.service.IssueVoteStatisticalService; import com.epmet.utils.ModuleConstants; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -325,16 +326,19 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl collect = notExistedIds.stream().map(issueId -> { - IssueVoteStatisticalDTO dto = new IssueVoteStatisticalDTO(); - dto.setIssueId(issueId); - dto.setSupportCount(NumConstant.ZERO); - dto.setOppositionCount(NumConstant.ZERO); - dto.setVotableCount(Optional.ofNullable(votableCountMap.get(issueGridMap.get(issueId))).orElse(NumConstant.ZERO)); - dto.setCreatedBy(ModuleConstants.CREATED_BY_SYSTEM);dto.setUpdatedBy(ModuleConstants.CREATED_BY_SYSTEM); - return dto; - }).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(collect)) toInsert.addAll(collect);} + List collect = notExistedIds.stream().map(issueId -> { + IssueVoteStatisticalDTO dto = new IssueVoteStatisticalDTO(); + dto.setIssueId(issueId); + dto.setSupportCount(NumConstant.ZERO); + dto.setOppositionCount(NumConstant.ZERO); + dto.setVotableCount(Optional.ofNullable(votableCountMap.get(issueGridMap.get(issueId))).orElse(NumConstant.ZERO)); + dto.setCreatedBy(ModuleConstants.CREATED_BY_SYSTEM);dto.setUpdatedBy(ModuleConstants.CREATED_BY_SYSTEM); + return dto; + }).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(collect)) { + toInsert.addAll(collect); + } + } /* List summaryList = issueVoteDetailDao.getVotingSummaryList(notExistedIds); @@ -427,8 +431,11 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl listToUpdate = new ArrayList<>(); setVotableCountsAndUpdateCache(listToUpdate,issues,votableCountMap); - // listToUpdate批量更新 - baseDao.updateBatchByIssueId(listToUpdate); + // listToUpdate批量更新 todo 暂时解决下 分批插入 + if (CollectionUtils.isNotEmpty(listToUpdate)) { + ListUtils.partition(listToUpdate, NumConstant.ONE_HUNDRED) + .forEach(part -> baseDao.updateBatchByIssueId(part)); + } } }else{ @@ -550,8 +557,12 @@ public class IssueVoteStatisticalServiceImpl extends BaseServiceImpl