课程实操首页平均数

beetlsql3-dev
xuliangtong 2 years ago
parent 8ccf01b987
commit b358255b20

@ -1,6 +1,7 @@
package com.ibeetl.jlw.service;
import com.ibeetl.jlw.dao.StatisticalAnalysisDao;
import com.ibeetl.jlw.dao.SysLogDao;
import com.ibeetl.jlw.dao.UniversitiesCollegesDao;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeSchoolClassQuery;
@ -11,6 +12,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
@ -33,6 +36,10 @@ public class StatisticalAnalysisService {
@Autowired private CourseInfoService courseInfoService;
@Autowired private ResourcesApplicationService resourcesApplicationService;
@Autowired private UniversitiesCollegesDao universitiesCollegesDao;
@Autowired private SysLogDao sysLogDao;
private static final String PATTERN = "(?<=\"code\":\\[\").*?(?=\"\\],)";
Pattern r = Pattern.compile(PATTERN);
/**
*
@ -133,10 +140,23 @@ public class StatisticalAnalysisService {
//注册老师数
List<Teacher> teachers = teacherService.getTeacherByStimeAndEtime(stime, etime);
data.put("teacherNumber", teachers.size());
LambdaQuery<SysLog> logDaoLambdaQuery = sysLogDao.createLambdaQuery();
if (stime != null && etime != null) {
logDaoLambdaQuery.andBetween(SysLog::getCreateTime, stime, etime);
}
List<SysLog> sysLogs = logDaoLambdaQuery.andLike(SysLog::getRequestUrl, "%login%").andLike(SysLog::getResult, "%成功%").select();
Set<String> set = new HashSet<>();
for (SysLog sysLog : sysLogs) {
String result = sysLog.getParams();
Matcher m = r.matcher(result);
if (m.find()) {
set.add(m.group());
}
}
//登录人数
data.put("loginNumber", studentList.size());
data.put("loginNumber", set.size());
//登录人次
data.put("studentPersonTime", studentList.size());
data.put("studentPersonTime", sysLogs.size());
//上线课程数
List<CourseInfo> courseInfoList = courseInfoService.getCourseInfoByStimeAndEtime(stime, etime);
data.put("courseNumber", courseInfoList.size());

@ -200,7 +200,7 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService<TeacherOpen
achievementList = handsOnAchievementService.getListByhandIdsAndClassId(handIds, param.getClassId());
}
for (TeacherOpenCourseHandsOnList teacherOpenCourseHandsOnList : teacherOpenCourseHandsOnLists) {
List<HandsOnAchievement> collect = achievementList.stream().filter(v -> v.getHandOnId() == teacherOpenCourseHandsOnList.getHandsOnId()).collect(Collectors.toList());
List<HandsOnAchievement> collect = achievementList.stream().filter(v -> v.getHandOnId().equals(teacherOpenCourseHandsOnList.getHandsOnId())).collect(Collectors.toList());
Double videoScore = collect.stream().map(HandsOnAchievement::getVideoScore).collect(Collectors.averagingDouble(Double::parseDouble));
Double pptAvgScore = collect.stream().map(HandsOnAchievement::getPptScore).collect(Collectors.averagingDouble(Double::parseDouble));
Double theoryAvgScore = collect.stream().map(HandsOnAchievement::getTheoryScore).collect(Collectors.averagingDouble(Double::parseDouble));
@ -245,5 +245,29 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService<TeacherOpen
return taskTypeParamList;
}
public TeacherOpenCourseHandsOnList getHandsOnListCount(GetHandsOnListParam param) {
List<TeacherOpenCourseHandsOnList> teacherOpenCourseHandsOnLists = teacherOpenCourseHandsOnDao.getHandsOnList(param);
List<Long> handIds = teacherOpenCourseHandsOnLists.stream().map(v -> v.getHandsOnId()).collect(Collectors.toList());
List<HandsOnAchievement> achievementList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(handIds)) {
achievementList = handsOnAchievementService.getListByhandIdsAndClassId(handIds, param.getClassId());
}
TeacherOpenCourseHandsOnList teacherOpenCourseHandsOnList = new TeacherOpenCourseHandsOnList();
Double videoScore = achievementList.stream().map(HandsOnAchievement::getVideoScore).collect(Collectors.averagingDouble(Double::parseDouble));
Double pptAvgScore = achievementList.stream().map(HandsOnAchievement::getPptScore).collect(Collectors.averagingDouble(Double::parseDouble));
Double theoryAvgScore = achievementList.stream().map(HandsOnAchievement::getTheoryScore).collect(Collectors.averagingDouble(Double::parseDouble));
Double stepAvgScore = achievementList.stream().map(HandsOnAchievement::getPracticalTrainingScore).collect(Collectors.averagingDouble(Double::parseDouble));
Double reportAvgScore = achievementList.stream().map(HandsOnAchievement::getReportWritingScore).collect(Collectors.averagingDouble(Double::parseDouble));
teacherOpenCourseHandsOnList.setVideoAvgScore(videoScore);
teacherOpenCourseHandsOnList.setPptAvgScore(pptAvgScore);
teacherOpenCourseHandsOnList.setTheoryAvgScore(theoryAvgScore);
teacherOpenCourseHandsOnList.setStepAvgScore(stepAvgScore);
teacherOpenCourseHandsOnList.setReportAvgScore(reportAvgScore);
return teacherOpenCourseHandsOnList;
}
}

@ -221,7 +221,7 @@ public class TeacherOpenCourseHandsOnController{
/**
*
*
* @param teacherOpenCourseId ID
* @param classId ID
* @param coreUser
@ -238,6 +238,24 @@ public class TeacherOpenCourseHandsOnController{
}
/**
*
* @param teacherOpenCourseId ID
* @param classId ID
* @param coreUser
* @return
*/
@GetMapping(MODEL + "/getHandsOnListCount.do")
public JsonResult<TeacherOpenCourseHandsOnList> getHandsOnListCount(GetHandsOnListParam param, @SCoreUser CoreUser coreUser) {
if(null == coreUser){
return JsonResult.failMessage("请登录后再操作");
}else{
TeacherOpenCourseHandsOnList list = teacherOpenCourseHandsOnService.getHandsOnListCount(param);
return JsonResult.success(list);
}
}
//导出信息
@GetMapping(MODEL + "/excel/export.json")
@Function("teacherOpenCourseHandsOn.exportDocument")

@ -11,8 +11,14 @@ import com.ibeetl.admin.core.web.query.PageParam;
*/
public class GetHandsOnListParam extends PageParam {
/**
* id
*/
private Long teacherOpenCourseId;
/**
* id
*/
private Long classId;
public Long getTeacherOpenCourseId() {

Loading…
Cancel
Save