beetlsql3-dev
xuliangtong 2 years ago
parent c66c8e41ff
commit 1525e2ba6b

@ -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<TeacherOpenCourseMergeSchoolClass> schoolClasses = teacherOpenCourseMergeSchoolClassService.getValuesByQuery(classQuery);
List<TeacherOpenCourseMergeSchoolClass> schoolClasses = teacherOpenCourseMergeSchoolClassService.getValues(classQuery);
data.put("classNum", schoolClasses.size());
//学生人数
TeacherOpenCourseMergeStudentQuery teacherOpenCourseMergeStudentQuery = new TeacherOpenCourseMergeStudentQuery();
teacherOpenCourseMergeStudentQuery.setTeacherOpenCourseId(teacherOpenCourseId);
List<TeacherOpenCourseMergeStudent> studentList = teacherOpenCourseMergeStudentService.getValuesByQuery(teacherOpenCourseMergeStudentQuery);
List<TeacherOpenCourseMergeStudent> 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<TeacherOpenCourseNotice> noticeList = teacherOpenCourseNoticeService.getValuesByQuery(teacherOpenCourseNoticeQuery);
List<TeacherOpenCourseNotice> noticeList = teacherOpenCourseNoticeService.getValues(teacherOpenCourseNoticeQuery);
data.put("noticeNum", noticeList.size());
//签到
TeacherOpenCourseStudentSigninLogQuery signQuery = new TeacherOpenCourseStudentSigninLogQuery();
signQuery.setTeacherOpenCourseId(teacherOpenCourseId);
List<TeacherOpenCourseStudentSigninLog> signinLogs = teacherOpenCourseStudentSigninLogService.getValuesByQuery(signQuery);
List<TeacherOpenCourseStudentSigninLog> signinLogs = teacherOpenCourseStudentSigninLogService.getValues(signQuery);
List<TeacherOpenCourseStudentSigninLog> 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<TeacherOpenCourseMergeCourseInfo> openCourseMergeCourseInfos = teacherOpenCourseMergeCourseInfoService.getValuesByQuery(teacherOpenCourseMergeCourseInfoQuery);
List<TeacherOpenCourseMergeCourseInfo> openCourseMergeCourseInfos = teacherOpenCourseMergeCourseInfoService.getValues(teacherOpenCourseMergeCourseInfoQuery);
data.put("chapterNum", openCourseMergeCourseInfos.size());
//习题总数
TeacherOpenCourseQuestionSettingQuery teacherOpenCourseQuestionSettingQuery = new TeacherOpenCourseQuestionSettingQuery();
teacherOpenCourseQuestionSettingQuery.setTeacherOpenCourseId(teacherOpenCourseId);
List<TeacherOpenCourseQuestionSetting> courseQuestionSettings = teacherOpenCourseQuestionSettingService.getValuesByQuery(teacherOpenCourseQuestionSettingQuery);
List<TeacherOpenCourseQuestionSetting> courseQuestionSettings = teacherOpenCourseQuestionSettingService.getValues(teacherOpenCourseQuestionSettingQuery);
List<TeacherOpenCourseQuestionSetting> 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<TeacherOpenCourseQuestionLog> values = teacherOpenCourseQuestionLogService.getValuesByQuery(teacherOpenCourseQuestionLogQuery);
List<TeacherOpenCourseQuestionLog> 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<TeacherOpenCourseHandsOn> handsOns = teacherOpenCourseHandsOnService.getValuesByQuery(teacherOpenCourseHandsOnQuery);
List<TeacherOpenCourseHandsOn> handsOns = teacherOpenCourseHandsOnService.getValues(teacherOpenCourseHandsOnQuery);
data.put("handsOnNum", handsOns.size());
//实操任务总数
TeacherOpenCourseHandsOnSimulationTasksQuery tasksQuery = new TeacherOpenCourseHandsOnSimulationTasksQuery();
tasksQuery.setTeacherOpenCourseId(teacherOpenCourseId);
List<TeacherOpenCourseHandsOnSimulationTasks> tasksList = teacherOpenCourseHandsOnSimulationTasksService.getValuesByQuery(tasksQuery);
List<TeacherOpenCourseHandsOnSimulationTasks> 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<HandsOnAchievement> assessmentList = handsOnAchievementService.getValuesByQuery(achievementQuery);
List<HandsOnAchievement> 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<TeacherOpenCourseQuestionLog> values = teacherOpenCourseQuestionLogService.getValuesByQuery(teacherOpenCourseQuestionLogQuery);
List<TeacherOpenCourseQuestionLog> 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<TeacherOpenCourseQuestionLog> values = teacherOpenCourseQuestionLogService.getValuesByQuery(teacherOpenCourseQuestionLogQuery);
List<TeacherOpenCourseQuestionLog> 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<TeacherOpenCourseChatLog> logList = teacherOpenCourseChatLogService.getValuesByQuery(logQuery);
List<TeacherOpenCourseChatLog> logList = teacherOpenCourseChatLogService.getValues(logQuery);
//互动参与人数
Set<Long> studentLogs = logList.stream().map(TeacherOpenCourseChatLog::getStudentId).collect(Collectors.toSet());
Set<Long> teacherLogs = logList.stream().map(TeacherOpenCourseChatLog::getTeacherId).collect(Collectors.toSet());
@ -205,7 +206,11 @@ public class StatisticalAnalysisService {
*/
public Map<String, Object> indexDetail(Long teacherOpenCourseId) {
Map<String, Object> data = new HashMap<>();
TeacherOpenCourse info = teacherOpenCourseService.getInfo(teacherOpenCourseId);
List<TeacherOpenCourse> 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<TeacherOpenCourseMergeSchoolClass> classList = teacherOpenCourseMergeSchoolClassService.getValuesByQuery(classQuery);
List<TeacherOpenCourseMergeSchoolClass> classList = teacherOpenCourseMergeSchoolClassService.getValues(classQuery);
data.put("classNum", classList.size());
//学生
TeacherOpenCourseMergeStudentQuery studentQuery = new TeacherOpenCourseMergeStudentQuery();
studentQuery.setTeacherOpenCourseId(teacherOpenCourseId);
List<TeacherOpenCourseMergeStudent> studentList = teacherOpenCourseMergeStudentService.getValuesByQuery(studentQuery);
List<TeacherOpenCourseMergeStudent> studentList = teacherOpenCourseMergeStudentService.getValuesByQueryNotWithPermission(studentQuery);
data.put("studentNum", studentList.size());
//课件
TeacherOpenCourseMergeCourseInfoQuery courseInfoQuery = new TeacherOpenCourseMergeCourseInfoQuery();
courseInfoQuery.setTeacherOpenCourseId(teacherOpenCourseId);
List<TeacherOpenCourseMergeCourseInfo> courseInfos = teacherOpenCourseMergeCourseInfoService.getValuesByQuery(courseInfoQuery);
List<TeacherOpenCourseMergeCourseInfo> 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<TeacherOpenCourseQuestionSetting> courseQuestionSettings = teacherOpenCourseQuestionSettingService.getValuesByQuery(teacherOpenCourseQuestionSettingQuery);
List<TeacherOpenCourseQuestionSetting> courseQuestionSettings = teacherOpenCourseQuestionSettingService.getValues(teacherOpenCourseQuestionSettingQuery);
List<TeacherOpenCourseQuestionSetting> 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<TeacherOpenCourseHandsOn> handsOns = teacherOpenCourseHandsOnService.getValuesByQuery(teacherOpenCourseHandsOnQuery);
List<TeacherOpenCourseHandsOn> handsOns = teacherOpenCourseHandsOnService.getValues(teacherOpenCourseHandsOnQuery);
data.put("caseNum", handsOns.size());
//作业
List<TeacherOpenCourseQuestionSetting> collect2 = courseQuestionSettings.stream().filter(v -> v.getTeacherOpenCourseQuestionSettingType().equals(ResourcesQuestionSnapshotFromTypeEnum.HOMEWORK_QUESTION)).collect(Collectors.toList());
@ -294,18 +299,18 @@ public class StatisticalAnalysisService {
List<CoreUser> coreUserList = coreUserService.getCoreUserList(new CoreUser());
data.put("userNumber", coreUserList.size());
//案例数量
List<ResourcesTraining> values = resourcesTrainingService.getValuesByQuery(new ResourcesTrainingQuery());
List<ResourcesTraining> values = resourcesTrainingService.getValues(new ResourcesTrainingQuery());
data.put("caseNumber", values.size());
//视频数量
ResourcesInfoQuery resourcesInfoQuery = new ResourcesInfoQuery();
resourcesInfoQuery.setResourcesInfoType(1);
List<ResourcesInfo> videoNumber = resourcesInfoService.getValuesByQuery(resourcesInfoQuery);
List<ResourcesInfo> videoNumber = resourcesInfoService.getValues(resourcesInfoQuery);
data.put("videoNumber", videoNumber.size());
//题库数量
List<ResourcesQuestion> questionList = resourcesQuestionService.getValuesByQuery(new ResourcesQuestionQuery());
List<ResourcesQuestion> questionList = resourcesQuestionService.getValues(new ResourcesQuestionQuery());
data.put("questionNumber", questionList.size());
//院校数量
List<UniversitiesColleges> schoolList = universitiesCollegesService.getValuesByQuery(new UniversitiesCollegesQuery());
List<UniversitiesColleges> schoolList = universitiesCollegesService.getValues(new UniversitiesCollegesQuery());
data.put("schoolNumber", schoolList.size());
return data;
}

Loading…
Cancel
Save