mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-09 02:46:50 +08:00
修改bug
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user