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/controller/CoursewareController.java | 4
src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java | 17
src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureCommonProgressService.java | 5
src/main/java/com/qxueyou/scc/teach/subject/model/view/MyOpenLectureV.java | 154 ++++++
src/main/java/com/qxueyou/scc/teach/subject/service/ILectureService.java | 156 ++---
src/main/java/com/qxueyou/scc/admin/classes/service/IClassLectureService.java | 82 +-
src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/LectureProgressService.java | 9
src/main/java/com/qxueyou/scc/teach/subject/service/ISubjectService.java | 6
src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectLectureService.java | 731 +++++++++++++++++-------------
src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java | 72 +++
src/main/java/com/qxueyou/scc/controller/HweiYunOBSController.java | 6
src/main/java/com/qxueyou/scc/stucontroller/StuSubjectController.java | 182 ++++++-
12 files changed, 925 insertions(+), 499 deletions(-)
diff --git a/src/main/java/com/qxueyou/scc/admin/classes/service/IClassLectureService.java b/src/main/java/com/qxueyou/scc/admin/classes/service/IClassLectureService.java
index f2162a9..bdc418f 100644
--- a/src/main/java/com/qxueyou/scc/admin/classes/service/IClassLectureService.java
+++ b/src/main/java/com/qxueyou/scc/admin/classes/service/IClassLectureService.java
@@ -8,13 +8,14 @@
import com.qxueyou.scc.admin.progress.model.view.SubjectProgressTreeV;
import com.qxueyou.scc.base.model.Pager;
import com.qxueyou.scc.base.model.Result;
+import com.qxueyou.scc.teach.subject.model.SubjectLecture;
import com.qxueyou.scc.teach.subject.model.view.MyLectureV;
public interface IClassLectureService {
/**
* 鏂板绔犺妭鏂囦欢澶�
- *
+ *
* @param parentChapterId
* 鐖剁骇绔犺妭鏂囦欢澶筰d
* @param name
@@ -25,7 +26,7 @@
/**
* 杩斿洖涓嬬骇绔犺妭鏂囦欢澶瑰垪琛�,濡傛灉
- *
+ *
* @param classId
* 鐝骇id
* @param parentChapterId
@@ -36,7 +37,7 @@
/**
* 璇句欢鍒楄〃鎼滅储
- *
+ *
* @param chapterId
* 绔犺妭id
* @param keyword
@@ -54,7 +55,7 @@
/**
* 淇敼绔犺妭鏂囦欢澶�
- *
+ *
* @param chapterId
* 鏂囦欢澶筰d
* @param name
@@ -65,7 +66,7 @@
/**
* 鍒犻櫎绔犺妭鏂囦欢澶�
- *
+ *
* @param chapterIds
* 绔犺妭鏂囦欢澶筰d鏁扮粍
* @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
@@ -74,7 +75,7 @@
/**
* 鏂板璇句欢
- *
+ *
* @param chapterId
* 绔犺妭id
* @param resId
@@ -85,7 +86,7 @@
/**
* 淇敼璇句欢
- *
+ *
* @param lectureId
* 璇句欢id
* @param resId
@@ -96,7 +97,7 @@
/**
* 鍒犻櫎璇句欢
- *
+ *
* @param lectureIds
* 璇句欢id鏁扮粍
* @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
@@ -105,7 +106,7 @@
/**
* 璇句欢瀛︿範杩涘害鎻愪氦
- *
+ *
* @param clsLectureId
* @param from
* @param to
@@ -115,7 +116,7 @@
/**
* 澶嶅埗璇句欢
- *
+ *
* @param lectureId
* 璇句欢id
* @param destChapterId
@@ -128,7 +129,7 @@
/**
* 绉诲姩璇句欢
- *
+ *
* @param lectureId
* 璇句欢id
* @param destChapterId
@@ -141,7 +142,7 @@
/**
* 璇句欢鍒楄〃鎼滅储
- *
+ *
* @param chapterId
* 绔犺妭id
* @param keyword
@@ -159,7 +160,7 @@
/**
* 璇句欢鍒楄〃
- *
+ *
* @param classId
* 绔犺妭id
* @return
@@ -168,7 +169,7 @@
/**
* 璇诲彇璇句欢鐪熷疄鏂囦欢璁块棶璺緞
- *
+ *
* @param lectureId
* 璇句欢id鏁扮粍
* @param attribute
@@ -184,7 +185,7 @@
/**
* 璇诲彇璇句欢鐩綍
- *
+ *
* @param chapterId
* @return
*/
@@ -192,7 +193,7 @@
/**
* 璇句欢鍒楄〃澶у皬
- *
+ *
* @param chapterId
* 绔犺妭id
* @param keyword
@@ -205,7 +206,7 @@
/**
* 杩斿洖涓嬬骇绔犺妭鏂囦欢澶瑰垪琛�
- *
+ *
* @param classId
* 鐝骇id
* @param classId
@@ -218,7 +219,7 @@
/**
* 杩斿洖涓嬬骇绔犺妭鏂囦欢澶瑰垪琛�,濡傛灉
- *
+ *
* @param classId
* 鐝骇id
* @param subjectId
@@ -231,7 +232,7 @@
/**
* 鎶婅绋嬩笂鐨勮浠舵嫹璐濆埌鐝骇璇剧▼
- *
+ *
* @param subjectId
* 璇剧▼id
* @param classId
@@ -239,8 +240,8 @@
* @return
*/
Result doCopyLecturesToClass(String origSubjectId, String subjectId, String classId);
-
-
+
+
/**
* 娓呯悊鎵�鏈夌殑鐝骇璇句欢
* @param subjectId
@@ -248,72 +249,72 @@
* @return
*/
Result doClearLecturesToClass(String subjectId, String classId);
-
+
/**
* 鏍规嵁璇剧▼鏌ヨ璇句欢
- *
+ *
* @param subjectId
* @param type
* @param classId
* @return
*/
List<Map<String, Object>> listLectureBySubject(String subjectId, String type, String classId);
-
+
/**
* 鏌ヨ鐝骇鍐呯殑璇句欢鍜岃绋�
- *
+ *
* @param classId
* @return
*/
Result listSubjectLecture(String classId, String sort, Pager pager);
-
+
/**
* 鑾峰彇璇剧▼涓嬬殑璇句欢
- *
+ *
* @param subjectId
* @param type
* @return
*/
public Map<String,Object> listLectureBySubjectOrderCreateTime(String subjectId, String classId, String sort, Pager pager);
-
+
/**
* 瀛﹀憳绔幏鍙栬绋嬩笅璇句欢
- *
+ *
* @param subjectId
* @param type
* @return
*/
public List<Map<String, Object>> listStuLectureBySubject(String subjectId, String classId);
-
+
/**
* 瀛﹀憳绔幏鍙栬绋嬩笅璇句欢鏁伴噺
- *
+ *
* @param subjectId
* @param type
* @return
*/
public long stuLectureCountBySubject(String subjectId, String classId);
-
+
/**
* 鑾峰彇绔犺妭涓嬬殑璇句欢
- *
+ *
* @param chapterLst
* @param lectures
* @return
*/
public List<ClsSubjectChapter> getChapterLectures(List<ClsSubjectChapter> chapterLst, List<Map<String, Object>> lectures);
-
+
/**
* 鑾峰彇鏂囨。椤电爜
- *
+ *
* @param resItemId
* @return
*/
public int readDocPageCount(String resItemId);
-
+
/**
* 鍏紑璇捐浠�
- *
+ *
* @param subjectId
* @param classId
* @param sort
@@ -321,14 +322,17 @@
* @return
*/
public Map<String,Object> listOpenLectureBySubjectOrderCreateTime(String subjectId, String sort, Pager pager);
-
+
/**
* 璇句欢鎸夌洰褰曞垎绫�
- *
+ *
* @param classId
* @param subjectId
* @param type
* @return
*/
public Result coursewareChapterList(String classId,String subjectId, String type);
+
+ List<Map<String, Object>> listStuLectureByOpenSubject(String subjectId);
+
}
diff --git a/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java b/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java
index 18a3e55..6e4fb50 100644
--- a/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java
+++ b/src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java
@@ -273,13 +273,20 @@
public Result updateLecturetime(String targetId) {
ClsSubjectLecture lecture = read(ClsSubjectLecture.class, targetId);
+ if(lecture == null){
+ SubjectLecture lecture1 = read(SubjectLecture.class,targetId);
+ TraceUtils.setUpdateTrace(lecture1);
+ lecture1.setUpdateTime(new Date());
+ lecture1.setUpdator(ClientUtils.getUserId());
+ save(lecture1);
+ }else {
+ TraceUtils.setUpdateTrace(lecture);
- TraceUtils.setUpdateTrace(lecture);
-
- lecture.setUpdateTime(new Date());
- lecture.setUpdator(ClientUtils.getUserId());
- save(lecture);
+ lecture.setUpdateTime(new Date());
+ lecture.setUpdator(ClientUtils.getUserId());
+ save(lecture);
+ }
return new Result(true, "success");
}
diff --git a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/LectureProgressService.java b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/LectureProgressService.java
index 5cd277a..e7d57a0 100644
--- a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/LectureProgressService.java
+++ b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/LectureProgressService.java
@@ -5,6 +5,7 @@
import javax.annotation.PostConstruct;
+import com.qxueyou.scc.teach.subject.service.ILectureService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
@@ -21,7 +22,10 @@
public class LectureProgressService extends CommonAppService implements IDetailProgressService {
@Autowired
- IClassLectureService lectureService;
+ IClassLectureService clsLectureService;
+
+ @Autowired
+ ILectureService lectureService;
/**
* 鍚勭被鍨嬭浠惰繘搴︽湇鍔″疄鐜�
@@ -45,8 +49,7 @@
@Override
public Result addProgress(String targetId,String learnerId, int start, int end) {
- ClsSubjectLecture lecture = lectureService.readClsLecture(targetId);
-
+ ClsSubjectLecture lecture = clsLectureService.readClsLecture(targetId);
String lectureType = null;
if(lecture == null) {
lectureType = this.read(SubjectLecture.class, targetId).getLectureType();
diff --git a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureCommonProgressService.java b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureCommonProgressService.java
index 81d8722..cb46020 100644
--- a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureCommonProgressService.java
+++ b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureCommonProgressService.java
@@ -5,6 +5,8 @@
import com.qxueyou.scc.admin.classes.model.ClsSubjectLecture;
import com.qxueyou.scc.admin.classes.service.impl.ClassLectureService;
+import com.qxueyou.scc.teach.subject.service.ILectureService;
+import com.qxueyou.scc.teach.subject.service.impl.SubjectLectureService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -34,6 +36,9 @@
@Autowired
ClassLectureService classLectureService;
+ @Autowired
+ SubjectLectureService subjectLectureService;
+
@Override
public Result addProgress(String targetId, String learnerId, int start, int end) {
diff --git a/src/main/java/com/qxueyou/scc/controller/CoursewareController.java b/src/main/java/com/qxueyou/scc/controller/CoursewareController.java
index 2474063..640040c 100644
--- a/src/main/java/com/qxueyou/scc/controller/CoursewareController.java
+++ b/src/main/java/com/qxueyou/scc/controller/CoursewareController.java
@@ -136,7 +136,7 @@
public Result deleteCourseware(String id) {
Result result = lectureService.deleteLecture(id.split(","));
- lectureService.deleteLectureLoad(id.split(","));
+// lectureService.deleteLectureLoad(id.split(","));
return result;
}
@@ -323,8 +323,6 @@
result = lectureService.addLecture(sectionId, resId_);
successCount = result.isSuccess() ? 1 : 0;
}
- lectureService.addLectureLoad(sectionId);
-
return new Result(true, null, successCount);
}
diff --git a/src/main/java/com/qxueyou/scc/controller/HweiYunOBSController.java b/src/main/java/com/qxueyou/scc/controller/HweiYunOBSController.java
index 861f990..27f0f4e 100644
--- a/src/main/java/com/qxueyou/scc/controller/HweiYunOBSController.java
+++ b/src/main/java/com/qxueyou/scc/controller/HweiYunOBSController.java
@@ -39,17 +39,17 @@
private HweiYunOBSService hweiYunOBSService;
@RequestMapping(value = "upload", method = RequestMethod.POST)
- public Result save(@RequestParam(value = "file", required = false) MultipartFile file) {
+ public List<FileMeta> save(@RequestParam(value = "file", required = false) MultipartFile file) {
if (ObjectUtils.isEmpty(file) || file.getSize() <= 0) {
- return new Result(false,"鏂囦欢涓虹┖");
+ return null;
}
// if (FileUtil.isEmpty(file)) {
// return new Result(false,"鏂囦欢涓虹┖");
// }
final List<FileMeta> test = hweiYunOBSService.fileUpload(file, file.getOriginalFilename());
// return ResponseVO.ok("鎵ц鎴愬姛",test);
- return new Result(true,"success",test);
+ return test;
}
@RequestMapping(value = "delete", method = RequestMethod.POST)
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));
}
}
diff --git a/src/main/java/com/qxueyou/scc/teach/subject/model/view/MyOpenLectureV.java b/src/main/java/com/qxueyou/scc/teach/subject/model/view/MyOpenLectureV.java
new file mode 100644
index 0000000..eaa4c12
--- /dev/null
+++ b/src/main/java/com/qxueyou/scc/teach/subject/model/view/MyOpenLectureV.java
@@ -0,0 +1,154 @@
+package com.qxueyou.scc.teach.subject.model.view;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonView;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.persistence.*;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Entity(name = "MyOpenLectureV")
+@Table(name = "my_open_lecture_v")
+public class MyOpenLectureV implements java.io.Serializable {
+ private static final long serialVersionUID = -332455459706490649L;
+
+ private String userId;
+
+ private String lectureId;
+
+ private String chapterId;
+ private String lectureType;
+ private String lectureName;
+ private String userName;
+ private String subjectName;
+ private Date lectureUpdateTime;
+ private BigDecimal progressValue;
+ private Double percent;
+ private String subjectId;
+ private Date lectureCreateTime;
+
+ @Id
+ @Column(name = "USER_ID")
+ public String getUserId() {
+ return userId;
+ }
+
+ public void setUserId(String userId) {
+ this.userId = userId;
+ }
+
+ @Id
+ @Column(name = "LECTURE_ID")
+ public String getLectureId() {
+ return lectureId;
+ }
+
+ public void setLectureId(String lectureId) {
+ this.lectureId = lectureId;
+ }
+
+ public MyOpenLectureV() {
+ }
+
+
+ @Column(name = "SUBJECT_NAME")
+ public String getSubjectName() {
+ return subjectName;
+ }
+
+ public void setSubjectName(String subjectName) {
+ this.subjectName = subjectName;
+ }
+
+ @Column(name = "PROGRESS_VALUE")
+ public BigDecimal getProgressValue() {
+ return this.progressValue;
+ }
+
+ public void setProgressValue(BigDecimal progressValue) {
+ this.progressValue = progressValue;
+ }
+
+ @Column(name = "CHAPTER_ID")
+ public String getChapterId() {
+ return chapterId;
+ }
+
+ public void setChapterId(String chapterId) {
+ this.chapterId = chapterId;
+ }
+
+ @Column(name = "LECTURE_TYPE")
+ public String getLectureType() {
+ return lectureType;
+ }
+
+ public void setLectureType(String lectureType) {
+ this.lectureType = lectureType;
+ }
+
+ @Column(name = "LECTURE_NAME")
+ public String getLectureName() {
+ return lectureName;
+ }
+
+ public void setLectureName(String lectureName) {
+ this.lectureName = lectureName;
+ }
+
+ @Column(name = "USER_NAME")
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ @Column(name = "PERCENT")
+ public Double getPercent() {
+ return percent;
+ }
+
+ public void setPercent(Double percent) {
+ this.percent = percent;
+ }
+
+ @Column(name = "LECTURE_UPDATE_TIME")
+ @Temporal(TemporalType.TIMESTAMP)
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonIgnore
+ public Date getLectureUpdateTime() {
+ return lectureUpdateTime;
+ }
+
+ public void setLectureUpdateTime(Date lectureUpdateTime) {
+ this.lectureUpdateTime = lectureUpdateTime;
+ }
+
+ @Id
+ @Column(name = "SUBJECT_ID")
+ public String getSubjectId() {
+ return subjectId;
+ }
+
+ public void setSubjectId(String subjectId) {
+ this.subjectId = subjectId;
+ }
+
+
+ @Column(name = "LECTURE_CREATE_TIME")
+ public Date getLectureCreateTime() {
+ return lectureCreateTime;
+ }
+
+ public void setLectureCreateTime(Date lectureCreateTime) {
+ this.lectureCreateTime = lectureCreateTime;
+ }
+
+
+
+
+}
diff --git a/src/main/java/com/qxueyou/scc/teach/subject/service/ILectureService.java b/src/main/java/com/qxueyou/scc/teach/subject/service/ILectureService.java
index 9b82060..cded89f 100644
--- a/src/main/java/com/qxueyou/scc/teach/subject/service/ILectureService.java
+++ b/src/main/java/com/qxueyou/scc/teach/subject/service/ILectureService.java
@@ -6,22 +6,16 @@
import com.qxueyou.scc.base.model.Result;
import com.qxueyou.scc.teach.subject.model.SubjectChapter;
import com.qxueyou.scc.teach.subject.model.SubjectLecture;
-import com.qxueyou.scc.teach.subject.model.view.LectureAudioV;
-import com.qxueyou.scc.teach.subject.model.view.LectureDocV;
-import com.qxueyou.scc.teach.subject.model.view.LectureVideoV;
-import com.qxueyou.scc.teach.subject.model.view.MyLectureV;
+import com.qxueyou.scc.teach.subject.model.view.*;
public interface ILectureService {
/**
* 鏂板绔犺妭鏂囦欢澶�
*
- * @param subjectId
- * 璇剧▼id
- * @param parentChapterId
- * 鐖剁骇绔犺妭鏂囦欢澶筰d
- * @param name
- * 鏂囦欢澶瑰悕绉�
+ * @param subjectId 璇剧▼id
+ * @param parentChapterId 鐖剁骇绔犺妭鏂囦欢澶筰d
+ * @param name 鏂囦欢澶瑰悕绉�
* @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{"chapterId","90023afwe32300fee23"}},鑻ユ垚鍔燂紝鍒欒繑鍥濩hapterId
*/
Result addChapter(String subjectId, String parentChapterId, String name);
@@ -37,10 +31,8 @@
/**
* 淇敼绔犺妭鏂囦欢澶�
*
- * @param chapterId
- * 鏂囦欢澶筰d
- * @param name
- * 鍚嶇О
+ * @param chapterId 鏂囦欢澶筰d
+ * @param name 鍚嶇О
* @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
*/
Result updateChapter(String chapterId, String name);
@@ -48,8 +40,7 @@
/**
* 鍒犻櫎绔犺妭鏂囦欢澶�
*
- * @param chapterIds
- * 绔犺妭鏂囦欢澶筰d鏁扮粍
+ * @param chapterIds 绔犺妭鏂囦欢澶筰d鏁扮粍
* @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
*/
Result deleteChapter(String[] chapterIds);
@@ -57,10 +48,8 @@
/**
* 杩斿洖涓嬬骇绔犺妭鏂囦欢澶瑰垪琛�,濡傛灉
*
- * @param subjectId
- * 璇剧▼id
- * @param parentChapterId
- * 鐖剁骇绔犺妭鏂囦欢澶筰d
+ * @param subjectId 璇剧▼id
+ * @param parentChapterId 鐖剁骇绔犺妭鏂囦欢澶筰d
* @return 杩斿洖绔犺妭鍒楄〃
*/
List<SubjectChapter> doGetListChapter(String subjectId, String parentChapterId);
@@ -68,10 +57,8 @@
/**
* 杩斿洖涓嬬骇绔犺妭鏂囦欢澶瑰垪琛�,濡傛灉
*
- * @param subjectId
- * 璇剧▼id
- * @param parentChapterId
- * 鐖剁骇绔犺妭鏂囦欢澶筰d
+ * @param subjectId 璇剧▼id
+ * @param parentChapterId 鐖剁骇绔犺妭鏂囦欢澶筰d
* @return 杩斿洖绔犺妭鍒楄〃
*/
List<SubjectProgressTreeV> getChapterTreeVList(String subjectId, String parentChapterId);
@@ -79,10 +66,8 @@
/**
* 杩斿洖涓嬬骇绔犺妭鏂囦欢澶瑰垪琛�
*
- * @param subjectId
- * 璇剧▼id
- * @param parentChapterId
- * 鐖剁骇绔犺妭鏂囦欢澶筰d
+ * @param subjectId 璇剧▼id
+ * @param parentChapterId 鐖剁骇绔犺妭鏂囦欢澶筰d
* @return 杩斿洖绔犺妭鍒楄〃
*/
List<SubjectChapter> getListChapter(String subjectId, String parentChapterId);
@@ -90,8 +75,7 @@
/**
* 杩斿洖鎵�鏈夌珷鑺傚垪琛紝鎸塩reateTime鎺掑簭
*
- * @param subjectId
- * 璇剧▼id
+ * @param subjectId 璇剧▼id
* @return 杩斿洖绔犺妭鍒楄〃
*/
List<SubjectChapter> getAllChapterBySubjectId(String subjectId);
@@ -99,24 +83,22 @@
/**
* 鏂板璇句欢
*
- * @param chapterId
- * 绔犺妭id
- * @param resId
- * 璧勬簮id
+ * @param chapterId 绔犺妭id
+ * @param resId 璧勬簮id
* @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{"chapterId","90023afwe32300fee23"}},鑻ユ垚鍔燂紝鍒欒繑鍥瀋hapterId
*/
Result addLecture(String chapterId, String resId);
- /**
- * 鏂板鍚庡埛鏂拌浠�
- */
- Result addLectureLoad(String sectionId);
+// /**
+// * 鏂板鍚庡埛鏂拌浠�
+// */
+// Result addLectureLoad(String sectionId);
+
/**
* 璇诲彇璇句欢
*
- * @param lectureId
- * 璇句欢id
+ * @param lectureId 璇句欢id
* @return SubjectLecture
*/
SubjectLecture readLecture(String lectureId);
@@ -124,8 +106,7 @@
/**
* 璇诲彇瑙嗛璇句欢
*
- * @param lectureId
- * 璇句欢id
+ * @param lectureId 璇句欢id
* @return SubjectLecture
*/
LectureVideoV readVideoLecture(String lectureId);
@@ -133,8 +114,7 @@
/**
* 璇诲彇闊抽璇句欢
*
- * @param lectureId
- * 璇句欢id
+ * @param lectureId 璇句欢id
* @return LectureAudioV
*/
LectureAudioV readAudioLecture(String lectureId);
@@ -142,10 +122,8 @@
/**
* 淇敼璇句欢
*
- * @param lectureId
- * 璇句欢id
- * @param resId
- * 璧勬簮id
+ * @param lectureId 璇句欢id
+ * @param resId 璧勬簮id
* @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
*/
Result updateLecture(String lectureId, String resId);
@@ -153,23 +131,19 @@
/**
* 鍒犻櫎璇句欢
*
- * @param lectureIds
- * 璇句欢id鏁扮粍
+ * @param lectureIds 璇句欢id鏁扮粍
* @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
*/
Result deleteLecture(String[] lectureIds);
- Result deleteLectureLoad(String[] lectureIds);
+// Result deleteLectureLoad(String[] lectureIds);
/**
* 澶嶅埗璇句欢
*
- * @param lectureId
- * 璇句欢id
- * @param destChapterId
- * 鐩爣绔犺妭id
- * @param name
- * 璇句欢鍚嶇О
+ * @param lectureId 璇句欢id
+ * @param destChapterId 鐩爣绔犺妭id
+ * @param name 璇句欢鍚嶇О
* @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
*/
Result doCopyLecture(String lectureId, String destChapterId, String name);
@@ -177,12 +151,9 @@
/**
* 绉诲姩璇句欢
*
- * @param lectureId
- * 璇句欢id
- * @param destChapterId
- * 鐩爣绔犺妭id
- * @param name
- * 璇句欢鍚嶇О
+ * @param lectureId 璇句欢id
+ * @param destChapterId 鐩爣绔犺妭id
+ * @param name 璇句欢鍚嶇О
* @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{}}
*/
Result doMoveLecture(String lectureId, String destChapterId, String name);
@@ -190,16 +161,11 @@
/**
* 璇句欢鍒楄〃鎼滅储
*
- * @param chapterId
- * 绔犺妭id
- * @param keyword
- * 鍏抽敭瀛�
- * @param pageSize
- * 椤电爜
- * @param pageNum
- * 姣忛〉鏄剧ず鏁版嵁鏉℃暟
- * @param type
- * 绫诲瀷
+ * @param chapterId 绔犺妭id
+ * @param keyword 鍏抽敭瀛�
+ * @param pageSize 椤电爜
+ * @param pageNum 姣忛〉鏄剧ず鏁版嵁鏉℃暟
+ * @param type 绫诲瀷
* @return
*/
List<SubjectLecture> listLecture(String chapterId, String keyword, Integer pageSize, Integer pageNum, String type);
@@ -207,12 +173,9 @@
/**
* 璇句欢鍒楄〃澶у皬
*
- * @param chapterId
- * 绔犺妭id
- * @param keyword
- * 鍏抽敭瀛�
- * @param type
- * 绫诲瀷
+ * @param chapterId 绔犺妭id
+ * @param keyword 鍏抽敭瀛�
+ * @param type 绫诲瀷
* @return
*/
int listLectureCount(String chapterId, String keyword, String type);
@@ -220,20 +183,15 @@
/**
* 璇句欢鍒楄〃鎼滅储
*
- * @param chapterId
- * 绔犺妭id
- * @param keyword
- * 鍏抽敭瀛�
- * @param pageSize
- * 椤电爜
- * @param pageNum
- * 姣忛〉鏄剧ず鏁版嵁鏉℃暟
- * @param type
- * 绫诲瀷
+ * @param chapterId 绔犺妭id
+ * @param keyword 鍏抽敭瀛�
+ * @param pageSize 椤电爜
+ * @param pageNum 姣忛〉鏄剧ず鏁版嵁鏉℃暟
+ * @param type 绫诲瀷
* @return
*/
List<MyLectureV> listLectureV(String learnerId, String chapterId, String keyword, Integer pageSize, Integer pageNum,
- String type);
+ String type);
/**
* 璇句欢鍒楄〃鎼滅储
@@ -245,10 +203,8 @@
/**
* 璇诲彇璇句欢鐪熷疄鏂囦欢璁块棶璺緞
*
- * @param lectureId
- * 璇句欢id鏁扮粍
- * @param attribute
- * 璇句欢闄勫姞灞炴��
+ * @param lectureId 璇句欢id鏁扮粍
+ * @param attribute 璇句欢闄勫姞灞炴��
* @return 涓婁紶缁撴灉:{"success":true,msg:"success",attrs:{"type":"",path:""}}
*/
Result readLectureAccessPath(String lectureId, String attribute);
@@ -262,6 +218,7 @@
/**
* 璇句欢璇︽儏鏌ヨ
+ *
* @param learnerId
* @param subjectId
* @param keyword
@@ -271,5 +228,14 @@
* @return
*/
List<MyLectureV> listLectureVBySubjectId(String learnerId, String subjectId, String keyword, Integer pageSize,
- Integer pageNum, String type);
+ Integer pageNum, String type);
+
+ List<MyOpenLectureV> listOpenLectureVBySubjectId(String learnerId, String subjectId, String keyword, Integer pageSize,
+ Integer pageNum, String type);
+
+ List<SubjectLecture> getSubjectLectureVByChapterId(String chapterId, String keyword, Integer limit, Integer pageNum);
+
+ List<MyOpenLectureV> getMyOpenLectureVByChapterId(String userId, String chapterId, String keyword, Integer limit, Integer pageNum);
+
+
}
diff --git a/src/main/java/com/qxueyou/scc/teach/subject/service/ISubjectService.java b/src/main/java/com/qxueyou/scc/teach/subject/service/ISubjectService.java
index 3aab7fd..baee3b0 100644
--- a/src/main/java/com/qxueyou/scc/teach/subject/service/ISubjectService.java
+++ b/src/main/java/com/qxueyou/scc/teach/subject/service/ISubjectService.java
@@ -8,6 +8,7 @@
import com.qxueyou.scc.base.model.Result;
import com.qxueyou.scc.teach.subject.model.Subject;
import com.qxueyou.scc.teach.subject.model.view.MySubjectV;
+import com.qxueyou.scc.teach.subject.model.view.OpenSubjectV;
import org.springframework.transaction.annotation.Transactional;
public interface ISubjectService {
@@ -126,6 +127,11 @@
List<MySubjectV> listMySubjectV(String classId,String userId);
/**
+ * 鏌ヨ鍏紑璇剧▼
+ */
+ List<OpenSubjectV> listOpenSubjectV();
+
+ /**
* 棣栭〉鏌ヨ鎴戠殑璇剧▼
*/
List<Map<String, Object>> getMySubjectList();
diff --git a/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectLectureService.java b/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectLectureService.java
index 0835b45..4d8ea9b 100644
--- a/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectLectureService.java
+++ b/src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectLectureService.java
@@ -1,10 +1,14 @@
package com.qxueyou.scc.teach.subject.service.impl;
+import java.util.Date;
import java.util.List;
import com.qxueyou.scc.admin.classes.model.ClsClassReSubject;
+import com.qxueyou.scc.admin.classes.model.ClsSubjectChapter;
import com.qxueyou.scc.admin.classes.service.IClassLectureService;
import com.qxueyou.scc.teach.subject.model.Subject;
+import com.qxueyou.scc.teach.subject.model.view.*;
+import com.qxueyou.scc.user.model.UserTeacher;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
@@ -26,10 +30,6 @@
import com.qxueyou.scc.teach.res.service.IResService;
import com.qxueyou.scc.teach.subject.model.SubjectChapter;
import com.qxueyou.scc.teach.subject.model.SubjectLecture;
-import com.qxueyou.scc.teach.subject.model.view.LectureAudioV;
-import com.qxueyou.scc.teach.subject.model.view.LectureDocV;
-import com.qxueyou.scc.teach.subject.model.view.LectureVideoV;
-import com.qxueyou.scc.teach.subject.model.view.MyLectureV;
import com.qxueyou.scc.teach.subject.service.ILectureService;
import com.qxueyou.scc.teach.subject.service.ISubjectService;
import org.springframework.transaction.annotation.Transactional;
@@ -37,415 +37,510 @@
@Service
public class SubjectLectureService extends CommonAppService implements ILectureService {
- public static final String RES_LECTURE_CONVER_LST = "RES_LECTURE_CONVER_LST";
+ public static final String RES_LECTURE_CONVER_LST = "RES_LECTURE_CONVER_LST";
- @Autowired
- ISubjectService subjectService;
+ @Autowired
+ ISubjectService subjectService;
- @Autowired
- IResService resService;
+ @Autowired
+ IResService resService;
- @Autowired
- ICacheService cacheService;
+ @Autowired
+ ICacheService cacheService;
- @Autowired
- IProgressService progressService;
+ @Autowired
+ IProgressService progressService;
- @Autowired
- IClassLectureService clsLectureService;
+ @Autowired
+ IClassLectureService clsLectureService;
- @Override
- public Result addChapter(String subjectId, String parentChapterId, String name) {
+ @Override
+ public Result addChapter(String subjectId, String parentChapterId, String name) {
- SubjectChapter chapter = new SubjectChapter();
+ SubjectChapter chapter = new SubjectChapter();
- TraceUtils.setCreateTrace(chapter);
- chapter.setName(name);
- chapter.setParentChapterId(parentChapterId);
- chapter.setSubjectId(subjectId);
+ TraceUtils.setCreateTrace(chapter);
+ chapter.setName(name);
+ chapter.setParentChapterId(parentChapterId);
+ chapter.setSubjectId(subjectId);
- save(chapter);
+ save(chapter);
- return new Result(true, "success", CollectionUtils.newObjectMap("id", chapter.getChapterId(), "name", name));
+ return new Result(true, "success", CollectionUtils.newObjectMap("id", chapter.getChapterId(), "name", name));
- }
+ }
- @Override
- public Result updateChapter(String chapterId, String name) {
+ @Override
+ public Result updateChapter(String chapterId, String name) {
- SubjectChapter chapter = read(SubjectChapter.class, chapterId);
+ SubjectChapter chapter = read(SubjectChapter.class, chapterId);
- TraceUtils.setUpdateTrace(chapter);
- chapter.setName(name);
+ TraceUtils.setUpdateTrace(chapter);
+ chapter.setName(name);
- save(chapter);
+ save(chapter);
- return new Result(true, "success", CollectionUtils.newObjectMap("id", chapter.getChapterId(), "name", name));
- }
+ return new Result(true, "success", CollectionUtils.newObjectMap("id", chapter.getChapterId(), "name", name));
+ }
- @Override
- public Result deleteChapter(String[] chapterIds) {
- for (String chapterId : chapterIds) {
- deleteChapter(chapterId);
- }
+ @Override
+ public Result deleteChapter(String[] chapterIds) {
+ for (String chapterId : chapterIds) {
+ deleteChapter(chapterId);
+ }
- return new Result(true, "success");
- }
+ return new Result(true, "success");
+ }
- /**
- * 鍒犻櫎鍗曚釜绔犺妭
- *
- * @param chapterId
- * 绔犺妭id
- * @return
- */
- private Result deleteChapter(String chapterId) {
+ /**
+ * 鍒犻櫎鍗曚釜绔犺妭
+ *
+ * @param chapterId 绔犺妭id
+ * @return
+ */
+ private Result deleteChapter(String chapterId) {
- SubjectChapter chapter = read(SubjectChapter.class, chapterId);
+ SubjectChapter chapter = read(SubjectChapter.class, chapterId);
- TraceUtils.setUpdateTrace(chapter);
- chapter.setDeleteFlag(true);
+ TraceUtils.setUpdateTrace(chapter);
+ chapter.setDeleteFlag(true);
- save(chapter);
- Result result = this.deleteCourseware4Chapter(chapterId);
- if (!result.isSuccess()) {
- return result;
- }
- return new Result(true, "success");
- }
+ save(chapter);
+ Result result = this.deleteCourseware4Chapter(chapterId);
+ if (!result.isSuccess()) {
+ return result;
+ }
+ return new Result(true, "success");
+ }
- private Result deleteCourseware4Chapter(String chapterId) {
+ private Result deleteCourseware4Chapter(String chapterId) {
- this.bulkUpdate("update SubjectLecture set deleteFlag = true where chapterId = ?", new String[] { chapterId });
- return new Result(true);
+ this.bulkUpdate("update SubjectLecture set deleteFlag = true where chapterId = ?", new String[]{chapterId});
+ return new Result(true);
- }
+ }
- @Override
- public List<SubjectChapter> doGetListChapter(String subjectId, String parentChapterId) {
+ @Override
+ public List<SubjectChapter> doGetListChapter(String subjectId, String parentChapterId) {
- List<SubjectChapter> result = getListChapter(subjectId, parentChapterId);
+ List<SubjectChapter> result = getListChapter(subjectId, parentChapterId);
- if (result.isEmpty() && StringUtils.isEmpty(parentChapterId)) {
- return CollectionUtils.newList(SubjectChapter.class, initLectureChapter(subjectId));
- }
+ if (result.isEmpty() && StringUtils.isEmpty(parentChapterId)) {
+ return CollectionUtils.newList(SubjectChapter.class, initLectureChapter(subjectId));
+ }
- return result;
- }
+ return result;
+ }
- @Override
- public List<SubjectProgressTreeV> getChapterTreeVList(String subjectId, String parentChapterId) {
+ @Override
+ public List<SubjectProgressTreeV> getChapterTreeVList(String subjectId, String parentChapterId) {
- if (parentChapterId == null) {
- return progressService.getSubjectChapterTreeVList(subjectId, ClientUtils.getUserId());
- }
+ if (parentChapterId == null) {
+ return progressService.getSubjectChapterTreeVList(subjectId, ClientUtils.getUserId());
+ }
- return progressService.getSubjectChapterTreeVList(parentChapterId, ClientUtils.getUserId());
- }
+ return progressService.getSubjectChapterTreeVList(parentChapterId, ClientUtils.getUserId());
+ }
- /**
- * 鍒濆鍖�
- *
- * @param subjectId
- * @return
- */
- private SubjectChapter initLectureChapter(String subjectId) {
+ /**
+ * 鍒濆鍖�
+ *
+ * @param subjectId
+ * @return
+ */
+ private SubjectChapter initLectureChapter(String subjectId) {
- SubjectChapter chapter = new SubjectChapter();
+ SubjectChapter chapter = new SubjectChapter();
- TraceUtils.setCreateTrace(chapter);
- chapter.setName("鏍硅妭鐐�");
- chapter.setSubjectId(subjectId);
- chapter.setParentChapterId(SubjectChapter.ROOT_CHAPTER_ID);
+ TraceUtils.setCreateTrace(chapter);
+ chapter.setName("鏍硅妭鐐�");
+ chapter.setSubjectId(subjectId);
+ chapter.setParentChapterId(SubjectChapter.ROOT_CHAPTER_ID);
- save(chapter);
+ save(chapter);
- return chapter;
- }
+ return chapter;
+ }
- @Override
- public Result addLecture(String chapterId, String resId) {
+ @Override
+ public Result addLecture(String chapterId, String resId) {
- SubjectChapter chapter = read(SubjectChapter.class, chapterId);
+ SubjectChapter chapter = read(SubjectChapter.class, chapterId);
- Res res = resService.read(resId);
+ Res res = resService.read(resId);
- SubjectLecture lecture = new SubjectLecture();
+ SubjectLecture lecture = new SubjectLecture();
- TraceUtils.setCreateTrace(lecture);
- lecture.setChapterId(chapterId);
- lecture.setLectureType(res.getType());
- lecture.setName(res.getName());
- lecture.setStatus(res.getStatus());
- lecture.setRemark(res.getRemark());
- lecture.setSubjectId(chapter.getSubjectId());
- lecture.setResItemId(res.getResId());
- save(lecture);
- subjectService.addLectureCount(lecture.getSubjectId(), 1);
- return new Result(true, "success");
- }
+ TraceUtils.setCreateTrace(lecture);
+ lecture.setChapterId(chapterId);
+ lecture.setLectureType(res.getType());
+ lecture.setName(res.getName());
+ lecture.setStatus(res.getStatus());
+ lecture.setRemark(res.getRemark());
+ lecture.setSubjectId(chapter.getSubjectId());
+ lecture.setResItemId(res.getResId());
+ save(lecture);
+ subjectService.addLectureCount(lecture.getSubjectId(), 1);
- @Override
- public Result addLectureLoad(String sectionId){
- SubjectChapter chapter = read(SubjectChapter.class, sectionId);
- String hql = "from Subject where subjectId = ? and deleteFlag is false";
- String subjectId = chapter.getSubjectId();
- Subject subjectOne = findUnique(hql,CollectionUtils.newList(subjectId),Subject.class);
- String hqlOne = "from Subject where name = ? and deleteFlag is false";
- List<Subject> subjectTwo = find(hqlOne,CollectionUtils.newList(subjectOne.getName()),Subject.class);
- for (Subject s : subjectTwo){
- String hqlTwo = "from ClsClassReSubject where subjectId = ? and deleteFlag is false";
- ClsClassReSubject subject = findUnique(hqlTwo,CollectionUtils.newList(s.getSubjectId()),ClsClassReSubject.class);
- if(subject != null){
- subjectService.updateClsSubject(subject.getClassId(),s.getSubjectId(),s.getOrigSubjectId(),s.getTeacherId(),s.getSchoolYear(),s.getTerm());
- }
- }
- return new Result(true, "success");
- }
+ String hql = "from Subject where subjectId = ? and deleteFlag is false";
+ Subject subject = findUnique(hql, CollectionUtils.newList(chapter.getSubjectId()), Subject.class);
+ String hql1 = "from Subject where name = ? and deleteFlag is false and type = 2";
+ List<Subject> subjects = find(hql1, CollectionUtils.newList(subject.getName()), Subject.class);
+ for (Subject subjectv : subjects) {
+
+ String hql2 = "from ClsSubjectChapter where subjectId = ? and deleteFlag is false and Name = ? ";
+ ClsSubjectChapter clsSubjectChapter = findUnique(hql2, CollectionUtils.newList(subjectv.getSubjectId(), chapter.getName()), ClsSubjectChapter.class);
+ String hql3 = "from ClsClassReSubject where subjectId = ? and deleteFlag is false";
+ List<ClsClassReSubject> reSubject = find(hql3, CollectionUtils.newList(subjectv.getSubjectId()), ClsClassReSubject.class);
+
+ for (ClsClassReSubject classReSubject : reSubject) {
+ ClsSubjectLecture clsLecture = new ClsSubjectLecture();
+ TraceUtils.setCreateTrace(clsLecture);
+ clsLecture.setChapterId(clsSubjectChapter.getChapterId());
+ clsLecture.setLectureType(res.getType());
+ clsLecture.setName(res.getName());
+ clsLecture.setStatus(res.getStatus());
+ clsLecture.setRemark(res.getRemark());
+ clsLecture.setSubjectId(clsSubjectChapter.getSubjectId());
+ clsLecture.setResItemId(res.getResId());
+ clsLecture.setClassId(classReSubject.getClassId());
+ save(clsLecture);
+ }
+ }
+
+
+ return new Result(true, "success");
+ }
+
+// @Override
+// public Result addLectureLoad(String sectionId){
+// SubjectChapter chapter = read(SubjectChapter.class, sectionId);
+// String hql = "from Subject where subjectId = ? and deleteFlag is false";
+// String subjectId = chapter.getSubjectId();
+// Subject subjectOne = findUnique(hql,CollectionUtils.newList(subjectId),Subject.class);
+// String hqlOne = "from Subject where name = ? and deleteFlag is false";
+// List<Subject> subjectTwo = find(hqlOne,CollectionUtils.newList(subjectOne.getName()),Subject.class);
+// for (Subject s : subjectTwo){
+// String hqlTwo = "from ClsClassReSubject where subjectId = ? and deleteFlag is false";
+// ClsClassReSubject subject2 = findUnique(hqlTwo,CollectionUtils.newList(s.getSubjectId()),ClsClassReSubject.class);
+// if(subject2 != null){
+// subjectService.updateClsSubject(subject2.getClassId(),s.getSubjectId(),s.getOrigSubjectId(),s.getTeacherId(),s.getSchoolYear(),s.getTerm());
+// Subject subject = read(Subject.class,s.getSubjectId());
+//
+//
+// clsLectureService.doCopyLecturesToClass(s.getSubjectId(), subjectId, subject2.getClassId());
+//
+//
+// }
+// }
+// return new Result(true, "success");
+// }
+
+ @Override
+ public Result updateLecture(String lectureId, String resId) {
+
+ SubjectLecture lecture = read(SubjectLecture.class, lectureId);
+
+
+ Res res = resService.read(resId);
+
+ TraceUtils.setUpdateTrace(lecture);
+ lecture.setLectureType(res.getType());
+ lecture.setName(res.getName());
+ lecture.setRemark(res.getRemark());
+ lecture.setResItemId(res.getResId());
+
+ save(lecture);
+
+ return new Result(true, "success");
+ }
+
+ @Override
+ public Result deleteLecture(String[] lectureIds) {
+ for (String lectureId : lectureIds) {
+ deleteLecture(lectureId);
+ }
+ return new Result(true, "success");
+ }
+
+// @Override
+// public Result deleteLectureLoad(String[] lectureIds){
+// SubjectLecture lecture = read(SubjectLecture.class, lectureIds[0]);
+// String hql = "from Subject where subjectId = ? and deleteFlag is false";
+// String subjectId = lecture.getSubjectId();
+// Subject subjectOne = findUnique(hql,CollectionUtils.newList(subjectId),Subject.class);
+// String hqlOne = "from Subject where name = ? and deleteFlag is false";
+// List<Subject> subjectTwo = find(hqlOne,CollectionUtils.newList(subjectOne.getName()),Subject.class);
+// for (Subject s : subjectTwo){
+// String hqlTwo = "from ClsClassReSubject where subjectId = ? and deleteFlag is false";
+// ClsClassReSubject subject = findUnique(hqlTwo,CollectionUtils.newList(s.getSubjectId()),ClsClassReSubject.class);
+// if(subject != null){
+// subjectService.updateClsSubject(subject.getClassId(),s.getSubjectId(),s.getOrigSubjectId(),s.getTeacherId(),s.getSchoolYear(),s.getTerm());
+// }
+// }
+// return new Result(true, "success");
+// }
+
+ /**
+ * @param lectureId 璇句欢id
+ * @return
+ */
+ private Result deleteLecture(String lectureId) {
+
+ SubjectLecture lecture = read(SubjectLecture.class, lectureId);
+ TraceUtils.setUpdateTrace(lecture);
+ lecture.setDeleteFlag(true);
+ save(lecture);
+
+ subjectService.addLectureCount(lecture.getSubjectId(), -1);
+
+ String hql = "from Subject where subjectId = ? and deleteFlag is false";
+ Subject subject = findUnique(hql, CollectionUtils.newList(lecture.getSubjectId()), Subject.class);
+ String hql1 = "from Subject where name = ? and deleteFlag is false and type = 2";
+ List<Subject> subjects = find(hql1, CollectionUtils.newList(subject.getName()), Subject.class);
+ for (Subject subjectv : subjects) {
+
+ String hql2 = "from ClsSubjectLecture where subjectId = ? and deleteFlag is false and Name = ? ";
+ ClsSubjectLecture clsSubjectLecture = findUnique(hql2, CollectionUtils.newList(subjectv.getSubjectId(), lecture.getName()), ClsSubjectLecture.class);
+ if(clsSubjectLecture != null){
+ TraceUtils.setUpdateTrace(clsSubjectLecture);
+ clsSubjectLecture.setDeleteFlag(true);
+ save(clsSubjectLecture);
+ }
+ }
+
+ return new Result(true, "success");
+ }
+
+ @Override
+ public Result doCopyLecture(String lectureId, String destChapterId, String name) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public Result doMoveLecture(String lectureId, String destChapterId, String name) {
+ // TODO Auto-generated method stub
+ return null;
+ }
- @Override
- public Result updateLecture(String lectureId, String resId) {
+ @Override
+ public List<SubjectLecture> listLecture(String chapterId, String keyword, Integer pageSize, Integer pageNum,
+ String type) {
- SubjectLecture lecture = read(SubjectLecture.class, lectureId);
+ StringBuffer hql = new StringBuffer("from SubjectLecture where chapterId=? and name like ? and deleteFlag is false");
+ List<Object> args = CollectionUtils.newList(chapterId, '%' + keyword.trim() + '%');
- Res res = resService.read(resId);
+ if (StringUtils.isNotEmpty(type)) {
+ hql.append(" and lectureType=?");
+ args.add(type);
+ }
- TraceUtils.setUpdateTrace(lecture);
- lecture.setLectureType(res.getType());
- lecture.setName(res.getName());
- lecture.setRemark(res.getRemark());
- lecture.setResItemId(res.getResId());
+ List<SubjectLecture> result = findList(hql.toString(), new Pager(pageSize, pageNum), args,
+ SubjectLecture.class);
- save(lecture);
+ return result;
+ }
- return new Result(true, "success");
- }
+ @Override
+ public List<MyLectureV> listLectureV(String learnerId, String chapterId, String keyword, Integer pageSize,
+ Integer pageNum, String type) {
+ StringBuffer hql = new StringBuffer("from MyLectureV where chapterId=? and id.userId=?");
+ List<Object> args = CollectionUtils.newList(chapterId, learnerId);
- @Override
- public Result deleteLecture(String[] lectureIds) {
- for (String lectureId : lectureIds) {
- deleteLecture(lectureId);
- }
- return new Result(true, "success");
- }
- @Override
- public Result deleteLectureLoad(String[] lectureIds){
- SubjectLecture lecture = read(SubjectLecture.class, lectureIds[0]);
- String hql = "from Subject where subjectId = ? and deleteFlag is false";
- String subjectId = lecture.getSubjectId();
- Subject subjectOne = findUnique(hql,CollectionUtils.newList(subjectId),Subject.class);
- String hqlOne = "from Subject where name = ? and deleteFlag is false";
- List<Subject> subjectTwo = find(hqlOne,CollectionUtils.newList(subjectOne.getName()),Subject.class);
- for (Subject s : subjectTwo){
- String hqlTwo = "from ClsClassReSubject where subjectId = ? and deleteFlag is false";
- ClsClassReSubject subject = findUnique(hqlTwo,CollectionUtils.newList(s.getSubjectId()),ClsClassReSubject.class);
- if(subject != null){
- subjectService.updateClsSubject(subject.getClassId(),s.getSubjectId(),s.getOrigSubjectId(),s.getTeacherId(),s.getSchoolYear(),s.getTerm());
- }
- }
- return new Result(true, "success");
- }
+ if (StringUtils.isNotEmpty(type)) {
+ hql.append(" and lectureType=?");
+ args.add(type);
+ }
- /**
- *
- * @param lectureId
- * 璇句欢id
- * @return
- */
- private Result deleteLecture(String lectureId) {
+ List<MyLectureV> result = findList(hql.toString(), new Pager(pageSize, pageNum), args, MyLectureV.class);
- SubjectLecture lecture = read(SubjectLecture.class, lectureId);
+ return result;
+ }
- TraceUtils.setUpdateTrace(lecture);
- lecture.setDeleteFlag(true);
- save(lecture);
+ @Override
+ public List<MyLectureV> listLectureVBySubjectId(String learnerId, String subjectId, String keyword, Integer pageSize,
+ Integer pageNum, String type) {
+ StringBuffer hql = new StringBuffer("from MyLectureV where subjectId=? and id.userId=? order by lectureUpdateTime desc");
+ List<Object> args = CollectionUtils.newList(subjectId, learnerId);
- subjectService.addLectureCount(lecture.getSubjectId(), -1);
+ if (StringUtils.isNotEmpty(type)) {
+ hql.append(" and lectureType=?");
+ args.add(type);
+ }
- return new Result(true, "success");
- }
+ List<MyLectureV> result = findList(hql.toString(), new Pager(pageSize, pageNum), args, MyLectureV.class);
- @Override
- public Result doCopyLecture(String lectureId, String destChapterId, String name) {
- // TODO Auto-generated method stub
- return null;
- }
+ return result;
+ }
- @Override
- public Result doMoveLecture(String lectureId, String destChapterId, String name) {
- // TODO Auto-generated method stub
- return null;
- }
+ @Override
+ public List<MyOpenLectureV> listOpenLectureVBySubjectId(String learnerId, String subjectId, String keyword, Integer pageSize,
+ Integer pageNum, String type) {
+ StringBuffer hql = new StringBuffer("from MyOpenLectureV where subjectId=? and userId = ? order by lectureUpdateTime desc");
+ List<Object> args = CollectionUtils.newList(subjectId, learnerId);
- @Override
- public List<SubjectLecture> listLecture(String chapterId, String keyword, Integer pageSize, Integer pageNum,
- String type) {
+ if (StringUtils.isNotEmpty(type)) {
+ hql.append(" and lectureType=?");
+ args.add(type);
+ }
- StringBuffer hql = new StringBuffer("from SubjectLecture where chapterId=? and name like ? and deleteFlag is false");
- List<Object> args = CollectionUtils.newList(chapterId,'%' + keyword.trim() + '%');
+ List<MyOpenLectureV> result = findList(hql.toString(), new Pager(pageSize, pageNum), args, MyOpenLectureV.class);
- if (StringUtils.isNotEmpty(type)) {
- hql.append(" and lectureType=?");
- args.add(type);
- }
+ return result;
+ }
- List<SubjectLecture> result = findList(hql.toString(), new Pager(pageSize, pageNum), args,
- SubjectLecture.class);
+ @Override
+ public List<SubjectLecture> getSubjectLectureVByChapterId(String chapterId, String keyword, Integer limit, Integer pageNum) {
+ StringBuffer hql = new StringBuffer("from SubjectLecture where chapterId=? and deleteFlag is false");
+ List<Object> args = CollectionUtils.newList(chapterId);
- return result;
- }
+ List<SubjectLecture> result = findList(hql.toString(), new Pager(limit, pageNum), args, SubjectLecture.class);
+ return result;
+ }
- @Override
- public List<MyLectureV> listLectureV(String learnerId, String chapterId, String keyword, Integer pageSize,
- Integer pageNum, String type) {
- StringBuffer hql = new StringBuffer("from MyLectureV where chapterId=? and id.userId=?");
- List<Object> args = CollectionUtils.newList(chapterId, learnerId);
+ @Override
+ public List<MyOpenLectureV> getMyOpenLectureVByChapterId(String userId, String chapterId, String keyword, Integer limit, Integer pageNum) {
+ StringBuffer hql = new StringBuffer("from MyOpenLectureV where userId=? and chapterId = ?");
+ List<Object> args = CollectionUtils.newList(userId, chapterId);
- if (StringUtils.isNotEmpty(type)) {
- hql.append(" and lectureType=?");
- args.add(type);
- }
+ List<MyOpenLectureV> result = findList(hql.toString(), new Pager(limit, pageNum), args, MyOpenLectureV.class);
+ return result;
+ }
- List<MyLectureV> result = findList(hql.toString(), new Pager(pageSize, pageNum), args, MyLectureV.class);
+ @Override
+ public int listLectureCount(String chapterId, String keyword, String type) {
+ StringBuffer hql = new StringBuffer("from SubjectLecture where chapterId=? and name like ? and deleteFlag is false");
- return result;
- }
+ List<Object> args = CollectionUtils.newList(chapterId, '%' + keyword.trim() + '%');
- @Override
- public List<MyLectureV> listLectureVBySubjectId(String learnerId, String subjectId, String keyword, Integer pageSize,
- Integer pageNum, String type) {
- StringBuffer hql = new StringBuffer("from MyLectureV where subjectId=? and id.userId=? order by lectureUpdateTime desc");
- List<Object> args = CollectionUtils.newList(subjectId, learnerId);
+ if (StringUtils.isNotEmpty(type)) {
+ hql.append(" and lectureType=?");
+ args.add(type);
+ }
- if (StringUtils.isNotEmpty(type)) {
- hql.append(" and lectureType=?");
- args.add(type);
- }
+ return findCount(hql.toString(), args);
- List<MyLectureV> result = findList(hql.toString(), new Pager(pageSize, pageNum), args, MyLectureV.class);
+ }
- return result;
- }
+ @Override
+ public Result readLectureAccessPath(String lectureId, String attribute) {
+ SubjectLecture lecture = read(SubjectLecture.class, lectureId);
+ String resItemId = null;
+ if (lecture == null) {
+ resItemId = read(ClsSubjectLecture.class, lectureId).getResItemId();//鐝骇璇句欢
+ } else {
+ resItemId = lecture.getResItemId();
+ }
+ return resService.readAccessPath(resItemId, attribute);
+ }
- @Override
- public int listLectureCount(String chapterId, String keyword, String type) {
- StringBuffer hql = new StringBuffer("from SubjectLecture where chapterId=? and name like ? and deleteFlag is false");
+ @Override
+ public SubjectLecture readLecture(String lectureId) {
+ return read(SubjectLecture.class, lectureId);
+ }
- List<Object> args = CollectionUtils.newList(chapterId,'%' + keyword.trim() + '%');
+ @Override
+ public SubjectChapter readChapter(String chapterId) {
+ return read(SubjectChapter.class, chapterId);
+ }
- if (StringUtils.isNotEmpty(type)) {
- hql.append(" and lectureType=?");
- args.add(type);
- }
+ @Override
+ public List<SubjectChapter> getListChapter(String subjectId, String parentChapterId) {
- return findCount(hql.toString(),args);
+ StringBuffer hql = new StringBuffer(
+ "from SubjectChapter where subjectId=? and deleteFlag is false and parentChapterId=?");
- }
+ List<Object> args = CollectionUtils.newList(subjectId);
- @Override
- public Result readLectureAccessPath(String lectureId, String attribute) {
- SubjectLecture lecture = read(SubjectLecture.class, lectureId);
- String resItemId = null;
- if(lecture == null) {
- resItemId = read(ClsSubjectLecture.class, lectureId).getResItemId();//鐝骇璇句欢
- }else {
- resItemId = lecture.getResItemId();
- }
- return resService.readAccessPath(resItemId, attribute);
- }
+ if (StringUtils.isEmpty(parentChapterId)) {
+ args.add(SubjectChapter.ROOT_CHAPTER_ID);
+ } else {
+ args.add(parentChapterId);
+ }
- @Override
- public SubjectLecture readLecture(String lectureId) {
- return read(SubjectLecture.class, lectureId);
- }
+ List<SubjectChapter> result = find(hql.toString(), args, SubjectChapter.class);
- @Override
- public SubjectChapter readChapter(String chapterId) {
- return read(SubjectChapter.class, chapterId);
- }
+ return result;
+ }
- @Override
- public List<SubjectChapter> getListChapter(String subjectId, String parentChapterId) {
+ @Override
+ public List<SubjectLecture> listLectureBySubjectId(String subjectId) {
+ String hql = "from SubjectLecture where subjectId=? and deleteFlag is false";
- StringBuffer hql = new StringBuffer(
- "from SubjectChapter where subjectId=? and deleteFlag is false and parentChapterId=?");
+ List<SubjectLecture> result = find(hql, CollectionUtils.newList(subjectId), SubjectLecture.class);
- List<Object> args = CollectionUtils.newList(subjectId);
+ return result;
+ }
- if (StringUtils.isEmpty(parentChapterId)) {
- args.add(SubjectChapter.ROOT_CHAPTER_ID);
- } else {
- args.add(parentChapterId);
- }
+ /**
+ * 鐩戞帶resId杞爜鐘舵�佸悓姝ecture鐨勭姸鎬�
+ */
+ @Scheduled(cron = "0/2 * * * * ?") // 姣�2绉掓墽琛屼竴娆�
+ public void doTimer() {
+ String resId = cacheService.lstLeftPop(RES_LECTURE_CONVER_LST);
+ if (StringUtils.isBlank(resId)) {
+ return;
+ }
+ Res res = read(Res.class, resId);
+ if (res.getStatus().equals(Res.STATUS_DRAFT)) {
+ String[] resIds = resId.split(",");
+ bulkUpdate(
+ "update SubjectLecture set status = 'draft' where deleteFlag is false and status = 'conver' and resItemId = ?",
+ resIds);
+ bulkUpdate(
+ "update ClsSubjectLecture set status = 'draft' where deleteFlag is false and status = 'conver' and resItemId = ?",
+ resIds);
+ return;
+ }
+ cacheService.lstRightPush(RES_LECTURE_CONVER_LST, resId);
+ }
- List<SubjectChapter> result = find(hql.toString(), args, SubjectChapter.class);
+ @Override
+ public Result doStudy(String lectureId, Double from, Double to) {
+ String userId = null;
+ return progressService.addProgress(Progress.PROGRESS_TYPE_LECTURE, lectureId, from.intValue(), to.intValue(),
+ userId);
+ }
- return result;
- }
+ @Cacheable(value = "LectureVideoV", key = "#lectureId")
+ @Override
+ public LectureVideoV readVideoLecture(String lectureId) {
+ return read(LectureVideoV.class, lectureId);
+ }
- @Override
- public List<SubjectLecture> listLectureBySubjectId(String subjectId) {
- String hql = "from SubjectLecture where subjectId=? and deleteFlag is false";
+ @Cacheable(value = "LectureAudioV", key = "#lectureId")
+ @Override
+ public LectureAudioV readAudioLecture(String lectureId) {
+ return read(LectureAudioV.class, lectureId);
+ }
- List<SubjectLecture> result = find(hql, CollectionUtils.newList(subjectId), SubjectLecture.class);
+ @Override
+ public List<SubjectChapter> getAllChapterBySubjectId(String subjectId) {
- return result;
- }
+ String hql = "from SubjectChapter where deleteFlag is false and subjectId = ? order by createTime";
+ return find(hql, CollectionUtils.newList(subjectId), SubjectChapter.class);
- /**
- * 鐩戞帶resId杞爜鐘舵�佸悓姝ecture鐨勭姸鎬�
- */
- @Scheduled(cron = "0/2 * * * * ?") // 姣�2绉掓墽琛屼竴娆�
- public void doTimer() {
- String resId = cacheService.lstLeftPop(RES_LECTURE_CONVER_LST);
- if (StringUtils.isBlank(resId)) {
- return;
- }
- Res res = read(Res.class, resId);
- if (res.getStatus().equals(Res.STATUS_DRAFT)) {
- String[] resIds = resId.split(",");
- bulkUpdate(
- "update SubjectLecture set status = 'draft' where deleteFlag is false and status = 'conver' and resItemId = ?",
- resIds);
- bulkUpdate(
- "update ClsSubjectLecture set status = 'draft' where deleteFlag is false and status = 'conver' and resItemId = ?",
- resIds);
- return;
- }
- cacheService.lstRightPush(RES_LECTURE_CONVER_LST, resId);
- }
+ }
- @Override
- public Result doStudy(String lectureId, Double from, Double to) {
- String userId = null;
- return progressService.addProgress(Progress.PROGRESS_TYPE_LECTURE, lectureId, from.intValue(), to.intValue(),
- userId);
- }
+ @Override
+ public LectureDocV readDocLecture(String lectureId) {
- @Cacheable(value = "LectureVideoV", key = "#lectureId")
- @Override
- public LectureVideoV readVideoLecture(String lectureId) {
- return read(LectureVideoV.class, lectureId);
- }
+ return read(LectureDocV.class, lectureId);
+ }
- @Cacheable(value = "LectureAudioV", key = "#lectureId")
- @Override
- public LectureAudioV readAudioLecture(String lectureId) {
- return read(LectureAudioV.class, lectureId);
- }
+ public Result updateLecturetime(String targetId) {
- @Override
- public List<SubjectChapter> getAllChapterBySubjectId(String subjectId) {
+ SubjectLecture lecture = read(SubjectLecture.class, targetId);
- String hql = "from SubjectChapter where deleteFlag is false and subjectId = ? order by createTime";
- return find(hql, CollectionUtils.newList(subjectId), SubjectChapter.class);
- }
+ TraceUtils.setUpdateTrace(lecture);
- @Override
- public LectureDocV readDocLecture(String lectureId) {
+ lecture.setUpdateTime(new Date());
+ lecture.setUpdator(ClientUtils.getUserId());
+ save(lecture);
- return read(LectureDocV.class, lectureId);
- }
+ return new Result(true, "success");
+ }
}
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