Merge remote-tracking branch 'origin/beetlsql3-dev' into beetlsql3-dev

beetlsql3-dev
Mlxa0324 2 years ago
commit 0712e752c8

@ -1,9 +1,5 @@
package com.ibeetl.jlw.entity; package com.ibeetl.jlw.entity;
import com.ibeetl.admin.core.annotation.Dict;
import java.math.BigDecimal;
/** /**
* *
* *
@ -18,7 +14,7 @@ public class TeacherOpenCourseHandsOnList {
*/ */
private Long handsOnId; private Long handsOnId;
private Long handsOnName; private String handsOnName;
/** /**
* *
@ -53,11 +49,11 @@ public class TeacherOpenCourseHandsOnList {
this.handsOnId = handsOnId; this.handsOnId = handsOnId;
} }
public Long getHandsOnName() { public String getHandsOnName() {
return handsOnName; return handsOnName;
} }
public void setHandsOnName(Long handsOnName) { public void setHandsOnName(String handsOnName) {
this.handsOnName = handsOnName; this.handsOnName = handsOnName;
} }

@ -1,6 +1,7 @@
package com.ibeetl.jlw.service; package com.ibeetl.jlw.service;
import com.ibeetl.jlw.dao.StatisticalAnalysisDao; import com.ibeetl.jlw.dao.StatisticalAnalysisDao;
import com.ibeetl.jlw.dao.SysLogDao;
import com.ibeetl.jlw.dao.UniversitiesCollegesDao; import com.ibeetl.jlw.dao.UniversitiesCollegesDao;
import com.ibeetl.jlw.entity.*; import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeSchoolClassQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeSchoolClassQuery;
@ -11,6 +12,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.*; import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -33,6 +36,10 @@ public class StatisticalAnalysisService {
@Autowired private CourseInfoService courseInfoService; @Autowired private CourseInfoService courseInfoService;
@Autowired private ResourcesApplicationService resourcesApplicationService; @Autowired private ResourcesApplicationService resourcesApplicationService;
@Autowired private UniversitiesCollegesDao universitiesCollegesDao; @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); List<Teacher> teachers = teacherService.getTeacherByStimeAndEtime(stime, etime);
data.put("teacherNumber", teachers.size()); 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); List<CourseInfo> courseInfoList = courseInfoService.getCourseInfoByStimeAndEtime(stime, etime);
data.put("courseNumber", courseInfoList.size()); data.put("courseNumber", courseInfoList.size());

@ -200,7 +200,7 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService<TeacherOpen
achievementList = handsOnAchievementService.getListByhandIdsAndClassId(handIds, param.getClassId()); achievementList = handsOnAchievementService.getListByhandIdsAndClassId(handIds, param.getClassId());
} }
for (TeacherOpenCourseHandsOnList teacherOpenCourseHandsOnList : teacherOpenCourseHandsOnLists) { 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 videoScore = collect.stream().map(HandsOnAchievement::getVideoScore).collect(Collectors.averagingDouble(Double::parseDouble));
Double pptAvgScore = collect.stream().map(HandsOnAchievement::getPptScore).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)); Double theoryAvgScore = collect.stream().map(HandsOnAchievement::getTheoryScore).collect(Collectors.averagingDouble(Double::parseDouble));
@ -245,5 +245,29 @@ public class TeacherOpenCourseHandsOnService extends CoreBaseService<TeacherOpen
return taskTypeParamList; 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;
} }
} }

@ -24,7 +24,10 @@ import org.beetl.sql.core.engine.PageQuery;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -74,6 +77,11 @@ public class TeacherOpenCourseHandsOnController{
} }
} }
@GetMapping(API + "/getALLInfo.do")
public JsonResult<List<TeacherOpenCourseHandsOn>>getALLInfo(TeacherOpenCourseHandsOnQuery param) {
List<TeacherOpenCourseHandsOn>list = teacherOpenCourseHandsOnService.getValuesByQuery(param);
return JsonResult.success(list);
}
@GetMapping(API + "/getList.do") @GetMapping(API + "/getList.do")
public JsonResult<List<TeacherOpenCourseHandsOn>>getList(TeacherOpenCourseHandsOnQuery param,@SCoreUser CoreUser coreUser) { public JsonResult<List<TeacherOpenCourseHandsOn>>getList(TeacherOpenCourseHandsOnQuery param,@SCoreUser CoreUser coreUser) {
@ -213,7 +221,7 @@ public class TeacherOpenCourseHandsOnController{
/** /**
* *
* @param teacherOpenCourseId ID * @param teacherOpenCourseId ID
* @param classId ID * @param classId ID
* @param coreUser * @param coreUser
@ -230,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") @GetMapping(MODEL + "/excel/export.json")
@Function("teacherOpenCourseHandsOn.exportDocument") @Function("teacherOpenCourseHandsOn.exportDocument")
@ -341,8 +367,8 @@ public class TeacherOpenCourseHandsOnController{
} }
@PostMapping(MODEL + "/add.do") @PostMapping(API + "/add.do")
public JsonResult addTeacherOpenCourseHandsOn(@RequestBody @Validated(ValidateConfig.ADD.class) TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery, BindingResult result, @SCoreUser CoreUser coreUser){ public JsonResult addTeacherOpenCourseHandsOn(@Validated(ValidateConfig.ADD.class) TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery, BindingResult result, @SCoreUser CoreUser coreUser){
if(result.hasErrors()){ if(result.hasErrors()){
return JsonResult.failMessage(result); return JsonResult.failMessage(result);
}else{ }else{
@ -492,7 +518,7 @@ public class TeacherOpenCourseHandsOnController{
* @param result * @param result
* @return * @return
*/ */
@PostMapping(MODEL + "/edit.do") @PostMapping(API + "/edit.do")
public JsonResult<String> editDo(@Validated(ValidateConfig.UPDATE.class) TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery, BindingResult result) { public JsonResult<String> editDo(@Validated(ValidateConfig.UPDATE.class) TeacherOpenCourseHandsOnQuery teacherOpenCourseHandsOnQuery, BindingResult result) {
if(result.hasErrors()){ if(result.hasErrors()){
return JsonResult.failMessage(result); return JsonResult.failMessage(result);

@ -279,7 +279,7 @@ public class TeacherOpenCourseHandsOnSimulationTasksController{
* id studentId * id studentId
* studentSn * studentSn
*/ */
@GetMapping(MODEL + "/getStudentScore") @GetMapping(API + "/getStudentScore.do")
@ResponseBody @ResponseBody
public PageQuery getStudentScore(StudentScoreParam studentScoreParam) { public PageQuery getStudentScore(StudentScoreParam studentScoreParam) {
return teacherOpenCourseHandsOnSimulationTasksService.getStudentScore(studentScoreParam); return teacherOpenCourseHandsOnSimulationTasksService.getStudentScore(studentScoreParam);

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

Loading…
Cancel
Save