|
@@ -521,12 +521,19 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
|
|
|
// 计算评测活动声部最高分
|
|
|
if (ActivityRankingMethodEnum.TOTAL_SCORE == activityPlan.getRankingMethod()) {
|
|
|
|
|
|
- Map<Long, List<ActivityMusicVo>> collect = activityMusicVoList.stream()
|
|
|
- .collect(Collectors.groupingBy(x -> Long.parseLong(x.getSubjectId().split(",")[0])));
|
|
|
+ Map<String, List<ActivityMusicVo>> collect = activityMusicVoList.stream()
|
|
|
+ .collect(Collectors.groupingBy(x -> x.getSubjectId().split(",")[0]));
|
|
|
+
|
|
|
+ // 计算声部评测最高分
|
|
|
+ collect.entrySet().parallelStream().forEach(item -> {
|
|
|
+
|
|
|
+ // 单声部计算用户总分排名用户信息
|
|
|
+ List<ActivityEvaluationRecord> records = getBaseMapper().selectActivityHighestScoreRankingInfo(activityPlanId, item.getKey(), activityPlan.getRankingScore());
|
|
|
+ });
|
|
|
|
|
|
List<MusicActivityVo.SubjectInfo> subjectInfos = Lists.newArrayList();
|
|
|
ActivityMusicVo musicVo;
|
|
|
- for (Map.Entry<Long, List<ActivityMusicVo>> entry : collect.entrySet()) {
|
|
|
+ for (Map.Entry<String, List<ActivityMusicVo>> entry : collect.entrySet()) {
|
|
|
|
|
|
if (CollectionUtils.isEmpty(entry.getValue())) {
|
|
|
continue;
|
|
@@ -537,7 +544,7 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
|
|
|
subjectInfos.add(MusicActivityVo.SubjectInfo.builder()
|
|
|
.subjectId(musicVo.getSubjectId().split(",")[0])
|
|
|
.subjectName(musicVo.getMusicSubject())
|
|
|
- .join(entry.getValue().stream().anyMatch(x -> x.getJoin() == YesOrNoEnum.YES))
|
|
|
+ .join(entry.getValue().stream().anyMatch(x -> x.getJoin() == YesOrNoEnum.YES) ? 1 : 0)
|
|
|
.userId(musicVo.getUserId())
|
|
|
.username(musicVo.getUsername())
|
|
|
.userAvatar(musicVo.getUserAvatar())
|