mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/per-boe/java-servers.git
synced 2025-12-11 03:46:50 +08:00
修改scorm学习完成的记录情况
This commit is contained in:
@@ -306,19 +306,19 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
if(StringUtils.isBlank(sci.getContentId())){
|
||||
return error("参数错误:内容");
|
||||
}
|
||||
LocalDateTime now=LocalDateTime.now();
|
||||
// LocalDateTime now=LocalDateTime.now();
|
||||
CurrentUser cuser=getCurrent();
|
||||
|
||||
//下面的学习时长应该去掉了,不需要
|
||||
StudyTime st=new StudyTime();
|
||||
st.setContentId(sci.getContentId());
|
||||
st.setCourseId(sci.getCourseId());
|
||||
st.setDuration(5);//增加5秒的学习时长
|
||||
st.setEndTime(now);
|
||||
st.setStartTime(now);
|
||||
st.setStudentId(cuser.getAccountId());
|
||||
st.setStudentName(cuser.getName());
|
||||
st.setStudyId(sci.getStudyId());
|
||||
// StudyTime st=new StudyTime();
|
||||
// st.setContentId(sci.getContentId());
|
||||
// st.setCourseId(sci.getCourseId());
|
||||
// st.setDuration(5);//增加5秒的学习时长
|
||||
// st.setEndTime(now);
|
||||
// st.setStartTime(now);
|
||||
// st.setStudentId(cuser.getAccountId());
|
||||
// st.setStudentName(cuser.getName());
|
||||
// st.setStudyId(sci.getStudyId());
|
||||
|
||||
//检查是否已存在
|
||||
StudyCourseItem item = studyService.checkHas(sci.getStudyId(),sci.getContentId());
|
||||
@@ -328,7 +328,7 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
studyService.updateProcess(item.getId(),sci.getStudyId(),sci.getCourseId(), sci.getContentTotal(),sci.getProgress());
|
||||
}
|
||||
//追加学习时长
|
||||
studyService.appendStudyDuration(st);
|
||||
//studyService.appendStudyDuration(st);
|
||||
return success(item.getId());
|
||||
}
|
||||
|
||||
@@ -337,7 +337,7 @@ public class StudyCourseApi extends ApiBaseController{
|
||||
sci.setAname(cuser.getName());
|
||||
studyService.saveStudyInfo(sci);
|
||||
//学习记录成功后处理
|
||||
studyService.appendStudyDuration(st);
|
||||
//studyService.appendStudyDuration(st);
|
||||
return success(sci.getStudyItemId());
|
||||
}catch(Exception e) {
|
||||
log.error("记录学习课程内容完成错误",e);
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.xboe.core.orm.FieldFilters;
|
||||
import com.xboe.core.orm.UpdateBuilder;
|
||||
import com.xboe.module.course.dao.CourseContentDao;
|
||||
import com.xboe.school.study.entity.StudyCourse;
|
||||
import com.xboe.school.study.entity.StudyCourseItem;
|
||||
|
||||
@Repository
|
||||
public class StudyCourseDao extends BaseDao<StudyCourse> {
|
||||
@@ -27,7 +28,8 @@ public class StudyCourseDao extends BaseDao<StudyCourse> {
|
||||
* @param total
|
||||
*/
|
||||
public void finishCheck(String studyId,String courseId,Integer total){
|
||||
int n=scItemDao.count(FieldFilters.eq("studyId",studyId));
|
||||
//已完成的内容
|
||||
int n=scItemDao.count(FieldFilters.eq("studyId",studyId),FieldFilters.eq("status",StudyCourseItem.STATUS_FINISH));
|
||||
if(total==null) {
|
||||
total=courseContentDao.count(FieldFilters.eq("courseId", courseId),FieldFilters.eq("deleted",false));
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ public interface IStudyService {
|
||||
* @param studyContentId
|
||||
* @param progress
|
||||
*/
|
||||
void updateProcess(String studyContentId,String studyId, String courseId,int total,Integer progress);
|
||||
void updateProcess(String studyContentId,String studyId, String courseId,Integer total,Integer progress);
|
||||
|
||||
/**
|
||||
* 更新最后的学习时间,及学习时间点
|
||||
|
||||
@@ -61,24 +61,36 @@ public class StudyServiceImpl implements IStudyService{
|
||||
@Override
|
||||
@Transactional
|
||||
public void saveStudyInfo(StudyContentDto dto) {
|
||||
//记录课程学习信息
|
||||
StudyCourseItem sci=new StudyCourseItem();
|
||||
StudyCourseItem sci = scItemDao.findOne(FieldFilters.eq("studyId", dto.getStudyId()),FieldFilters.eq("contentId", dto.getContentId()),FieldFilters.eq("aid", dto.getAid()));
|
||||
LocalDateTime ldt=LocalDateTime.now();
|
||||
sci.setStudyId(dto.getStudyId());
|
||||
sci.setContentId(dto.getContentId());
|
||||
sci.setContentName(dto.getContentName());
|
||||
sci.setCourseId(dto.getCourseId());
|
||||
|
||||
sci.setCsectionId(dto.getCsectionId());
|
||||
sci.setProgress(100);//直接设置为学习完成
|
||||
sci.setStartTime(ldt);
|
||||
sci.setAid(dto.getAid());
|
||||
sci.setAname(dto.getAname());
|
||||
sci.setFinishTime(LocalDateTime.now());
|
||||
sci.setLastStudyTime(0);//此项用户记录视频内容当前学习的时间点
|
||||
if(sci==null) {
|
||||
sci=new StudyCourseItem();
|
||||
sci.setStartTime(ldt);
|
||||
sci.setAid(dto.getAid());
|
||||
sci.setAname(dto.getAname());
|
||||
sci.setLastStudyTime(0);//此项用户记录视频内容当前学习的时间点
|
||||
sci.setStudyId(dto.getStudyId());
|
||||
sci.setContentId(dto.getContentId());
|
||||
sci.setContentName(dto.getContentName());
|
||||
sci.setCourseId(dto.getCourseId());
|
||||
sci.setCsectionId(dto.getCsectionId());
|
||||
}
|
||||
//进度状态
|
||||
if(dto.getProgress()==null) {
|
||||
sci.setProgress(1);
|
||||
sci.setStatus(StudyCourseItem.STATUS_STUDYING);
|
||||
}else if(dto.getProgress().intValue()==100) {
|
||||
sci.setStatus(StudyCourseItem.STATUS_FINISH);
|
||||
sci.setProgress(100);
|
||||
}else {
|
||||
sci.setStatus(StudyCourseItem.STATUS_STUDYING);
|
||||
sci.setProgress(dto.getProgress());
|
||||
}
|
||||
//sci.setProgress(100);//直接设置为学习完成
|
||||
sci.setFinishTime(ldt);
|
||||
sci.setLastTime(ldt);
|
||||
sci.setStatus(StudyCourseItem.STATUS_FINISH);
|
||||
scItemDao.save(sci);
|
||||
scItemDao.saveOrUpdate(sci);
|
||||
|
||||
dto.setStudyItemId(sci.getId());
|
||||
//检查是否全部学习完成
|
||||
scDao.finishCheck(dto.getStudyId(),dto.getCourseId(),dto.getContentTotal());
|
||||
@@ -144,8 +156,12 @@ public class StudyServiceImpl implements IStudyService{
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void updateProcess(String studyContentId,String studyId, String courseId,int total, Integer progress) {
|
||||
scItemDao.updateMultiFieldById(studyContentId, UpdateBuilder.create("progress",progress));
|
||||
public void updateProcess(String studyContentId,String studyId, String courseId,Integer total, Integer progress) {
|
||||
int status=StudyCourseItem.STATUS_STUDYING;
|
||||
if(progress.intValue()==100) {
|
||||
status=StudyCourseItem.STATUS_FINISH;
|
||||
}
|
||||
scItemDao.updateMultiFieldById(studyContentId,UpdateBuilder.create("progress",progress),UpdateBuilder.create("status",status));
|
||||
//检查是否全部学习完成
|
||||
scDao.finishCheck(studyId,courseId,total);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user