修改bug

This commit is contained in:
zengguoqing1988
2024-05-17 21:35:54 +08:00
parent d770b59a9b
commit 1822df3716

View File

@@ -67,8 +67,10 @@ public class StudyExamServiceImpl implements IStudyExamService{
//用于计算考试成绩 //用于计算考试成绩
CourseExam cexam=cexamDao.get(exam.getTestId()); CourseExam cexam=cexamDao.get(exam.getTestId());
int prog=exam.getScore().intValue()>=80?100:exam.getScore().intValue();
//完成处理,判断是否已存在 //完成处理,判断是否已存在
Object obj=scItemDao.findField("id", FieldFilters.eq("studyId", exam.getStudyId()), FieldFilters.eq("contentId", exam.getContentId())); Object obj=scItemDao.findField("id", FieldFilters.eq("studyId", exam.getStudyId()), FieldFilters.eq("contentId", exam.getContentId()));
int status=exam.getScore()>=80?StudyCourseItem.STATUS_FINISH:StudyCourseItem.STATUS_STUDYING;
if(obj==null) { if(obj==null) {
StudyCourseItem sci=new StudyCourseItem(); StudyCourseItem sci=new StudyCourseItem();
LocalDateTime ldt=LocalDateTime.now(); LocalDateTime ldt=LocalDateTime.now();
@@ -77,8 +79,8 @@ public class StudyExamServiceImpl implements IStudyExamService{
//sci.setContentName(homework.getContentName()); //sci.setContentName(homework.getContentName());
sci.setCourseId(exam.getCourseId()); sci.setCourseId(exam.getCourseId());
//sci.setCsectionId(homework.getCsectionId()); //sci.setCsectionId(homework.getCsectionId());
sci.setProgress(100);//直接设置为学习完成 sci.setProgress(prog);//直接设置为学习完成
sci.setStatus(StudyCourseItem.STATUS_FINISH);//状态直接更新为已完成 sci.setStatus(status);//状态直接更新为已完成
sci.setStartTime(ldt); sci.setStartTime(ldt);
sci.setAid(exam.getStudentId()); sci.setAid(exam.getStudentId());
sci.setAname(exam.getStudentName()); sci.setAname(exam.getStudentName());
@@ -97,11 +99,19 @@ public class StudyExamServiceImpl implements IStudyExamService{
// int totalContent=courseContentDao.count(FieldFilters.eq("courseId", exam.getCourseId()),FieldFilters.eq("deleted",false)); // int totalContent=courseContentDao.count(FieldFilters.eq("courseId", exam.getCourseId()),FieldFilters.eq("deleted",false));
int totalContent = courseContentDao.getCount(exam.getCourseId()); int totalContent = courseContentDao.getCount(exam.getCourseId());
scDao.finishCheck(exam.getStudyId(),exam.getCourseId(),totalContent); scDao.finishCheck(exam.getStudyId(),exam.getCourseId(),totalContent);
}else { }else {
exam.setStudyItemId(obj.toString());//此项就是学习条目的id exam.setStudyItemId(obj.toString());//此项就是学习条目的id
dao.save(exam); dao.save(exam);
if(cexam.getScoringType()==CourseExam.SCORINGTYPE_LAST){ if(cexam.getScoringType()==CourseExam.SCORINGTYPE_LAST){
scItemDao.updateFieldById(exam.getStudyItemId(), "score",exam.getScore()); scItemDao.updateFieldById(exam.getStudyItemId(), "score",exam.getScore());
scItemDao.updateFieldById(exam.getStudyItemId(), "progress",prog);
}
if(prog==100){
scDao.updateFieldById(exam.getStudyId(), "progress",100.0f);
scDao.updateFieldById(exam.getStudyId(), "finish_time",LocalDateTime.now());
scDao.updateFieldById(exam.getStudyId(), "status",StudyCourseItem.STATUS_FINISH);
scDao.updateFieldById(exam.getStudyId(), "last_score",100.0f);
} }
} }
@@ -109,6 +119,14 @@ public class StudyExamServiceImpl implements IStudyExamService{
if(cexam.getScoringType()==CourseExam.SCORINGTYPE_MAX) { if(cexam.getScoringType()==CourseExam.SCORINGTYPE_MAX) {
Float f=(Float)dao.findField("max(score)", FieldFilters.eq("contentId", exam.getContentId())); Float f=(Float)dao.findField("max(score)", FieldFilters.eq("contentId", exam.getContentId()));
scItemDao.updateFieldById(exam.getStudyItemId(), "score", f); scItemDao.updateFieldById(exam.getStudyItemId(), "score", f);
scItemDao.updateFieldById(exam.getStudyItemId(), "status", f>=80?StudyCourseItem.STATUS_FINISH:StudyCourseItem.STATUS_STUDYING);
scItemDao.updateFieldById(exam.getStudyItemId(), "progress",f>=80?100:f.intValue());
if(f>=100){
scDao.updateFieldById(exam.getStudyId(), "progress",100.0f);
scDao.updateFieldById(exam.getStudyId(), "finish_time",LocalDateTime.now());
scDao.updateFieldById(exam.getStudyId(), "status",StudyCourseItem.STATUS_FINISH);
scDao.updateFieldById(exam.getStudyId(), "last_score",100.0f);
}
} }
//执行完毕 清除redis记录 //执行完毕 清除redis记录
// redisTemplate.delete(key); // redisTemplate.delete(key);