学生端课程实操

beetlsql3-dev
xuliangtong
parent 7f6155fba7
commit 34c4ba47b4

@ -11,6 +11,8 @@ import com.ibeetl.admin.core.annotation.Dict;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
/*
* --PPT
@ -37,9 +39,16 @@ public class StudentHandsOnTaskPpt extends BaseEntity{
private Long handsOnTaskId ;
//PPT地址名称
//PPT观看进度
/**
* [{fileName:"", schedule: "", fileUrl: ""}]
* fileName
* schedule
* fileUrl
*/
private String pptFile ;
private List<Map<String, Object>> pptFiles;
//观看得分
@ -211,5 +220,11 @@ public class StudentHandsOnTaskPpt extends BaseEntity{
this.studentId = studentId;
}
public List<Map<String, Object>> getPptFiles() {
return pptFiles;
}
public void setPptFiles(List<Map<String, Object>> pptFiles) {
this.pptFiles = pptFiles;
}
}

@ -11,6 +11,8 @@ import com.ibeetl.admin.core.annotation.Dict;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
/*
* --
@ -37,9 +39,16 @@ public class StudentHandsOnTaskVideo extends BaseEntity{
private Long handsOnTaskId ;
//视频地址名称
//视频观看进度
/**
* [{fileName:"", schedule: "", fileUrl: ""}]
* fileName
* schedule
* fileUrl
*/
private String videoFile ;
private List<Map<String, Object>> videoFiles;
//观看得分
@ -211,5 +220,11 @@ public class StudentHandsOnTaskVideo extends BaseEntity{
this.studentId = studentId;
}
public List<Map<String, Object>> getVideoFiles() {
return videoFiles;
}
public void setVideoFiles(List<Map<String, Object>> videoFiles) {
this.videoFiles = videoFiles;
}
}

@ -2,7 +2,9 @@ package com.ibeetl.jlw.service;
import cn.jlw.util.ToolUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.util.PlatformException;
@ -10,9 +12,11 @@ import com.ibeetl.admin.core.util.TimeTool;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.admin.core.web.JsonReturnCode;
import com.ibeetl.jlw.dao.StudentHandsOnTaskPptDao;
import com.ibeetl.jlw.entity.FileEntity;
import com.ibeetl.jlw.entity.StudentHandsOnTaskPpt;
import com.ibeetl.jlw.dao.TeacherOpenCourseHandsOnSimulationTasksDao;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.web.query.StudentHandsOnTaskPptQuery;
import com.ibeetl.jlw.web.query.TeacherOpenCourseHandsOnSimulationTasksFileQuery;
import com.ibeetl.jlw.web.query.TeacherOpenCourseHandsOnSimulationTasksQuery;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
@ -43,6 +47,9 @@ import static com.ibeetl.admin.core.util.ExcelUtil.getCellFormatValue;
public class StudentHandsOnTaskPptService extends CoreBaseService<StudentHandsOnTaskPpt>{
@Autowired private StudentHandsOnTaskPptDao studentHandsOnTaskPptDao;
@Autowired private StudentService studentService;
@Autowired private TeacherOpenCourseHandsOnSimulationTasksDao tasksService;
@Autowired private TeacherOpenCourseHandsOnSimulationTasksFileService fileService;
public PageQuery<StudentHandsOnTaskPpt>queryByCondition(PageQuery query){
PageQuery ret = studentHandsOnTaskPptDao.queryByCondition(query);
@ -322,4 +329,45 @@ public class StudentHandsOnTaskPptService extends CoreBaseService<StudentHandsOn
}
public JsonResult<StudentHandsOnTaskPpt> getHandsOnTaskkPptByTaskId(Long taskId, CoreUser coreUser) {
//查询登录用的学生id
if (!coreUser.isStudent()) {
return null;
}
Student student = studentService.getByUserId(coreUser.getId());
StudentHandsOnTaskPpt studentHandsOnTaskPpt = this.sqlManager.lambdaQuery(StudentHandsOnTaskPpt.class).andEq(StudentHandsOnTaskPpt::getHandsOnTaskId, taskId)
.andEq(StudentHandsOnTaskPpt::getStudentId, student.getStudentId()).singleSimple();
if (studentHandsOnTaskPpt == null) {
TeacherOpenCourseHandsOnSimulationTasksFileQuery fileQuery = new TeacherOpenCourseHandsOnSimulationTasksFileQuery();
fileQuery.setTaskId(taskId);
//查询视频
List<TeacherOpenCourseHandsOnSimulationTasksFile> videoFile = fileService.getValuesByQueryNotWithPermission(fileQuery);
TeacherOpenCourseHandsOnSimulationTasksQuery tasksQuery = new TeacherOpenCourseHandsOnSimulationTasksQuery();
tasksQuery.setTaskId(taskId);
List<TeacherOpenCourseHandsOnSimulationTasks> tasks = tasksService.getValuesByQueryNotWithPermission(tasksQuery);
TeacherOpenCourseHandsOnSimulationTasks teacherOpenCourseHandsOnSimulationTasks = tasks.get(0);
studentHandsOnTaskPpt.setHandsOnTaskId(teacherOpenCourseHandsOnSimulationTasks.getTaskId());
studentHandsOnTaskPpt.setStudentId(student.getStudentId());
studentHandsOnTaskPpt.setHandsOnId(teacherOpenCourseHandsOnSimulationTasks.getHandsOnId());
studentHandsOnTaskPpt.setTeacherOpenCourseId(teacherOpenCourseHandsOnSimulationTasks.getTeacherOpenCourseId());
studentHandsOnTaskPpt.setCreateTime(new Date());
studentHandsOnTaskPpt.setPptScore(BigDecimal.ZERO);
List<Map<String, Object>> list = new ArrayList<>();
for (TeacherOpenCourseHandsOnSimulationTasksFile file : videoFile) {
Map<String, Object> map = new HashMap<>();
map.put("fileName", file.getFileName());
map.put("schedule", 0);
map.put("fileUrl", file.getFileUrl());
list.add(map);
}
studentHandsOnTaskPpt.setPptFile(JSONArray.toJSONString(list));
studentHandsOnTaskPpt.setPptFiles(list);
}else {
String videoFile = studentHandsOnTaskPpt.getPptFile();
if (StringUtils.isNotEmpty(videoFile)) {
studentHandsOnTaskPpt.setPptFiles(JSONArray.parseObject(videoFile, new TypeReference<List<Map<String,Object>>>(){}));
}
}
return JsonResult.success(studentHandsOnTaskPpt);
}
}

@ -92,6 +92,11 @@ public class StudentHandsOnTaskReportService extends CoreBaseService<StudentHand
public JsonResult add(StudentHandsOnTaskReportQuery studentHandsOnTaskReportQuery){
String msg = "";
StudentHandsOnTaskReport studentHandsOnTaskReport = studentHandsOnTaskReportQuery.pojo();
Long handsOnTaskId = studentHandsOnTaskReport.getHandsOnTaskId();
StudentHandsOnTaskReport studentHandsOnTaskReport1 = this.sqlManager.lambdaQuery(StudentHandsOnTaskReport.class).andEq(StudentHandsOnTaskReport::getHandsOnTaskId, handsOnTaskId).singleSimple();
if (studentHandsOnTaskReport1 != null) {
deleteById(studentHandsOnTaskReport1.getStudentHandsOnTaskReportId());
}
studentHandsOnTaskReportDao.insert(studentHandsOnTaskReport);
studentHandsOnTaskReportQuery.setStudentHandsOnTaskReportId(studentHandsOnTaskReport.getStudentHandsOnTaskReportId());
JsonResult jsonResult = new JsonResult();

@ -2,7 +2,9 @@ package com.ibeetl.jlw.service;
import cn.jlw.util.ToolUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.util.PlatformException;
@ -10,9 +12,11 @@ import com.ibeetl.admin.core.util.TimeTool;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.admin.core.web.JsonReturnCode;
import com.ibeetl.jlw.dao.StudentHandsOnTaskVideoDao;
import com.ibeetl.jlw.entity.FileEntity;
import com.ibeetl.jlw.entity.StudentHandsOnTaskVideo;
import com.ibeetl.jlw.dao.TeacherOpenCourseHandsOnSimulationTasksDao;
import com.ibeetl.jlw.entity.*;
import com.ibeetl.jlw.web.query.StudentHandsOnTaskVideoQuery;
import com.ibeetl.jlw.web.query.TeacherOpenCourseHandsOnSimulationTasksFileQuery;
import com.ibeetl.jlw.web.query.TeacherOpenCourseHandsOnSimulationTasksQuery;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
@ -43,6 +47,9 @@ import static com.ibeetl.admin.core.util.ExcelUtil.getCellFormatValue;
public class StudentHandsOnTaskVideoService extends CoreBaseService<StudentHandsOnTaskVideo>{
@Autowired private StudentHandsOnTaskVideoDao studentHandsOnTaskVideoDao;
@Autowired private TeacherOpenCourseHandsOnSimulationTasksFileService fileService;
@Autowired private StudentService studentService;
@Autowired private TeacherOpenCourseHandsOnSimulationTasksDao tasksService;
public PageQuery<StudentHandsOnTaskVideo>queryByCondition(PageQuery query){
PageQuery ret = studentHandsOnTaskVideoDao.queryByCondition(query);
@ -322,4 +329,45 @@ public class StudentHandsOnTaskVideoService extends CoreBaseService<StudentHands
}
public JsonResult<StudentHandsOnTaskVideo> getHandsOnTaskkVideoByTaskId(Long taskId, CoreUser coreUser) {
//查询登录用的学生id
if (!coreUser.isStudent()) {
return null;
}
Student student = studentService.getByUserId(coreUser.getId());
StudentHandsOnTaskVideo studentHandsOnTaskVideo = this.sqlManager.lambdaQuery(StudentHandsOnTaskVideo.class).andEq(StudentHandsOnTaskVideo::getHandsOnTaskId, taskId)
.andEq(StudentHandsOnTaskVideo::getStudentId, student.getStudentId()).singleSimple();
if (studentHandsOnTaskVideo == null) {
TeacherOpenCourseHandsOnSimulationTasksFileQuery fileQuery = new TeacherOpenCourseHandsOnSimulationTasksFileQuery();
fileQuery.setTaskId(taskId);
//查询视频
List<TeacherOpenCourseHandsOnSimulationTasksFile> videoFile = fileService.getValuesByQueryNotWithPermission(fileQuery);
TeacherOpenCourseHandsOnSimulationTasksQuery tasksQuery = new TeacherOpenCourseHandsOnSimulationTasksQuery();
tasksQuery.setTaskId(taskId);
List<TeacherOpenCourseHandsOnSimulationTasks> tasks = tasksService.getValuesByQueryNotWithPermission(tasksQuery);
TeacherOpenCourseHandsOnSimulationTasks teacherOpenCourseHandsOnSimulationTasks = tasks.get(0);
studentHandsOnTaskVideo.setHandsOnTaskId(teacherOpenCourseHandsOnSimulationTasks.getTaskId());
studentHandsOnTaskVideo.setStudentId(student.getStudentId());
studentHandsOnTaskVideo.setHandsOnId(teacherOpenCourseHandsOnSimulationTasks.getHandsOnId());
studentHandsOnTaskVideo.setTeacherOpenCourseId(teacherOpenCourseHandsOnSimulationTasks.getTeacherOpenCourseId());
studentHandsOnTaskVideo.setCreateTime(new Date());
studentHandsOnTaskVideo.setVideoScore(BigDecimal.ZERO);
List<Map<String, Object>> list = new ArrayList<>();
for (TeacherOpenCourseHandsOnSimulationTasksFile file : videoFile) {
Map<String, Object> map = new HashMap<>();
map.put("fileName", file.getFileName());
map.put("schedule", 0);
map.put("fileUrl", file.getFileUrl());
list.add(map);
}
studentHandsOnTaskVideo.setVideoFile(JSONArray.toJSONString(list));
studentHandsOnTaskVideo.setVideoFiles(list);
}else {
String videoFile = studentHandsOnTaskVideo.getVideoFile();
if (StringUtils.isNotEmpty(videoFile)) {
studentHandsOnTaskVideo.setVideoFiles(JSONArray.parseObject(videoFile, new TypeReference<List<Map<String,Object>>>(){}));
}
}
return JsonResult.success(studentHandsOnTaskVideo);
}
}

@ -1,9 +1,12 @@
package com.ibeetl.jlw.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.jlw.Interceptor.SCoreUser;
import cn.jlw.util.ToolUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.service.CoreBaseService;
import com.ibeetl.admin.core.util.PlatformException;
import com.ibeetl.admin.core.web.JsonResult;
@ -271,12 +274,9 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
public TeacherOpenCourseHandsOnSimulationTasks getInfo (TeacherOpenCourseHandsOnSimulationTasksQuery teacherOpenCourseHandsOnSimulationTasksQuery){
List<TeacherOpenCourseHandsOnSimulationTasks> list = teacherOpenCourseHandsOnSimulationTasksDao.getValuesByQuery(teacherOpenCourseHandsOnSimulationTasksQuery);
if(null != list && list.size()>0){
for (TeacherOpenCourseHandsOnSimulationTasks teacherOpenCourseHandsOnSimulationTasks : list) {
List<HandsOnTaskProblemVO> objectiveProblem = getObjectiveProblem(teacherOpenCourseHandsOnSimulationTasks.getTaskList(), teacherOpenCourseHandsOnSimulationTasks.getTaskId());
teacherOpenCourseHandsOnSimulationTasks.setHandsOnTaskProblemVo(objectiveProblem);
}
TeacherOpenCourseHandsOnSimulationTasks teacherOpenCourseHandsOnSimulationTasks = list.get(0);
List<HandsOnTaskProblemVO> objectiveProblem = getObjectiveProblem(teacherOpenCourseHandsOnSimulationTasks.getTaskList(), teacherOpenCourseHandsOnSimulationTasks.getTaskId());
teacherOpenCourseHandsOnSimulationTasks.setHandsOnTaskProblemVo(objectiveProblem);
Long taskId = teacherOpenCourseHandsOnSimulationTasks.getTaskId();
TeacherOpenCourseHandsOnSimulationTasksAssessmentQuery assessmentQuery = new TeacherOpenCourseHandsOnSimulationTasksAssessmentQuery();
assessmentQuery.setHandsOnTaskId(taskId);
@ -404,4 +404,24 @@ public class TeacherOpenCourseHandsOnSimulationTasksService extends CoreBaseServ
public void deleteTeacherOpenCourseAllRelatedByTeacherOpenCourseId(@NotNull(message = "开课ID不能为空") Long teacherOpenCourseId) {
log.info("需要实现删除操作!");
}
public JsonResult getTaskList(Long handsOnId, CoreUser coreUser) {
TeacherOpenCourseHandsOnSimulationTasksQuery tasksQuery = new TeacherOpenCourseHandsOnSimulationTasksQuery();
tasksQuery.setHandsOnId(handsOnId);
List<TeacherOpenCourseHandsOnSimulationTasks> handsOnSimulationTasks = getValuesByQueryNotWithPermission(tasksQuery);
if (CollectionUtils.isNotEmpty(handsOnSimulationTasks)) {
List<Long> collect = handsOnSimulationTasks.stream().map(TeacherOpenCourseHandsOnSimulationTasks::getTaskId).collect(Collectors.toList());
TeacherOpenCourseHandsOnSimulationTasksFileQuery fileQuery = new TeacherOpenCourseHandsOnSimulationTasksFileQuery();
fileQuery.setTaskIdPlural(CollectionUtil.join(collect, ","));
List<TeacherOpenCourseHandsOnSimulationTasksFile> tasksFileList = teacherOpenCourseHandsOnSimulationTasksFileService.getValuesByQueryNotWithPermission(fileQuery);
for (TeacherOpenCourseHandsOnSimulationTasks handsOnSimulationTask : handsOnSimulationTasks) {
Long taskId = handsOnSimulationTask.getTaskId();
List<TeacherOpenCourseHandsOnSimulationTasksFile> tasksFiles = tasksFileList.stream().filter(v -> v.getTaskId().equals(taskId)).collect(Collectors.toList());
handsOnSimulationTask.setTeacherOpenCourseHandsOnSimulationTasksFileList(tasksFileList);
}
}
return null;
}
}

@ -557,4 +557,29 @@ public class StudentHandsOnTaskPptController{
}
}
/**
* ppt
* @param taskId id
* @param coreUser
* @return
*/
@GetMapping(API + "/getHandsOnTaskkPptByTaskId")
public JsonResult<StudentHandsOnTaskPpt> getHandsOnTaskkPptByTaskId(Long taskId, @SCoreUser CoreUser coreUser) {
return studentHandsOnTaskPptService.getHandsOnTaskkPptByTaskId(taskId, coreUser);
}
@PostMapping(API + "/add.do")
public JsonResult addDo(@Validated(ValidateConfig.ADD.class) StudentHandsOnTaskPptQuery studentHandsOnTaskPptQuery, BindingResult result,@SCoreUser CoreUser coreUser){
if(result.hasErrors()){
return JsonResult.failMessage(result);
}else{
studentHandsOnTaskPptQuery.setUserId(coreUser.getId());
studentHandsOnTaskPptQuery.setOrgId(coreUser.getOrgId());
return studentHandsOnTaskPptService.add(studentHandsOnTaskPptQuery);
}
}
}

@ -557,4 +557,31 @@ public class StudentHandsOnTaskVideoController{
}
}
/**
*
* @param taskId id
* @param coreUser
* @return
*/
@GetMapping(API+"/getHandsOnTaskkVideoByTaskId")
public JsonResult<StudentHandsOnTaskVideo> getHandsOnTaskkVideoByTaskId(Long taskId, @SCoreUser CoreUser coreUser) {
return studentHandsOnTaskVideoService.getHandsOnTaskkVideoByTaskId(taskId, coreUser);
}
@PostMapping(API + "/editDo")
public JsonResult<String> editDo(@Validated(ValidateConfig.UPDATE.class) StudentHandsOnTaskVideoQuery studentHandsOnTaskVideoQuery, BindingResult result) {
if(result.hasErrors()){
return JsonResult.failMessage(result);
}else {
studentHandsOnTaskVideoQuery.setUserId(null);
studentHandsOnTaskVideoQuery.setOrgId(null);
String msg = studentHandsOnTaskVideoService.edit(studentHandsOnTaskVideoQuery);
if (StringUtils.isBlank(msg)) {
return JsonResult.success();
} else {
return JsonResult.failMessage("更新失败,"+msg);
}
}
}
}

@ -283,5 +283,13 @@ public class TeacherOpenCourseHandsOnSimulationTasksController{
return teacherOpenCourseHandsOnSimulationTasksService.getStudentScore(studentScoreParam);
}
/**
* @param handsOnId id
* @return
*/
@GetMapping(API + "/getTaskList")
public JsonResult getTaskList(Long handsOnId,@SCoreUser CoreUser coreUser) {
return teacherOpenCourseHandsOnSimulationTasksService.getTaskList(handsOnId, coreUser);
}
}

@ -25,7 +25,14 @@ public class StudentHandsOnTaskVideoQuery extends PageParam {
private Long handsOnId;
@Query(name = "课程实操任务ID", display = false)
private Long handsOnTaskId;
@Query(name = "视频地址名称", display = false)
//视频观看进度
/**
* [{fileName:"", schedule: "", fileUrl: ""}]
* fileName
* schedule
* fileUrl
*/
@Query(name = "视频观看进度", display = false)
private String videoFile;
@Query(name = "观看得分", display = false)
private BigDecimal videoScore;

Loading…
Cancel
Save