diff --git a/web/src/main/java/com/ibeetl/jlw/service/StatisticalAnalysisService.java b/web/src/main/java/com/ibeetl/jlw/service/StatisticalAnalysisService.java index e3d41254..9d751393 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/StatisticalAnalysisService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/StatisticalAnalysisService.java @@ -6,6 +6,7 @@ import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.service.CoreUserService; import com.ibeetl.jlw.dao.StatisticalAnalysisDao; import com.ibeetl.jlw.dao.SysLogDao; +import com.ibeetl.jlw.dao.TeacherOpenCourseDao; import com.ibeetl.jlw.dao.UniversitiesCollegesDao; import com.ibeetl.jlw.entity.*; import com.ibeetl.jlw.enums.ChatLogSendTypeEnum; @@ -57,7 +58,7 @@ public class StatisticalAnalysisService { @Autowired private TeacherOpenCourseHandsOnSimulationTasksService teacherOpenCourseHandsOnSimulationTasksService; @Autowired private HandsOnAchievementService handsOnAchievementService; @Autowired private TeacherOpenCourseChatLogService teacherOpenCourseChatLogService; - @Autowired private TeacherOpenCourseService teacherOpenCourseService; + @Autowired private TeacherOpenCourseDao teacherOpenCourseService; private static final String PATTERN = "(?<=\"code\":\\[\").*?(?=\"\\],)"; @@ -76,12 +77,12 @@ public class StatisticalAnalysisService { //班级数 TeacherOpenCourseMergeSchoolClassQuery classQuery = new TeacherOpenCourseMergeSchoolClassQuery(); classQuery.setTeacherOpenCourseId(teacherOpenCourseId); - List schoolClasses = teacherOpenCourseMergeSchoolClassService.getValuesByQuery(classQuery); + List schoolClasses = teacherOpenCourseMergeSchoolClassService.getValues(classQuery); data.put("classNum", schoolClasses.size()); //学生人数 TeacherOpenCourseMergeStudentQuery teacherOpenCourseMergeStudentQuery = new TeacherOpenCourseMergeStudentQuery(); teacherOpenCourseMergeStudentQuery.setTeacherOpenCourseId(teacherOpenCourseId); - List studentList = teacherOpenCourseMergeStudentService.getValuesByQuery(teacherOpenCourseMergeStudentQuery); + List studentList = teacherOpenCourseMergeStudentService.getValuesByQueryNotWithPermission(teacherOpenCourseMergeStudentQuery); data.put("studentNum", studentList.size()); //学习通过率 data.put("passRate", 90); @@ -92,12 +93,12 @@ public class StatisticalAnalysisService { //课程公告 TeacherOpenCourseNoticeQuery teacherOpenCourseNoticeQuery = new TeacherOpenCourseNoticeQuery(); teacherOpenCourseNoticeQuery.setTeacherOpenCourseIds(teacherOpenCourseId.toString()); - List noticeList = teacherOpenCourseNoticeService.getValuesByQuery(teacherOpenCourseNoticeQuery); + List noticeList = teacherOpenCourseNoticeService.getValues(teacherOpenCourseNoticeQuery); data.put("noticeNum", noticeList.size()); //签到 TeacherOpenCourseStudentSigninLogQuery signQuery = new TeacherOpenCourseStudentSigninLogQuery(); signQuery.setTeacherOpenCourseId(teacherOpenCourseId); - List signinLogs = teacherOpenCourseStudentSigninLogService.getValuesByQuery(signQuery); + List signinLogs = teacherOpenCourseStudentSigninLogService.getValues(signQuery); List collect = signinLogs.stream().filter(v -> v.getTeacherOpenCourseStudentSigninLogTag().equals(SignInTypeEnum.SIGN_IN)).collect(Collectors.toList()); //签到数量 data.put("signInNum", collect.size()); @@ -108,12 +109,12 @@ public class StatisticalAnalysisService { //总章节数 TeacherOpenCourseMergeCourseInfoQuery teacherOpenCourseMergeCourseInfoQuery = new TeacherOpenCourseMergeCourseInfoQuery(); teacherOpenCourseMergeCourseInfoQuery.setTeacherOpenCourseId(teacherOpenCourseId); - List openCourseMergeCourseInfos = teacherOpenCourseMergeCourseInfoService.getValuesByQuery(teacherOpenCourseMergeCourseInfoQuery); + List openCourseMergeCourseInfos = teacherOpenCourseMergeCourseInfoService.getValues(teacherOpenCourseMergeCourseInfoQuery); data.put("chapterNum", openCourseMergeCourseInfos.size()); //习题总数 TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery = new TeacherOpenCourseQuestionSettingQuery(); teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseId(teacherOpenCourseId); - List courseQuestionSettings = teacherOpenCourseQuestionSettingService.getValuesByQuery(teacherOpenCourseQuestionSettingQuery); + List courseQuestionSettings = teacherOpenCourseQuestionSettingService.getValues(teacherOpenCourseQuestionSettingQuery); List collect1 = courseQuestionSettings.stream().filter(v -> v.getTeacherOpenCourseQuestionSettingType().equals(ResourcesQuestionSnapshotFromTypeEnum.CHAPTER_EXERCISE)).collect(Collectors.toList()); data.put("chapterTotal", collect1.size()); //参与人数 @@ -121,7 +122,7 @@ public class StatisticalAnalysisService { String stringJoiner = CollectionUtil.join(collect1, ","); if (StringUtils.isNotEmpty(stringJoiner)) { teacherOpenCourseQuestionLogQuery.setTeacherOpenCourseQuestionSettingIdPlural(stringJoiner); - List values = teacherOpenCourseQuestionLogService.getValuesByQuery(teacherOpenCourseQuestionLogQuery); + List values = teacherOpenCourseQuestionLogService.getValues(teacherOpenCourseQuestionLogQuery); int size = values.stream().map(TeacherOpenCourseQuestionLog::getStudentId).collect(Collectors.toSet()).size(); data.put("chapterPeople", size); }else { @@ -130,12 +131,12 @@ public class StatisticalAnalysisService { //课程实操 TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery = new TeacherOpenCourseHandsOnQuery(); teacherOpenCourseHandsOnQuery.setTeacherOpenCourseId(teacherOpenCourseId); - List handsOns = teacherOpenCourseHandsOnService.getValuesByQuery(teacherOpenCourseHandsOnQuery); + List handsOns = teacherOpenCourseHandsOnService.getValues(teacherOpenCourseHandsOnQuery); data.put("handsOnNum", handsOns.size()); //实操任务总数 TeacherOpenCourseHandsOnSimulationTasksQuery tasksQuery = new TeacherOpenCourseHandsOnSimulationTasksQuery(); tasksQuery.setTeacherOpenCourseId(teacherOpenCourseId); - List tasksList = teacherOpenCourseHandsOnSimulationTasksService.getValuesByQuery(tasksQuery); + List tasksList = teacherOpenCourseHandsOnSimulationTasksService.getValues(tasksQuery); data.put("handsOnTotal", tasksList.size()); //实操参与人数 HandsOnAchievementQuery achievementQuery = new HandsOnAchievementQuery(); @@ -143,7 +144,7 @@ public class StatisticalAnalysisService { String join = CollectionUtil.join(list, ","); if (StringUtils.isNotEmpty(join)) { achievementQuery.setHandOnIdPlural(join); - List assessmentList = handsOnAchievementService.getValuesByQuery(achievementQuery); + List assessmentList = handsOnAchievementService.getValues(achievementQuery); long count = assessmentList.stream().map(HandsOnAchievement::getStudentId).count(); data.put("handsOnPeople", count); }else { @@ -158,7 +159,7 @@ public class StatisticalAnalysisService { String str = CollectionUtil.join(settings, ","); if (StringUtils.isNotEmpty(str)) { teacherOpenCourseQuestionLogQuery.setTeacherOpenCourseQuestionSettingIdPlural(str); - List values = teacherOpenCourseQuestionLogService.getValuesByQuery(teacherOpenCourseQuestionLogQuery); + List values = teacherOpenCourseQuestionLogService.getValues(teacherOpenCourseQuestionLogQuery); int size = values.stream().map(TeacherOpenCourseQuestionLog::getStudentId).collect(Collectors.toSet()).size(); data.put("homeworkPeople", size); }else { @@ -172,7 +173,7 @@ public class StatisticalAnalysisService { String s = CollectionUtil.join(settingList, ","); if (StringUtils.isNotEmpty(s)) { teacherOpenCourseQuestionLogQuery.setTeacherOpenCourseQuestionSettingIdPlural(s); - List values = teacherOpenCourseQuestionLogService.getValuesByQuery(teacherOpenCourseQuestionLogQuery); + List values = teacherOpenCourseQuestionLogService.getValues(teacherOpenCourseQuestionLogQuery); int size = values.stream().map(TeacherOpenCourseQuestionLog::getStudentId).collect(Collectors.toSet()).size(); data.put("examPeople", size); }else { @@ -182,7 +183,7 @@ public class StatisticalAnalysisService { //线上互动 TeacherOpenCourseChatLogQuery logQuery = new TeacherOpenCourseChatLogQuery(); logQuery.setTeacherOpenCourseId(teacherOpenCourseId); - List logList = teacherOpenCourseChatLogService.getValuesByQuery(logQuery); + List logList = teacherOpenCourseChatLogService.getValues(logQuery); //互动参与人数 Set studentLogs = logList.stream().map(TeacherOpenCourseChatLog::getStudentId).collect(Collectors.toSet()); Set teacherLogs = logList.stream().map(TeacherOpenCourseChatLog::getTeacherId).collect(Collectors.toSet()); @@ -205,7 +206,11 @@ public class StatisticalAnalysisService { */ public Map indexDetail(Long teacherOpenCourseId) { Map data = new HashMap<>(); - TeacherOpenCourse info = teacherOpenCourseService.getInfo(teacherOpenCourseId); + List valuesByQuery = teacherOpenCourseService.getByIds(teacherOpenCourseId.toString()); + if (CollectionUtil.isEmpty(valuesByQuery)) { + return data; + } + TeacherOpenCourse info = valuesByQuery.get(0); //课程封面 data.put("courseInfoThumbnail", info.getTeacherOpenCourseCover()); //课程名称 @@ -215,17 +220,17 @@ public class StatisticalAnalysisService { //班级 TeacherOpenCourseMergeSchoolClassQuery classQuery = new TeacherOpenCourseMergeSchoolClassQuery(); classQuery.setTeacherOpenCourseId(teacherOpenCourseId); - List classList = teacherOpenCourseMergeSchoolClassService.getValuesByQuery(classQuery); + List classList = teacherOpenCourseMergeSchoolClassService.getValues(classQuery); data.put("classNum", classList.size()); //学生 TeacherOpenCourseMergeStudentQuery studentQuery = new TeacherOpenCourseMergeStudentQuery(); studentQuery.setTeacherOpenCourseId(teacherOpenCourseId); - List studentList = teacherOpenCourseMergeStudentService.getValuesByQuery(studentQuery); + List studentList = teacherOpenCourseMergeStudentService.getValuesByQueryNotWithPermission(studentQuery); data.put("studentNum", studentList.size()); //课件 TeacherOpenCourseMergeCourseInfoQuery courseInfoQuery = new TeacherOpenCourseMergeCourseInfoQuery(); courseInfoQuery.setTeacherOpenCourseId(teacherOpenCourseId); - List courseInfos = teacherOpenCourseMergeCourseInfoService.getValuesByQuery(courseInfoQuery); + List courseInfos = teacherOpenCourseMergeCourseInfoService.getValuesByQueryNotWithPermission(courseInfoQuery); data.put("coursewareNum", courseInfos.size()); //视频 data.put("videoNum", courseInfos.size()); @@ -233,13 +238,13 @@ public class StatisticalAnalysisService { //习题总数 TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery = new TeacherOpenCourseQuestionSettingQuery(); teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseId(teacherOpenCourseId); - List courseQuestionSettings = teacherOpenCourseQuestionSettingService.getValuesByQuery(teacherOpenCourseQuestionSettingQuery); + List courseQuestionSettings = teacherOpenCourseQuestionSettingService.getValues(teacherOpenCourseQuestionSettingQuery); List collect1 = courseQuestionSettings.stream().filter(v -> v.getTeacherOpenCourseQuestionSettingType().equals(ResourcesQuestionSnapshotFromTypeEnum.CHAPTER_EXERCISE)).collect(Collectors.toList()); data.put("subjectNum", collect1.size()); //案例 TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery = new TeacherOpenCourseHandsOnQuery(); teacherOpenCourseHandsOnQuery.setTeacherOpenCourseId(teacherOpenCourseId); - List handsOns = teacherOpenCourseHandsOnService.getValuesByQuery(teacherOpenCourseHandsOnQuery); + List handsOns = teacherOpenCourseHandsOnService.getValues(teacherOpenCourseHandsOnQuery); data.put("caseNum", handsOns.size()); //作业 List collect2 = courseQuestionSettings.stream().filter(v -> v.getTeacherOpenCourseQuestionSettingType().equals(ResourcesQuestionSnapshotFromTypeEnum.HOMEWORK_QUESTION)).collect(Collectors.toList()); @@ -294,18 +299,18 @@ public class StatisticalAnalysisService { List coreUserList = coreUserService.getCoreUserList(new CoreUser()); data.put("userNumber", coreUserList.size()); //案例数量 - List values = resourcesTrainingService.getValuesByQuery(new ResourcesTrainingQuery()); + List values = resourcesTrainingService.getValues(new ResourcesTrainingQuery()); data.put("caseNumber", values.size()); //视频数量 ResourcesInfoQuery resourcesInfoQuery = new ResourcesInfoQuery(); resourcesInfoQuery.setResourcesInfoType(1); - List videoNumber = resourcesInfoService.getValuesByQuery(resourcesInfoQuery); + List videoNumber = resourcesInfoService.getValues(resourcesInfoQuery); data.put("videoNumber", videoNumber.size()); //题库数量 - List questionList = resourcesQuestionService.getValuesByQuery(new ResourcesQuestionQuery()); + List questionList = resourcesQuestionService.getValues(new ResourcesQuestionQuery()); data.put("questionNumber", questionList.size()); //院校数量 - List schoolList = universitiesCollegesService.getValuesByQuery(new UniversitiesCollegesQuery()); + List schoolList = universitiesCollegesService.getValues(new UniversitiesCollegesQuery()); data.put("schoolNumber", schoolList.size()); return data; }