diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java index 0245480f..e9d03030 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/api/StudyCourseApi.java @@ -264,27 +264,27 @@ public class StudyCourseApi extends ApiBaseController{ Map contentMap = cclist.stream().collect(Collectors.toMap(CourseContent::getId, Function.identity())); for (StudyCourseItem item : items) { CourseContent content = contentMap.get(item.getContentId()); - if(item.getContentId().equals(content.getId())){ - // 计算学习进度item.getLastStudyTime() /content.getDuration() - if(null==item.getLastStudyTime() - || item.getLastStudyTime()<=0 - || null==content.getDuration() - || content.getDuration()<=0){ - continue; - } - - BigDecimal lastStudyTime = new BigDecimal(item.getLastStudyTime()); - BigDecimal duration = new BigDecimal(content.getDuration()); - BigDecimal progress = lastStudyTime.divide(duration, 10, RoundingMode.HALF_UP); - // 如果progress<0则为0,如果progress>1则为1 - if(progress.compareTo(BigDecimal.ZERO) < 0){ - progress = BigDecimal.ZERO; - }else if(progress.compareTo(BigDecimal.ONE) > 0){ - progress = BigDecimal.ONE; - } - - item.setProgressVideo(progress); + if(null == content){ + continue; } + + if(null==item.getLastStudyTime() + || item.getLastStudyTime()<=0 + || null==content.getDuration() + || content.getDuration()<=0){ + continue; + } + + BigDecimal lastStudyTime = new BigDecimal(item.getLastStudyTime()); + BigDecimal duration = new BigDecimal(content.getDuration()); + BigDecimal progress = lastStudyTime.divide(duration, 10, RoundingMode.HALF_UP); + if(progress.compareTo(BigDecimal.ZERO) < 0){ + progress = BigDecimal.ZERO; + }else if(progress.compareTo(BigDecimal.ONE) > 0){ + progress = BigDecimal.ONE; + } + + item.setProgressVideo(progress); } }