| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | |
| | | }) |
| | | @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"))); |
| | | } |
| | | |
| | | /** |
| | |
| | | @GetMapping(value = "getCoursewareLstByClassId") |
| | | public Result getCoursewareLst(String subjectId) { |
| | | List<ClsSubjectLecture> lectureLst = clsLectureService.listLecture(subjectId); |
| | | if (lectureLst.size() > 0) { |
| | | // id为小节id //返回的数据按照tree的小节排序 |
| | | return new Result(true, "success", |
| | | |
| | | // id为小节id //返回的数据按照tree的小节排序 |
| | | 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为小节id //返回的数据按照tree的小节排序 |
| | | 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"))); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | 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")))); |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | 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(); |
| | |
| | | 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)); |
| | |
| | | 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.setCoverPageUrl(openSubjectV.getCoverPageUrl()); |
| | | mySubjectV.getId().setSubjectId(openSubjectV.getSubjectId()); |
| | | result.add(mySubjectV); |
| | | lecurelist.add(subjectUtils); |
| | | } |
| | | for (MySubjectV mySubjectV: |
| | | result) { |
| | | System.out.println(mySubjectV); |
| | | } |
| | | 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)); |
| | | } |
| | | |
| | | /** |
| | |
| | | @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.setCoverPageUrl(subject1.getCoverPageUrl()); |
| | | 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.setCoverPageUrl(subject1.getCoverPageUrl()); |
| | | 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)); |
| | | } |
| | | |
| | | } |