From 888af852af74ecd24f4f4370b61427771e60d314 Mon Sep 17 00:00:00 2001 From: Administrator <2863138610@qq.com> Date: 星期一, 12 十二月 2022 11:18:56 +0800 Subject: [PATCH] 华为云obs上传访问 --- src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java | 72 ++++++++++++++++++++++++++++++++++++ 1 files changed, 72 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java b/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java index 66d943d..9d9036f 100644 --- a/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java +++ b/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java @@ -419,6 +419,19 @@ } @Override + public List<OpenSubjectV> listOpenSubjectV() { + StringBuffer hql = new StringBuffer("from OpenSubjectV p where 1 = ?"); + int param = 1; + List<Object> args = CollectionUtils.newList(param); + + + List<OpenSubjectV> result = find(hql.toString(), args, OpenSubjectV.class); + + return result; + } + + + @Override public List<Map<String, Object>> listChapterStudyProgress(String subjectId) { QSubjectProgressTreeV qSubjectProgressTreeV = QSubjectProgressTreeV.subjectProgressTreeV; @@ -607,6 +620,48 @@ subject.put("toBeCommitExamCount", examService.getToBeCommitExamCount(classId, userId)); } + List<OpenSubjectV> subjects = listOpenSubjectV(); + for(OpenSubjectV subject : subjects){ + Map<String, Object> subjectMap = new HashMap<>(); + String classId = ClientUtils.getClassId(); + String subjectId = subject.getSubjectId(); + Map<String, Object> map = progressDao.getStudyById(userId, subjectId, null); + List<MyOpenLectureV> myLectureVList = lectureService.listOpenLectureVBySubjectId(userId, subjectId, "", 1000, 1, null); + Double percent = 0.0; + Double progressValue = 0.0; + Double percentAvg = 0.0; + if (!myLectureVList.isEmpty()) { + for (MyOpenLectureV myOpenLectureV : myLectureVList) { + if (myOpenLectureV.getPercent() != null && myOpenLectureV.getProgressValue() != null) { + percent += myOpenLectureV.getPercent(); + progressValue += myOpenLectureV.getProgressValue().intValue(); + } + } + percentAvg = percent / myLectureVList.size(); + if (percentAvg.isNaN()) { + percentAvg = 0.0; + } + } + String className = "鍏紑璇�"; + subjectMap.put("subjectName",subject.getSubjectName()); + subjectMap.put("subjectId",subject.getSubjectId()); + + subjectMap.put("percent", new BigDecimal(percentAvg)); + subjectMap.put("progressValue", new BigDecimal(progressValue)); + subjectMap.put("className",className); + subjectMap.put("lectureParentId", map.get("lectureParentId")); + subjectMap.put("lectureId", map.get("lectureId")); + subjectMap.put("unCommitExerciseCount", exerciseInfoService.getUnCommitExerciseCount(classId, userId)); + subjectMap.put("toBeCommitExerciseCount", exerciseInfoService.getToBeCommitExerciseCount(classId, userId)); + subjectMap.put("CommitExerciseCount", exerciseInfoService.getCommitExerciseCount(classId, userId)); + subjectMap.put("exerciseCount", exerciseInfoService.getExerciseCount(classId, userId)); + subjectMap.put("examCount", examService.getExamCount(classId, userId)); + subjectMap.put("unCommitExamCount", examService.getUnCommitExamCount(classId, userId)); + subjectMap.put("commitExamCount", examService.getCommitExamCount(classId, userId)); + subjectMap.put("toBeCommitExamCount", examService.getToBeCommitExamCount(classId, userId)); + + subjectLstMap.add(subjectMap); + } return new Result(true, "success", subjectLstMap); } @@ -646,6 +701,8 @@ .and(qSubjectProgressTreeV.id.nodeId.eq(nodeId))).orderBy(order).fetch().stream().map(tuple -> { List<ClsClassReSubject> clsClassReSubjects = find("from ClsClassReSubject where classId = ?",CollectionUtils.newList(nodeId),ClsClassReSubject.class); + int type = 3; + List<Subject> subjects = find("from Subject where type = ?",CollectionUtils.newList(type),Subject.class); Double percent = 0.0; Double progressValue = 0.0; Double percentAvg = 0.0; @@ -665,6 +722,21 @@ } } } + for(Subject subject : subjects){ + List<MyOpenLectureV> myOpenLectureVList = lectureService.listOpenLectureVBySubjectId(tuple.get(qUser.userId), subject.getSubjectId(), "", 1000, 1, null); + if(!myOpenLectureVList.isEmpty()){ + for(MyOpenLectureV myOpenLecture : myOpenLectureVList){ + if (myOpenLecture.getPercent() != null && myOpenLecture.getProgressValue() != null) { + percent += myOpenLecture.getPercent(); + progressValue += myOpenLecture.getProgressValue().intValue(); + } + } + size += myOpenLectureVList.size(); + if (percentAvg.isNaN()) { + percentAvg += 0.0; + } + } + } percentAvg += percent / size; if(percentAvg.isNaN()){ percentAvg = 0.0; -- Gitblit v1.8.0