| 
														
															@@ -3,6 +3,7 @@ package com.fs.store.service.impl; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import java.math.BigDecimal; 
														 | 
														
														 | 
														
															 import java.math.BigDecimal; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import java.math.RoundingMode; 
														 | 
														
														 | 
														
															 import java.math.RoundingMode; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import java.util.*; 
														 | 
														
														 | 
														
															 import java.util.*; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import java.util.function.Function; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import java.util.stream.Collectors; 
														 | 
														
														 | 
														
															 import java.util.stream.Collectors; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -16,6 +17,11 @@ import com.fs.company.cache.ICompanyUserCacheService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.company.domain.CompanyUser; 
														 | 
														
														 | 
														
															 import com.fs.company.domain.CompanyUser; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.company.service.ICompanyUserService; 
														 | 
														
														 | 
														
															 import com.fs.company.service.ICompanyUserService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.company.vo.CompanyQueryVo; 
														 | 
														
														 | 
														
															 import com.fs.company.vo.CompanyQueryVo; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.fs.course.mapper.FsUserCourseVideoMapper; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.fs.course.param.newfs.UserCourseVideoPageParam; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.fs.course.vo.newfs.FsCourseAnalysisCountVO; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.fs.course.vo.newfs.FsCourseAnalysisVO; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.fs.course.vo.newfs.FsUserCourseVideoPageListVO; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.qw.param.QwFsUserParam; 
														 | 
														
														 | 
														
															 import com.fs.qw.param.QwFsUserParam; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.qw.vo.QwFsUserVO; 
														 | 
														
														 | 
														
															 import com.fs.qw.vo.QwFsUserVO; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.store.domain.FsStoreOrder; 
														 | 
														
														 | 
														
															 import com.fs.store.domain.FsStoreOrder; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -26,8 +32,10 @@ import com.fs.store.dto.FsUserTransferParamDTO; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.store.enums.BillDetailEnum; 
														 | 
														
														 | 
														
															 import com.fs.store.enums.BillDetailEnum; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.store.mapper.FsStoreOrderMapper; 
														 | 
														
														 | 
														
															 import com.fs.store.mapper.FsStoreOrderMapper; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.store.mapper.FsStoreProductAttrValueMapper; 
														 | 
														
														 | 
														
															 import com.fs.store.mapper.FsStoreProductAttrValueMapper; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.fs.store.param.h5.CourseAnalysisParam; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.store.param.h5.FsUserPageListParam; 
														 | 
														
														 | 
														
															 import com.fs.store.param.h5.FsUserPageListParam; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.store.param.SelectCusListPageParam; 
														 | 
														
														 | 
														
															 import com.fs.store.param.SelectCusListPageParam; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.fs.store.param.h5.UserStatisticsCommonParam; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.store.service.IFsUserBillService; 
														 | 
														
														 | 
														
															 import com.fs.store.service.IFsUserBillService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.store.vo.FSUserVO; 
														 | 
														
														 | 
														
															 import com.fs.store.vo.FSUserVO; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.fs.store.vo.FsCompanyUserListQueryVO; 
														 | 
														
														 | 
														
															 import com.fs.store.vo.FsCompanyUserListQueryVO; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -75,6 +83,8 @@ public class FsUserServiceImpl implements IFsUserService 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private ICompanyUserCacheService companyUserCacheService; 
														 | 
														
														 | 
														
															     private ICompanyUserCacheService companyUserCacheService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Autowired 
														 | 
														
														 | 
														
															     @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private ICompanyUserService companyUserService; 
														 | 
														
														 | 
														
															     private ICompanyUserService companyUserService; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private FsUserCourseVideoMapper userCourseVideoMapper; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /** 
														 | 
														
														 | 
														
															     /** 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      * 查询用户 
														 | 
														
														 | 
														
															      * 查询用户 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -480,15 +490,15 @@ public class FsUserServiceImpl implements IFsUserService 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    public FsUserStatisticsVO userStatistics(Long userId, String startTime, String endTime, String courseId, String videoId) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        return getUserStatistics(userId, startTime, endTime, courseId, videoId); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public FsUserStatisticsVO userStatistics(UserStatisticsCommonParam param) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return getUserStatistics(param); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    private FsUserStatisticsVO getUserStatistics(Long userId, String startTime, String endTime, String courseId, String videoId) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private FsUserStatisticsVO getUserStatistics(UserStatisticsCommonParam param) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         FsUserStatisticsVO fsUserStatisticsVO = new FsUserStatisticsVO(); 
														 | 
														
														 | 
														
															         FsUserStatisticsVO fsUserStatisticsVO = new FsUserStatisticsVO(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 获取课程统计 
														 | 
														
														 | 
														
															         // 获取课程统计 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        Map<String, Long> couserMap = fsUserMapper.countUserCourse(userId, startTime, endTime, courseId, videoId); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Map<String, Long> couserMap = fsUserMapper.countUserCourse(param); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (couserMap != null) { 
														 | 
														
														 | 
														
															         if (couserMap != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             fsUserStatisticsVO.setCourseWatchNum(couserMap.get("courseWatchNum").intValue()).setCourseCompleteNum(couserMap.get("courseCompleteNum").intValue()); 
														 | 
														
														 | 
														
															             fsUserStatisticsVO.setCourseWatchNum(couserMap.get("courseWatchNum").intValue()).setCourseCompleteNum(couserMap.get("courseCompleteNum").intValue()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -502,7 +512,7 @@ public class FsUserServiceImpl implements IFsUserService 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 获取答题统计 
														 | 
														
														 | 
														
															         // 获取答题统计 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        Map<String, Long> answerMap = fsUserMapper.countUserAnswer(userId, startTime, endTime, courseId, videoId); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Map<String, Long> answerMap = fsUserMapper.countUserAnswer(param); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (answerMap != null) { 
														 | 
														
														 | 
														
															         if (answerMap != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             fsUserStatisticsVO.setAnswerNum(answerMap.get("answerNum").intValue()).setAnswerRightNum(answerMap.get("answerRightNum").intValue()); 
														 | 
														
														 | 
														
															             fsUserStatisticsVO.setAnswerNum(answerMap.get("answerNum").intValue()).setAnswerRightNum(answerMap.get("answerRightNum").intValue()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -516,7 +526,7 @@ public class FsUserServiceImpl implements IFsUserService 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 获取红包统计 
														 | 
														
														 | 
														
															         // 获取红包统计 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        Map<String, Object> redPacketMap = fsUserMapper.countUserRedPacket(userId, startTime, endTime, courseId, videoId); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Map<String, Object> redPacketMap = fsUserMapper.countUserRedPacket(param); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if(redPacketMap != null && redPacketMap.get("redPacketNum") != null && redPacketMap.get("redPacketAmount") != null) { 
														 | 
														
														 | 
														
															         if(redPacketMap != null && redPacketMap.get("redPacketNum") != null && redPacketMap.get("redPacketAmount") != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             fsUserStatisticsVO.setRedPacketNum(Integer.parseInt(redPacketMap.get("redPacketNum").toString())) 
														 | 
														
														 | 
														
															             fsUserStatisticsVO.setRedPacketNum(Integer.parseInt(redPacketMap.get("redPacketNum").toString())) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     .setRedPacketAmount(new BigDecimal(redPacketMap.get("redPacketAmount").toString())); 
														 | 
														
														 | 
														
															                     .setRedPacketAmount(new BigDecimal(redPacketMap.get("redPacketAmount").toString())); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -525,11 +535,11 @@ public class FsUserServiceImpl implements IFsUserService 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    public FsUserStatisticsVO userStatisticsDetails(Long userId, String courseId, String videoId, Long companyId) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        FsUserStatisticsVO userStatisticsVO = getUserStatistics(userId, null, null, courseId, videoId); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public FsUserStatisticsVO userStatisticsDetails(UserStatisticsCommonParam param) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        FsUserStatisticsVO userStatisticsVO = getUserStatistics(param); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         //统计课程数据详情,在查询统计详情的时候需要显示 
														 | 
														
														 | 
														
															         //统计课程数据详情,在查询统计详情的时候需要显示 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        Map<String, Long> courseDetailsMap = fsUserMapper.countCourseDetails(userId, courseId, videoId, companyId); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Map<String, Long> courseDetailsMap = fsUserMapper.countCourseDetails(param); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if(courseDetailsMap != null && courseDetailsMap.get("courseNum") != null && courseDetailsMap.get("videoNum") != null && courseDetailsMap.get("courseUserNum") != null){ 
														 | 
														
														 | 
														
															         if(courseDetailsMap != null && courseDetailsMap.get("courseNum") != null && courseDetailsMap.get("videoNum") != null && courseDetailsMap.get("courseUserNum") != null){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             userStatisticsVO.setCourseNum(Integer.parseInt(courseDetailsMap.get("courseNum").toString())) 
														 | 
														
														 | 
														
															             userStatisticsVO.setCourseNum(Integer.parseInt(courseDetailsMap.get("courseNum").toString())) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     .setVideoNum(Integer.parseInt(courseDetailsMap.get("videoNum").toString())) 
														 | 
														
														 | 
														
															                     .setVideoNum(Integer.parseInt(courseDetailsMap.get("videoNum").toString())) 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -566,8 +576,8 @@ public class FsUserServiceImpl implements IFsUserService 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    public List<FsUserGraphicStatisticsVO> graphicStatistics(Long userId, String startTime, String endTime, String courseId, String videoId) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        FsUserStatisticsVO userStatistics = getUserStatistics(userId, startTime, endTime, courseId, videoId); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public List<FsUserGraphicStatisticsVO> graphicStatistics(UserStatisticsCommonParam param) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        FsUserStatisticsVO userStatistics = getUserStatistics(param); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<FsUserGraphicStatisticsVO> list = new ArrayList<>(); 
														 | 
														
														 | 
														
															         List<FsUserGraphicStatisticsVO> list = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         list.add(new FsUserGraphicStatisticsVO("观看人数",userStatistics.getCourseWatchNum(), userStatistics.getCourseWatchNum())); 
														 | 
														
														 | 
														
															         list.add(new FsUserGraphicStatisticsVO("观看人数",userStatistics.getCourseWatchNum(), userStatistics.getCourseWatchNum())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         list.add(new FsUserGraphicStatisticsVO("完播人数", userStatistics.getCourseCompleteNum(), userStatistics.getCourseCompleteNum())); 
														 | 
														
														 | 
														
															         list.add(new FsUserGraphicStatisticsVO("完播人数", userStatistics.getCourseCompleteNum(), userStatistics.getCourseCompleteNum())); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -576,4 +586,62 @@ public class FsUserServiceImpl implements IFsUserService 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         list.add(new FsUserGraphicStatisticsVO("答题红包数", userStatistics.getRedPacketNum(), userStatistics.getRedPacketNum())); 
														 | 
														
														 | 
														
															         list.add(new FsUserGraphicStatisticsVO("答题红包数", userStatistics.getRedPacketNum(), userStatistics.getRedPacketNum())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return list; 
														 | 
														
														 | 
														
															         return list; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public List<FsCourseAnalysisVO> courseAnalysis(CourseAnalysisParam param) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //1、查询课程视频信息 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        UserCourseVideoPageParam userCourseVideoPageParam = new UserCourseVideoPageParam(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        BeanUtils.copyProperties(param, userCourseVideoPageParam); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        List<FsUserCourseVideoPageListVO> videoList = userCourseVideoMapper.selectFsUserCourseVideoPageList(userCourseVideoPageParam); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //2、查询统计 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        List<FsCourseAnalysisCountVO> courseCountList = fsUserMapper.courseAnalysisCourseCount(param); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        List<FsCourseAnalysisCountVO> redPacketCountList = fsUserMapper.courseAnalysisRedPacketCount(param); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        List<FsCourseAnalysisCountVO> answerCountList = fsUserMapper.courseAnalysisAnswerCount(param); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //3、转化为map 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Map<Long, FsCourseAnalysisCountVO> courseMap = courseCountList.stream() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                .collect(Collectors.toMap( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        FsCourseAnalysisCountVO::getVideoId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        Function.identity() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                )); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Map<Long, FsCourseAnalysisCountVO> redPacketMap = redPacketCountList.stream() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                .collect(Collectors.toMap( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        FsCourseAnalysisCountVO::getVideoId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        Function.identity() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                )); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Map<Long, FsCourseAnalysisCountVO> answerMap = answerCountList.stream() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                .collect(Collectors.toMap( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        FsCourseAnalysisCountVO::getVideoId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        Function.identity() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                )); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        //4、处理数据 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return videoList.stream().map(v -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            FsCourseAnalysisVO allVO = new FsCourseAnalysisVO(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            BeanUtils.copyProperties(v, allVO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            FsCourseAnalysisCountVO countVO = new FsCourseAnalysisCountVO(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            FsCourseAnalysisCountVO courseVO = courseMap.getOrDefault(v.getVideoId(), countVO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            FsCourseAnalysisCountVO redPacketVO = redPacketMap.getOrDefault(v.getVideoId(), countVO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            FsCourseAnalysisCountVO answerVO = answerMap.getOrDefault(v.getVideoId(), countVO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            BeanUtils.copyProperties(courseVO, countVO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            countVO.setRedPacketNum(redPacketVO.getRedPacketNum()).setRedPacketAmount(redPacketVO.getRedPacketAmount()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            countVO.setAnswerNum(answerVO.getAnswerNum()).setAnswerRightNum(answerVO.getAnswerRightNum()).setAnswerRightRate(answerVO.getAnswerRightRate()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            allVO.setCountVO(countVO); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            return allVO; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        }).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public CompanyUserSummaryCountVO companyUserSummaryCount(Long userId, String companyUserId) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        CompanyUserSummaryCountVO companyUserCount = fsUserMapper.companyUserCount(companyUserId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        CompanyUserSummaryCountVO newUserRedPacketCount = fsUserMapper.newUserRedPacketCount(companyUserId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        CompanyUserSummaryCountVO vo = new CompanyUserSummaryCountVO(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        BeanUtils.copyProperties(companyUserCount, vo); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        vo.setUserRedPacketNum(newUserRedPacketCount.getUserRedPacketNum()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        vo.setTodayUserRedPacketAmount(newUserRedPacketCount.getTodayUserRedPacketAmount()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        return vo; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 |