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/stucontroller/StuSubjectController.java | 182 +++++++++++++++++++++++++++++++++++++-------- 1 files changed, 149 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/qxueyou/scc/stucontroller/StuSubjectController.java b/src/main/java/com/qxueyou/scc/stucontroller/StuSubjectController.java index 72cac28..0e8fa69 100644 --- a/src/main/java/com/qxueyou/scc/stucontroller/StuSubjectController.java +++ b/src/main/java/com/qxueyou/scc/stucontroller/StuSubjectController.java @@ -9,7 +9,11 @@ import com.querydsl.jpa.hibernate.HibernateQueryFactory; import com.qxueyou.scc.base.dao.BaseDAO; import com.qxueyou.scc.base.model.UserInfoWrapper; +import com.qxueyou.scc.teach.subject.model.Subject; +import com.qxueyou.scc.teach.subject.model.SubjectChapter; +import com.qxueyou.scc.teach.subject.model.SubjectLecture; import com.qxueyou.scc.teach.subject.model.SubjectUtils; +import com.qxueyou.scc.teach.subject.model.view.*; import com.qxueyou.scc.user.model.User; import org.hibernate.Session; import org.springframework.beans.factory.annotation.Autowired; @@ -32,9 +36,6 @@ import com.qxueyou.scc.evaluate.service.IEvaluateService; import com.qxueyou.scc.operation.topic.service.ITopicService; import com.qxueyou.scc.teach.res.service.IResAudioService; -import com.qxueyou.scc.teach.subject.model.view.LectureAudioV; -import com.qxueyou.scc.teach.subject.model.view.MyLectureV; -import com.qxueyou.scc.teach.subject.model.view.MySubjectV; import com.qxueyou.scc.teach.subject.service.ILectureService; import com.qxueyou.scc.teach.subject.service.ISubjectService; @@ -288,15 +289,23 @@ }) @GetMapping(value = "categoryTree") public Result categoryTree(String subjectId, String parentId) { -// classId = StringUtils.isEmpty(classId)?ClientUtils.getClassId():classId; - List<SubjectProgressTreeV> chapterLst = clsLectureService.getChapterTreeVList(subjectId, parentId); + Subject subject = subjectService.read(subjectId); + if (subject.getType() == 3) { + List<SubjectChapter> openChapterLst = lectureService.getListChapter(subjectId, parentId); + return new Result(true, "success", QBeanUtils.listBean2ListMap(openChapterLst, CollectionUtils + .newStringMap("name", "name", "chapterId", "id", "parentChapterId", "parentId"))); - for (SubjectProgressTreeV v : chapterLst) { - v.setNodeName(v.getNodeName() + "(" + String.format("%.2f", v.getPercent() * 100) + "%)"); //淇濈暀涓や綅灏忔暟 + } else { +// classId = StringUtils.isEmpty(classId)?ClientUtils.getClassId():classId; + List<SubjectProgressTreeV> chapterLst = clsLectureService.getChapterTreeVList(subjectId, parentId); + + for (SubjectProgressTreeV v : chapterLst) { + v.setNodeName(v.getNodeName() + "(" + String.format("%.2f", v.getPercent() * 100) + "%)"); //淇濈暀涓や綅灏忔暟 + } + return new Result(true, "success", QBeanUtils.listBean2ListMap(chapterLst, CollectionUtils + .newStringMap("nodeName", "name", "id.nodeId", "id", "parentId", "parentId", "percent", "percent"))); + } - - return new Result(true, "success", QBeanUtils.listBean2ListMap(chapterLst, CollectionUtils - .newStringMap("nodeName", "name", "id.nodeId", "id", "parentId", "parentId", "percent", "percent"))); } /** @@ -312,12 +321,22 @@ @GetMapping(value = "getCoursewareLstByClassId") public Result getCoursewareLst(String subjectId) { List<ClsSubjectLecture> lectureLst = clsLectureService.listLecture(subjectId); + if (lectureLst.size() > 0) { + // id涓哄皬鑺俰d //杩斿洖鐨勬暟鎹寜鐓ree鐨勫皬鑺傛帓搴� + return new Result(true, "success", - // id涓哄皬鑺俰d //杩斿洖鐨勬暟鎹寜鐓ree鐨勫皬鑺傛帓搴� - return new Result(true, "success", + QBeanUtils.listBean2ListMap(lectureLst, CollectionUtils.newStringMap("name", "name", "lectureId", "id", + "lectureType", "type", "chapterId", "chapterId"))); + } else { + List<SubjectLecture> lectureList = lectureService.listLectureBySubjectId(subjectId); + // id涓哄皬鑺俰d //杩斿洖鐨勬暟鎹寜鐓ree鐨勫皬鑺傛帓搴� + return new Result(true, "success", - QBeanUtils.listBean2ListMap(lectureLst, CollectionUtils.newStringMap("name", "name", "lectureId", "id", - "lectureType", "type", "chapterId", "chapterId"))); + QBeanUtils.listBean2ListMap(lectureList, CollectionUtils.newStringMap("name", "name", "lectureId", "id", + "lectureType", "type", "chapterId", "chapterId"))); + } + + } /** @@ -340,12 +359,46 @@ List<MyLectureV> lectures = clsLectureService.listLectureV(ClientUtils.getUserId(), chapterId, keyword, limit, pageNum, type); + if (lectures.size() == 0) { + List<SubjectLecture> lecturesTwo = lectureService.getSubjectLectureVByChapterId(chapterId, keyword, limit, pageNum); + List<MyOpenLectureV> lecturesThree = lectureService.getMyOpenLectureVByChapterId(ClientUtils.getUserId(), chapterId, keyword, limit, pageNum); + for (SubjectLecture subjectLecture : lecturesTwo) { + boolean isNull = true; + MyLectureV myLectureV = new MyLectureV(new MyLectureVId()); + for (MyOpenLectureV myOpenLectureV : lecturesThree) { + if (subjectLecture.getLectureId().equals(myOpenLectureV.getLectureId())) { + isNull = false; + myLectureV.setLectureName(myOpenLectureV.getLectureName()); + myLectureV.getId().setLectureId(myOpenLectureV.getLectureId()); + myLectureV.setLectureType(myOpenLectureV.getLectureType()); + myLectureV.setLectureUpdateTime(myOpenLectureV.getLectureUpdateTime()); + myLectureV.setPercent(myOpenLectureV.getPercent()); + lectures.add(myLectureV); + } + } + if (isNull) { + myLectureV.setLectureName(subjectLecture.getName()); + myLectureV.getId().setLectureId(subjectLecture.getLectureId()); + myLectureV.setLectureType(subjectLecture.getLectureType()); + myLectureV.setLectureUpdateTime(subjectLecture.getUpdateTime()); + myLectureV.setPercent(0.0); + lectures.add(myLectureV); + } + } + return new Result(true, "success", + CollectionUtils.newObjectMap("coursewareLst", + QBeanUtils.listBean2ListMap(lectures, + CollectionUtils.newStringMap("lectureName", "name", "id.lectureId", "id", "lectureType", + "type", "lectureUpdateTime", "endUpdateTime", "percent", "percent")))); - return new Result(true, "success", - CollectionUtils.newObjectMap("coursewareLst", - QBeanUtils.listBean2ListMap(lectures, - CollectionUtils.newStringMap("lectureName", "name", "id.lectureId", "id", "lectureType", - "type", "lectureUpdateTime", "endUpdateTime", "percent", "percent")))); + } else { + return new Result(true, "success", + CollectionUtils.newObjectMap("coursewareLst", + QBeanUtils.listBean2ListMap(lectures, + CollectionUtils.newStringMap("lectureName", "name", "id.lectureId", "id", "lectureType", + "type", "lectureUpdateTime", "endUpdateTime", "percent", "percent")))); + + } } @@ -414,14 +467,13 @@ List<MySubjectV> resultMs = subjectService.listMySubjectV(classId, userId); List<MySubjectV> result = new ArrayList<>(); List<Object> lecurelist = new ArrayList<>(); - int i = 0; - for(MySubjectV ms : resultMs){ + for (MySubjectV ms : resultMs) { SubjectUtils subjectUtils = new SubjectUtils(); List<MyLectureV> myLectureVList = lectureService.listLectureVBySubjectId(userId, ms.getId().getSubjectId(), "", 1000, 1, null); Double percent = 0.0; Double progressValue = 0.0; Double percentAvg = 0.0; - if(!myLectureVList.isEmpty()) { + if (!myLectureVList.isEmpty()) { for (MyLectureV myLectureV : myLectureVList) { if (myLectureV.getPercent() != null && myLectureV.getProgressValue() != null) { percent += myLectureV.getPercent(); @@ -436,7 +488,7 @@ subjectUtils.setSubjectId(myLectureVList.get(0).getSubjectId()); subjectUtils.setPercent(new BigDecimal(percentAvg)); subjectUtils.setStudyTime(new BigDecimal(progressValue)); - }else { + } else { subjectUtils.setCoursewareName(null); subjectUtils.setSubjectId(ms.getId().getSubjectId()); subjectUtils.setPercent(new BigDecimal(percentAvg)); @@ -445,12 +497,47 @@ result.add(ms); lecurelist.add(subjectUtils); } + List<OpenSubjectV> openSubjects = subjectService.listOpenSubjectV(); + for (OpenSubjectV openSubjectV : openSubjects) { + MySubjectV mySubjectV = new MySubjectV(new MySubjectVId()); + SubjectUtils subjectUtils = new SubjectUtils(); + List<SubjectLecture> subjectLectureList = lectureService.listLectureBySubjectId(openSubjectV.getSubjectId()); + List<MyOpenLectureV> myLectureVList = lectureService.listOpenLectureVBySubjectId(userId, openSubjectV.getSubjectId(), "", 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 / subjectLectureList.size(); + if (percentAvg.isNaN()) { + percentAvg = 0.0; + } + subjectUtils.setCoursewareName(myLectureVList.get(0).getLectureName()); + subjectUtils.setSubjectId(myLectureVList.get(0).getSubjectId()); + subjectUtils.setPercent(new BigDecimal(percentAvg)); + subjectUtils.setStudyTime(new BigDecimal(progressValue)); + } else { + subjectUtils.setCoursewareName(null); + subjectUtils.setSubjectId(openSubjectV.getSubjectId()); + subjectUtils.setPercent(new BigDecimal(percentAvg)); + subjectUtils.setStudyTime(new BigDecimal(progressValue)); + } + mySubjectV.setSubjectName(openSubjectV.getSubjectName()); + mySubjectV.getId().setSubjectId(openSubjectV.getSubjectId()); + result.add(mySubjectV); + lecurelist.add(subjectUtils); + } return new Result(true, "success", CollectionUtils.newObjectMap("subjectList", - QBeanUtils.listBean2ListMap(result, - CollectionUtils.newStringMap("id.subjectId", "subjectId", "id.classId", "classId", - "subjectName", "subjectName", "percent", "percent", "progressValue", - "studyTime", "coverPageUrl", "coverPageUrl")),"lecurelist",lecurelist)); + QBeanUtils.listBean2ListMap(result, + CollectionUtils.newStringMap("id.subjectId", "subjectId", "id.classId", "classId", + "subjectName", "subjectName", "percent", "percent", "progressValue", + "studyTime", "coverPageUrl", "coverPageUrl")), "lecurelist", lecurelist)); } /** @@ -465,34 +552,63 @@ @GetMapping(value = "getSubjectDetail") public Result getSubjectDetail(String subjectId) { MySubjectV subject = subjectService.getMy1stSubjectVById(subjectId); - + Subject subject1 = subjectService.read(subjectId); List<Map<String, Object>> progressLst = subjectService.listChapterStudyProgress(subjectId); List<MyLectureV> myLectureVList = lectureService.listLectureVBySubjectId(ClientUtils.getUserId(), subjectId, "", 1000, 1, null); Double percent = 0.0; Double progressValue = 0.0; String coursewareName = null; - if(!myLectureVList.isEmpty()) { - for (MyLectureV myLectureV : myLectureVList) { + List<MyOpenLectureV> myOpenLectureVList = lectureService.listOpenLectureVBySubjectId(ClientUtils.getUserId(), subjectId, "", 100, 1, null); + List<SubjectLecture> subjectLectureList = lectureService.listLectureBySubjectId(subjectId); + if (myLectureVList.size() > 0) { + for (MyLectureV myLectureV : myLectureVList) { if (myLectureV.getPercent() != null && myLectureV.getProgressValue() != null) { percent += myLectureV.getPercent(); progressValue += myLectureV.getProgressValue().intValue(); } - } + } Double percentAvg = percent / myLectureVList.size(); if (percentAvg.isNaN()) { percentAvg = 0.0; - } + } subject.setPercent(percentAvg); subject.setProgressValue(new BigDecimal(progressValue)); progressLst.get(0).put("percent", subject.getPercent()); progressLst.get(0).put("studyTime", subject.getProgressValue()); coursewareName = myLectureVList.get(0).getLectureName(); + } else if (subjectLectureList.size() > 0) { + if (myOpenLectureVList.size() > 0) { + for (MyOpenLectureV myLectureV : myOpenLectureVList) { + if (myLectureV.getPercent() != null && myLectureV.getProgressValue() != null) { + percent += myLectureV.getPercent(); + progressValue += myLectureV.getProgressValue().intValue(); + } + } + coursewareName = myOpenLectureVList.get(0).getLectureName(); + } + if (subject == null) { + subject = new MySubjectV(new MySubjectVId()); + } + Double percentAvg = percent / subjectLectureList.size(); + if (percentAvg.isNaN()) { + percentAvg = 0.0; + } + subject.setPercent(percentAvg); + subject.setProgressValue(new BigDecimal(progressValue)); + subject.setSubjectName(subject1.getName()); + subject.getId().setSubjectId(subjectLectureList.get(0).getSubjectId()); + Map<String, Object> map = new HashMap<>(); + map.put("percent", subject.getPercent()); + map.put("studyTime", subject.getProgressValue()); + map.put("chapterId", subjectLectureList.get(0).getSubjectId()); + map.put("chapterName", subject1.getName()); + progressLst.add(map); } return new Result(true, "success", CollectionUtils.newObjectMap("subject", QBeanUtils.bean2Map(subject, CollectionUtils.newStringMap("subjectName", "subjectName", "id.subjectId", "subjectId", "progressValue", "studyTime", "percent", "percent", "coverPageUrl", "coverPageUrl")), - "chapterLst", progressLst,"coursewareName",coursewareName)); + "chapterLst", progressLst, "coursewareName", coursewareName)); } } -- Gitblit v1.8.0