| | |
| | | } |
| | | |
| | | /** |
| | | * 根据targetId和learnerId获取进度 |
| | | * 根据targetId和learnerId获取进度 |
| | | * |
| | | * @param targetId |
| | | * targetId |
| | | * @param learnerId |
| | | * 学习者id |
| | | * 学习者id |
| | | * @return |
| | | */ |
| | | @Cacheable(value = "progress", key = "#targetId+#learnerId") |
| | | public Double[][] getProgress(String targetId, String learnerId) { |
| | | public int[][] getProgress(String targetId, String learnerId) { |
| | | List<SubjectLectureProgressDetail> lstDetail = this.find("from SubjectLectureProgressDetail where targetId = ? and learnerId = ? and deleteFlag is false", CollectionUtils.newList(targetId, learnerId), SubjectLectureProgressDetail.class); |
| | | if(lstDetail == null || lstDetail.isEmpty()) { |
| | | return new Double[][] {}; |
| | | return new int[][] {}; |
| | | }else { |
| | | Double[][] progress = new Double[lstDetail.size()][2]; |
| | | int[][] progress = new int[lstDetail.size()][2]; |
| | | int i = 0; |
| | | for(SubjectLectureProgressDetail objDetail : lstDetail) { |
| | | progress[i++] = new Double[] {objDetail.getStart(), objDetail.getEnd()}; |
| | | progress[i++] = new int[] {objDetail.getStart(), objDetail.getEnd()}; |
| | | } |
| | | |
| | | return progress; |
| | |
| | | } |
| | | |
| | | @CachePut(value = "progress", key = "#targetId+#learnerId") |
| | | public Double[][] mergeProgress(String targetId, String learnerId, Double start, Double end, Double[][] origProgress) { |
| | | public int[][] mergeProgress(String targetId, String learnerId, int start, int end, int[][] origProgress) { |
| | | return StudyProgressUtils.merge(origProgress, start, end); |
| | | } |
| | | |
| | | /** |
| | | * 获取学生的各个节点的学习进度,进度值 |
| | | * 获取学生的各个节点的学习进度,进度值 |
| | | * |
| | | * @param parentId |
| | | * @param userId |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取当前节点下的父节点 |
| | | * 获取当前节点下的父节点 |
| | | * |
| | | * @param nodeId |
| | | * @return |
| | |
| | | } |
| | | |
| | | /** |
| | | * 根据subjectId获取章节列表 |
| | | * 根据subjectId获取章节列表 |
| | | * |
| | | * @param parentId |
| | | * @param userId |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取progress 对象 |
| | | * 获取progress 对象 |
| | | */ |
| | | public Progress getProgressObject(String targetId, String userId) { |
| | | return findUniqueByHql( |
| | |
| | | } |
| | | |
| | | /** |
| | | * 记录用户每个课程学习的位置 |
| | | * 记录用户每个课程学习的位置 |
| | | */ |
| | | @CachePut(value = "lastStudied", key = "#userId + #subjectId + #classId") |
| | | public Map<String, Object> putStudyById(String userId, String subjectId, String lectureId, String lectureParentId, |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取用户每个课程上次学习的数据 |
| | | * 获取用户每个课程上次学习的数据 |
| | | */ |
| | | @Cacheable(value = "lastStudied", key = "#userId + #subjectId +#classId") |
| | | public Map<String, Object> getStudyById(String userId, String subjectId, String classId) { |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获取用户上次学习的数据 |
| | | * 获取用户上次学习的数据 |
| | | */ |
| | | @Cacheable(value = "lastStudied", key = "#userId") |
| | | public Map<String, Object> getStudyByUserId(String userId) { |