作业导出,计算时长

This commit is contained in:
yang
2024-09-27 14:24:01 +08:00
parent f9b8761951
commit 638aa9ee93

View File

@@ -21,6 +21,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.transaction.Transactional;
import java.time.Duration;
import java.time.LocalDateTime;
import java.util.List;
@@ -73,10 +74,12 @@ public class StudyExamServiceImpl implements IStudyExamService{
//获取本次考试提交,学习状态与学习进度
int status=exam.getScore()>=exam.getPassLine()?StudyCourseItem.STATUS_FINISH:StudyCourseItem.STATUS_STUDYING;
int progress = exam.getScore().intValue() >= exam.getPassLine() ? 100 : 0;
//计算时长
LocalDateTime ldt=LocalDateTime.now();
Integer studyDuration = Math.toIntExact(Duration.between(exam.getStartTime(), ldt).getSeconds());
if(obj==null) {
StudyCourseItem sci=new StudyCourseItem();
LocalDateTime ldt=LocalDateTime.now();
sci.setStudyId(exam.getStudyId());
sci.setContentId(exam.getContentId());
//sci.setContentName(homework.getContentName());
@@ -84,13 +87,14 @@ public class StudyExamServiceImpl implements IStudyExamService{
//sci.setCsectionId(homework.getCsectionId());
sci.setProgress(progress);//直接设置为学习完成
sci.setStatus(status);//状态直接更新为已完成
sci.setStartTime(ldt);
sci.setStartTime(exam.getStartTime());
sci.setAid(exam.getStudentId());
sci.setAname(exam.getStudentName());
sci.setFinishTime(LocalDateTime.now());
sci.setFinishTime(ldt);
sci.setLastStudyTime(0);//此项用户记录视频内容当前学习的时间点
sci.setLastTime(ldt);
sci.setScore(exam.getScore());
sci.setStudyDuration(studyDuration);
scItemDao.save(sci);
exam.setStudyItemId(sci.getId());
dao.save(exam);
@@ -112,7 +116,8 @@ public class StudyExamServiceImpl implements IStudyExamService{
UpdateBuilder.create("finishTime", LocalDateTime.now()),
UpdateBuilder.create("score", exam.getScore()),
UpdateBuilder.create("progress", progress),
UpdateBuilder.create("status", status)
UpdateBuilder.create("status", status),
UpdateBuilder.create("studyDuration", studyDuration)
);
}