mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-16 14:26:49 +08:00
在线导出
This commit is contained in:
@@ -1,24 +1,9 @@
|
|||||||
package com.xboe.school.study.service.impl;
|
package com.xboe.school.study.service.impl;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.concurrent.TimeUnit;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import javax.transaction.Transactional;
|
|
||||||
|
|
||||||
import com.xboe.api.ThirdApi;
|
|
||||||
import com.xboe.core.orm.QueryBuilder;
|
|
||||||
import com.xboe.school.study.entity.StudyCourse;
|
|
||||||
import com.xboe.system.user.entity.Message;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import com.xboe.common.OrderCondition;
|
import com.xboe.common.OrderCondition;
|
||||||
import com.xboe.core.orm.FieldFilters;
|
import com.xboe.core.orm.FieldFilters;
|
||||||
|
import com.xboe.core.orm.QueryBuilder;
|
||||||
|
import com.xboe.core.orm.UpdateBuilder;
|
||||||
import com.xboe.module.course.dao.CourseContentDao;
|
import com.xboe.module.course.dao.CourseContentDao;
|
||||||
import com.xboe.module.course.dao.CourseExamDao;
|
import com.xboe.module.course.dao.CourseExamDao;
|
||||||
import com.xboe.module.course.entity.CourseExam;
|
import com.xboe.module.course.entity.CourseExam;
|
||||||
@@ -28,6 +13,16 @@ import com.xboe.school.study.dao.StudyExamDao;
|
|||||||
import com.xboe.school.study.entity.StudyCourseItem;
|
import com.xboe.school.study.entity.StudyCourseItem;
|
||||||
import com.xboe.school.study.entity.StudyExam;
|
import com.xboe.school.study.entity.StudyExam;
|
||||||
import com.xboe.school.study.service.IStudyExamService;
|
import com.xboe.school.study.service.IStudyExamService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.transaction.Transactional;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@@ -73,10 +68,12 @@ public class StudyExamServiceImpl implements IStudyExamService{
|
|||||||
exam.setPassLine(0);
|
exam.setPassLine(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int prog=exam.getScore().intValue()>=exam.getPassLine()?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()>=exam.getPassLine()?StudyCourseItem.STATUS_FINISH:StudyCourseItem.STATUS_STUDYING;
|
int status=exam.getScore()>=exam.getPassLine()?StudyCourseItem.STATUS_FINISH:StudyCourseItem.STATUS_STUDYING;
|
||||||
|
int progress = exam.getScore().intValue() >= exam.getPassLine() ? 100 : 0;
|
||||||
|
|
||||||
if(obj==null) {
|
if(obj==null) {
|
||||||
StudyCourseItem sci=new StudyCourseItem();
|
StudyCourseItem sci=new StudyCourseItem();
|
||||||
LocalDateTime ldt=LocalDateTime.now();
|
LocalDateTime ldt=LocalDateTime.now();
|
||||||
@@ -85,7 +82,7 @@ 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(prog);//直接设置为学习完成
|
sci.setProgress(progress);//直接设置为学习完成
|
||||||
sci.setStatus(status);//状态直接更新为已完成
|
sci.setStatus(status);//状态直接更新为已完成
|
||||||
sci.setStartTime(ldt);
|
sci.setStartTime(ldt);
|
||||||
sci.setAid(exam.getStudentId());
|
sci.setAid(exam.getStudentId());
|
||||||
@@ -109,34 +106,32 @@ public class StudyExamServiceImpl implements IStudyExamService{
|
|||||||
}else {
|
}else {
|
||||||
exam.setStudyItemId(obj.toString());//此项就是学习条目的id
|
exam.setStudyItemId(obj.toString());//此项就是学习条目的id
|
||||||
dao.save(exam);
|
dao.save(exam);
|
||||||
if(cexam.getScoringType()==CourseExam.SCORINGTYPE_LAST){
|
//最新考试分值
|
||||||
scItemDao.updateFieldById(exam.getStudyItemId(), "score",exam.getScore());
|
if (cexam.getScoringType() == CourseExam.SCORINGTYPE_LAST) {
|
||||||
scItemDao.updateFieldById(exam.getStudyItemId(), "progress",prog);
|
scItemDao.updateMultiFieldById(exam.getStudyItemId(),
|
||||||
if(exam.getScore()>=exam.getPassLine()){
|
UpdateBuilder.create("startTime", exam.getStartTime()),
|
||||||
scItemDao.updateFieldById(exam.getStudyId(), "progress",100);
|
UpdateBuilder.create("finishTime", LocalDateTime.now()),
|
||||||
scItemDao.updateFieldById(exam.getStudyId(), "finish_time",LocalDateTime.now());
|
UpdateBuilder.create("score", exam.getScore()),
|
||||||
scItemDao.updateFieldById(exam.getStudyId(), "status",StudyCourseItem.STATUS_FINISH);
|
UpdateBuilder.create("progress", progress),
|
||||||
scItemDao.updateFieldById(exam.getStudyId(), "score",exam.getScore());
|
UpdateBuilder.create("status", status)
|
||||||
//scDao.updateFieldById(exam.getStudyId(), "last_score",100.0f);
|
);
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//1最高一次,用于最高一次的计算
|
|
||||||
if(cexam.getScoringType()==CourseExam.SCORINGTYPE_MAX) {
|
|
||||||
Float f=(Float)dao.findField("max(score)", FieldFilters.eq("contentId", exam.getContentId()), FieldFilters.eq("courseId", exam.getCourseId()), FieldFilters.eq("studyId", exam.getStudyId()));
|
|
||||||
scItemDao.updateFieldById(exam.getStudyItemId(), "score", f);
|
|
||||||
scItemDao.updateFieldById(exam.getStudyItemId(), "status", f>=exam.getPassLine()?StudyCourseItem.STATUS_FINISH:StudyCourseItem.STATUS_STUDYING);
|
|
||||||
scItemDao.updateFieldById(exam.getStudyItemId(), "progress",f>=exam.getPassLine()?100:f.intValue());
|
|
||||||
|
|
||||||
if(f>=exam.getPassLine()){
|
|
||||||
scItemDao.updateFieldById(exam.getStudyId(), "progress",100);
|
|
||||||
scItemDao.updateFieldById(exam.getStudyId(), "finish_time",LocalDateTime.now());
|
|
||||||
scItemDao.updateFieldById(exam.getStudyId(), "status",StudyCourseItem.STATUS_FINISH);
|
|
||||||
scItemDao.updateFieldById(exam.getStudyId(), "score",exam.getScore());
|
|
||||||
//scDao.updateFieldById(exam.getStudyId(), "last_score",100.0f);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//最高分
|
||||||
|
if (cexam.getScoringType() == CourseExam.SCORINGTYPE_MAX) {
|
||||||
|
Float maxScore = (Float) dao.findField("max(score)", FieldFilters.eq("contentId", exam.getContentId()), FieldFilters.eq("courseId", exam.getCourseId()), FieldFilters.eq("studyId", exam.getStudyId()));
|
||||||
|
if (exam.getScore() > maxScore) {
|
||||||
|
scItemDao.updateMultiFieldById(exam.getStudyItemId(),
|
||||||
|
UpdateBuilder.create("startTime", exam.getStartTime()),
|
||||||
|
UpdateBuilder.create("finishTime", LocalDateTime.now()),
|
||||||
|
UpdateBuilder.create("score", exam.getScore()),
|
||||||
|
UpdateBuilder.create("progress", progress),
|
||||||
|
UpdateBuilder.create("status", status)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int totalContent = courseContentDao.getCount(exam.getCourseId());
|
int totalContent = courseContentDao.getCount(exam.getCourseId());
|
||||||
scDao.finishCheck(exam.getStudyId(),exam.getCourseId(),totalContent,token);
|
scDao.finishCheck(exam.getStudyId(),exam.getCourseId(),totalContent,token);
|
||||||
scDao.updateFieldById(exam.getStudyId(), "last_score",exam.getScore());
|
scDao.updateFieldById(exam.getStudyId(), "last_score",exam.getScore());
|
||||||
|
|||||||
@@ -64,6 +64,10 @@ public class StudyHomeWorkServiceImpl implements IStudyHomeWorkService{
|
|||||||
int totalContent=courseContentDao.count(FieldFilters.eq("courseId", homework.getCourseId()),FieldFilters.eq("deleted",false));
|
int totalContent=courseContentDao.count(FieldFilters.eq("courseId", homework.getCourseId()),FieldFilters.eq("deleted",false));
|
||||||
scDao.finishCheck(homework.getStudyId(),homework.getCourseId(),totalContent,token);
|
scDao.finishCheck(homework.getStudyId(),homework.getCourseId(),totalContent,token);
|
||||||
}else {
|
}else {
|
||||||
|
StudyCourseItem sci=new StudyCourseItem();
|
||||||
|
sci.setId(obj.toString());
|
||||||
|
sci.setFinishTime(LocalDateTime.now());
|
||||||
|
scItemDao.update(sci);
|
||||||
//只是保留一条作业记录,不再保存多条记录了
|
//只是保留一条作业记录,不再保存多条记录了
|
||||||
//dao.save(homework);
|
//dao.save(homework);
|
||||||
//设置id。然后进行悠
|
//设置id。然后进行悠
|
||||||
|
|||||||
Reference in New Issue
Block a user