|
|
@ -112,7 +112,7 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { |
|
|
|
log.error("抽取【公众参与-人均议题】,获取注册用户数为空"); |
|
|
|
return; |
|
|
|
} |
|
|
|
Map<String, GridUserCountResultDTO> userCountMap = userCountList.stream().collect(Collectors.toMap(GridUserCountResultDTO::getGridId, o -> o)); |
|
|
|
Map<String, GridUserCountResultDTO> userCountMap = userCountList.stream().collect(Collectors.toMap(GridUserCountResultDTO::getOrgId, o -> o)); |
|
|
|
issueTotal.forEach(issue -> { |
|
|
|
String gridId = issue.getGridId(); |
|
|
|
ScreenUserJoinEntity entity = insertMap.get(gridId); |
|
|
@ -122,7 +122,8 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { |
|
|
|
log.debug("issue:{}", JSON.toJSONString(issue)); |
|
|
|
log.debug("user:{}", JSON.toJSONString(user)); |
|
|
|
if (!user.getRegTotal().equals(0)) { |
|
|
|
BigDecimal avgIssueCount = new BigDecimal(issue.getIssueIncr()).divide(new BigDecimal(user.getRegTotal()).divide(new BigDecimal(NumConstant.ONE_HUNDRED))); |
|
|
|
BigDecimal avgIssueCount = new BigDecimal(issue.getIssueIncr()).divide(new BigDecimal(user.getRegTotal()) |
|
|
|
.divide(new BigDecimal(NumConstant.ONE_HUNDRED)), 4, BigDecimal.ROUND_HALF_UP); |
|
|
|
entity.setAvgIssue(avgIssueCount); |
|
|
|
} |
|
|
|
}); |
|
|
@ -156,9 +157,13 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { |
|
|
|
if (memberCount == null) { |
|
|
|
memberCount = 0; |
|
|
|
} |
|
|
|
bigDecimal = bigDecimal.add(new BigDecimal(vote.getVoteCount() / memberCount)); |
|
|
|
if (memberCount != 0) { |
|
|
|
bigDecimal = bigDecimal.add(new BigDecimal(vote.getVoteCount() / memberCount)); |
|
|
|
} |
|
|
|
} |
|
|
|
if (votedByIssueCount.intValue() != 0) { |
|
|
|
entity.setAvgJoin(bigDecimal.divide(votedByIssueCount, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(NumConstant.ONE_HUNDRED))); |
|
|
|
} |
|
|
|
entity.setAvgJoin(bigDecimal.divide(votedByIssueCount).multiply(new BigDecimal(NumConstant.ONE_HUNDRED))); |
|
|
|
} |
|
|
|
screenUserJoinService.deleteAndInsertBatch(formDTO, new ArrayList<>(insertMap.values())); |
|
|
|
} |
|
|
@ -179,7 +184,7 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { |
|
|
|
log.error("抽取【公众参与-人均议题】,获取注册用户数为空"); |
|
|
|
return; |
|
|
|
} |
|
|
|
Map<String, GridUserCountResultDTO> userCountMap = userCountList.stream().collect(Collectors.toMap(GridUserCountResultDTO::getGridId, o -> o)); |
|
|
|
Map<String, GridUserCountResultDTO> userCountMap = userCountList.stream().collect(Collectors.toMap(GridUserCountResultDTO::getOrgId, o -> o)); |
|
|
|
Set<String> agencyIdSet = new HashSet<>(); |
|
|
|
issueTotal.forEach(issue -> { |
|
|
|
String agencyId = issue.getAgencyId(); |
|
|
@ -188,8 +193,11 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { |
|
|
|
entity.setJoinTotal(issue.getIssueIncr()); |
|
|
|
GridUserCountResultDTO user = userCountMap.get(agencyId); |
|
|
|
//百人人均议题:统计周期内总的议题数/(注册用户数/100)
|
|
|
|
BigDecimal avgIssueCount = new BigDecimal(issue.getIssueIncr()).divide(new BigDecimal(user.getRegTotal()).divide(new BigDecimal(NumConstant.ONE_HUNDRED))); |
|
|
|
entity.setAvgIssue(avgIssueCount); |
|
|
|
if (!user.getRegTotal().equals(0)) { |
|
|
|
BigDecimal avgIssueCount = new BigDecimal(issue.getIssueIncr()).divide(new BigDecimal(user.getRegTotal()) |
|
|
|
.divide(new BigDecimal(NumConstant.ONE_HUNDRED)), 4, BigDecimal.ROUND_HALF_UP); |
|
|
|
entity.setAvgIssue(avgIssueCount); |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
List<List<String>> partition = ListUtils.partition(new ArrayList<>(agencyIdSet), NumConstant.THIRTY); |
|
|
@ -224,7 +232,9 @@ public class PublicPartExtractServiceImpl implements PublicPartExtractService { |
|
|
|
} |
|
|
|
bigDecimal = bigDecimal.add(new BigDecimal(vote.getVoteCount() / memberCount)); |
|
|
|
} |
|
|
|
entity.setAvgJoin(bigDecimal.divide(votedByIssueCount).multiply(new BigDecimal(NumConstant.ONE_HUNDRED))); |
|
|
|
if (votedByIssueCount.intValue() != 0) { |
|
|
|
entity.setAvgJoin(bigDecimal.divide(votedByIssueCount).multiply(new BigDecimal(NumConstant.ONE_HUNDRED))); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
screenUserJoinService.deleteAndInsertBatch(formDTO, new ArrayList<>(insertMap.values())); |
|
|
|