|
@@ -673,23 +673,42 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
|
|
|
Map<Integer, List<UserStudyRecord>> buyMap = recordList.stream().filter(x -> ObjectUtils.isNotNull(x.getBuyCourse())).collect(Collectors.groupingBy(UserStudyRecord::getBuyCourse));
|
|
|
if (CollectionUtils.isNotEmpty(buyMap)){
|
|
|
//开通课程
|
|
|
- Map<Long, List<UserStudyRecord>> records = buyMap.get(1).stream().filter(x -> ObjectUtils.isNotNull(x.getUserId())).collect(Collectors.groupingBy(UserStudyRecord::getUserId));
|
|
|
- Set<Long> buyCourseUserIds = records.keySet();
|
|
|
- item.setBuyCourseNumber(buyCourseUserIds.size());
|
|
|
- //未开通课程
|
|
|
- Map<Long, List<UserStudyRecord>> collect = buyMap.get(0).stream().filter(x -> ObjectUtils.isNotNull(x.getUserId())).collect(Collectors.groupingBy(UserStudyRecord::getUserId));
|
|
|
- List<Long> unBuyCourseUserIds = collect.keySet().stream().filter(x -> !buyCourseUserIds.contains(x)).collect(Collectors.toList());
|
|
|
- item.setUnBuyCourseNumber(CollectionUtils.isNotEmpty(unBuyCourseUserIds)?unBuyCourseUserIds.size():0);
|
|
|
+ List<UserStudyRecord> records1 = buyMap.get(1);
|
|
|
+ Set<Long> buyCourseUserIds = new HashSet<>();
|
|
|
+ if (CollectionUtils.isNotEmpty(records1)){
|
|
|
+ Map<Long, List<UserStudyRecord>> records = records1.stream().filter(x -> ObjectUtils.isNotNull(x.getUserId())).collect(Collectors.groupingBy(UserStudyRecord::getUserId));
|
|
|
+ buyCourseUserIds = records.keySet();
|
|
|
+ item.setBuyCourseNumber(buyCourseUserIds.size());
|
|
|
+ }
|
|
|
|
|
|
+ //未开通课程
|
|
|
+ List<UserStudyRecord> records = buyMap.get(0);
|
|
|
+ if (CollectionUtils.isNotEmpty(records)){
|
|
|
+ Map<Long, List<UserStudyRecord>> collect = records.stream().filter(x -> ObjectUtils.isNotNull(x.getUserId())).collect(Collectors.groupingBy(UserStudyRecord::getUserId));
|
|
|
+ List<Long> unBuyCourseUserIds = new ArrayList<>();
|
|
|
+ for (Long id : collect.keySet()) {
|
|
|
+ if (CollectionUtils.isNotEmpty(buyCourseUserIds) && !buyCourseUserIds.contains(id)){
|
|
|
+ unBuyCourseUserIds.add(id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ item.setUnBuyCourseNumber(CollectionUtils.isNotEmpty(unBuyCourseUserIds)?unBuyCourseUserIds.size():0);
|
|
|
+ }
|
|
|
}
|
|
|
Map<String, List<UserStudyRecord>> collect = recordList.stream().filter(x -> ObjectUtils.isNotNull(x.getFromPlat())).collect(Collectors.groupingBy(UserStudyRecord::getFromPlat));
|
|
|
if (CollectionUtils.isNotEmpty(collect)) {
|
|
|
//小程序
|
|
|
- Map<Long, List<UserStudyRecord>> rListMap = collect.get("1").stream().filter(x -> ObjectUtils.isNotNull(x.getUserId())).collect(Collectors.groupingBy(UserStudyRecord::getUserId));
|
|
|
- item.setAppWatchNumber(rListMap.keySet().size());
|
|
|
+ List<UserStudyRecord> records1 = collect.get("1");
|
|
|
+ if (CollectionUtils.isNotEmpty(records1)){
|
|
|
+ Map<Long, List<UserStudyRecord>> rListMap = records1.stream().filter(x -> ObjectUtils.isNotNull(x.getUserId())).collect(Collectors.groupingBy(UserStudyRecord::getUserId));
|
|
|
+ item.setAppWatchNumber(rListMap.keySet().size());
|
|
|
+ }
|
|
|
//PC
|
|
|
- Map<Long, List<UserStudyRecord>> records = collect.get("2").stream().filter(x -> ObjectUtils.isNotNull(x.getUserId())).collect(Collectors.groupingBy(UserStudyRecord::getUserId));
|
|
|
- item.setAdminWatchNumber(records.keySet().size());
|
|
|
+ List<UserStudyRecord> records2 = collect.get("2");
|
|
|
+ if (CollectionUtils.isNotEmpty(records2)){
|
|
|
+ Map<Long, List<UserStudyRecord>> records = records2.stream().filter(x -> ObjectUtils.isNotNull(x.getUserId())).collect(Collectors.groupingBy(UserStudyRecord::getUserId));
|
|
|
+ item.setAdminWatchNumber(records.keySet().size());
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
});
|