diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java index 5b4e0794ba..4c9d8b3724 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectSatisfactionDetailServiceImpl.java @@ -270,9 +270,11 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl existsProjects = statisticsDao.selectExistsProject(); List projects = new ArrayList<>(); + // 要是 评价统计库没有记录,所有的项目都得插入 if (CollectionUtils.isEmpty(existsProjects)){ projects = allProjects; }else { + // 把 评价统计库存在的 标记为true, allProjects.forEach(a -> { existsProjects.forEach(p -> { if (a.getProjectId().equals(p)){ @@ -288,11 +290,14 @@ public class ProjectSatisfactionDetailServiceImpl extends BaseServiceImpl needAdd = new ArrayList<>(); if (!CollectionUtils.isEmpty(projects)){ List projectIds = projects.stream().map(m -> m.getProjectId()).collect(Collectors.toList()); + List issueIds = projects.stream().map(m -> m.getIssueId()).collect(Collectors.toList()); + // 根据项目ID查询 项目的评价细节 List projectEvaluateDetailResult = baseDao.selectProjectEvaluateDetail(projectIds); + // 根据项目ID分组 Map> groupByProject = projectEvaluateDetailResult.stream().collect(Collectors.groupingBy(ProjectEvaluateDetailResultDTO::getProjectId)); boolean empty = groupByProject.isEmpty(); // 项目应评价人数 = 话题创建者 + 议题发起者 + 议题表决人 【去重】 - Result> canEvaluateProjectCountBatch = govIssueOpenFeignClient.canEvaluateProjectCountBatch(projectIds); + Result> canEvaluateProjectCountBatch = govIssueOpenFeignClient.canEvaluateProjectCountBatch(issueIds); if (!canEvaluateProjectCountBatch.success()){ throw new RenException("【查询项目应评价人数失败】,【"+canEvaluateProjectCountBatch.getMsg()+"】"); }