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