From 8d0e57a64fe6c31559ffcf38859fb1f5084e1e23 Mon Sep 17 00:00:00 2001
From: Administrator <2863138610@qq.com>
Date: 星期一, 21 十一月 2022 11:09:20 +0800
Subject: [PATCH] 课程管理学习端修改And用户信息缓存修改
---
src/main/java/com/qxueyou/scc/admin/progress/service/IProgressService.java | 12
src/main/java/com/qxueyou/scc/sys/action/LoginController.java | 13 +
src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureDocProgressService.java | 14
src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/LectureProgressService.java | 20 +-
src/main/java/com/qxueyou/scc/admin/progress/service/impl/StudyProgressUtils.java | 32 +-
src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectLectureService.java | 17 +
src/main/java/com/qxueyou/scc/admin/progress/model/SubjectLectureProgressDetail.java | 18 +-
src/main/java/com/qxueyou/scc/stucontroller/StuSubjectController.java | 103 +++++-----
src/main/java/com/qxueyou/scc/base/util/ClientUtils.java | 42 +++-
src/main/java/com/qxueyou/scc/controller/CoursewareController.java | 40 ++--
src/main/java/com/qxueyou/scc/sys/utils/SpringContextHolder.java | 76 ++++++++
src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/SubjectProgressService.java | 2
src/main/java/com/qxueyou/scc/admin/classes/service/impl/ClassLectureService.java | 18 +
src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/ChapterProgressService.java | 2
src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureCommonProgressService.java | 32 +-
target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst | 5
src/main/java/com/qxueyou/scc/admin/progress/service/impl/ProgressService.java | 4
src/main/java/com/qxueyou/scc/teach/subject/service/impl/SubjectService.java | 9
src/main/java/com/qxueyou/scc/admin/progress/dao/ProgressDAO.java | 20 +-
src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/ClassProgressService.java | 2
src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureVideoProgressService.java | 12
src/main/java/com/qxueyou/scc/admin/progress/service/IDetailProgressService.java | 6
22 files changed, 315 insertions(+), 184 deletions(-)
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 0e48283..09a8854 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
@@ -95,20 +95,22 @@
@Override
public List<MyLectureV> listLectureV(String learnerId, String chapterId, String keyword, Integer pageSize,
Integer pageNum, String type) {
- StringBuffer hql1 = new StringBuffer("from MyLectureV where subjectId=? and id.userId=?");
- List<Object> args1 = CollectionUtils.newList(chapterId, learnerId);
- List<MyLectureV> myLectureVList = findList(hql1.toString(), new Pager(pageSize, pageNum), args1, MyLectureV.class);
+ StringBuffer hql = new StringBuffer("from MyLectureV where subjectId=? and id.userId=?");
+ List<Object> args = CollectionUtils.newList(chapterId, learnerId);
+ List<MyLectureV> myLectureVList = findList(hql.toString(), new Pager(pageSize, pageNum), args, MyLectureV.class);
- StringBuffer hql = new StringBuffer("from MyLectureV where chapterId=? and id.userId=? order by lectureCreateTime desc");
- List<Object> args = CollectionUtils.newList(myLectureVList.get(0).getChapterId(), learnerId);
+ if(myLectureVList.size() < 1){
+
+ }else {
+ hql = new StringBuffer("from MyLectureV where chapterId=? and id.userId=? order by lectureCreateTime desc");
+ args = CollectionUtils.newList(myLectureVList.get(0).getChapterId(), learnerId);
+ }
if (StringUtils.isNotEmpty(type)) {
hql.append(" and lectureType=?");
args.add(type);
}
-
List<MyLectureV> result = findList(hql.toString(), new Pager(pageSize, pageNum), args, MyLectureV.class);
-
return result;
}
@@ -565,7 +567,7 @@
@Override
public Result doStudy(String clsLectureId, Double from, Double to) {
- return progressService.addProgress(Progress.PROGRESS_TYPE_LECTURE, clsLectureId, from.intValue(), to.intValue(),
+ return progressService.addProgress(Progress.PROGRESS_TYPE_LECTURE, clsLectureId, from.doubleValue(), to.doubleValue(),
ClientUtils.getUserId());
}
diff --git a/src/main/java/com/qxueyou/scc/admin/progress/dao/ProgressDAO.java b/src/main/java/com/qxueyou/scc/admin/progress/dao/ProgressDAO.java
index 9702edb..e51010d 100644
--- a/src/main/java/com/qxueyou/scc/admin/progress/dao/ProgressDAO.java
+++ b/src/main/java/com/qxueyou/scc/admin/progress/dao/ProgressDAO.java
@@ -30,7 +30,7 @@
/**
* 根据targetId和learnerId获取进度
- *
+ *
* @param targetId
* targetId
* @param learnerId
@@ -38,29 +38,29 @@
* @return
*/
@Cacheable(value = "progress", key = "#targetId+#learnerId")
- public int[][] getProgress(String targetId, String learnerId) {
+ public Double[][] getProgress(String targetId, String learnerId) {
List<SubjectLectureProgressDetail> lstDetail = this.find("from SubjectLectureProgressDetail where targetId = ? and learnerId = ? and deleteFlag is false", CollectionUtils.newList(targetId, learnerId), SubjectLectureProgressDetail.class);
if(lstDetail == null || lstDetail.isEmpty()) {
- return new int[][] {};
+ return new Double[][] {};
}else {
- int[][] progress = new int[lstDetail.size()][2];
+ Double[][] progress = new Double[lstDetail.size()][2];
int i = 0;
for(SubjectLectureProgressDetail objDetail : lstDetail) {
- progress[i++] = new int[] {objDetail.getStart(), objDetail.getEnd()};
+ progress[i++] = new Double[] {objDetail.getStart(), objDetail.getEnd()};
}
-
+
return progress;
}
}
@CachePut(value = "progress", key = "#targetId+#learnerId")
- public int[][] mergeProgress(String targetId, String learnerId, int start, int end, int[][] origProgress) {
+ public Double[][] mergeProgress(String targetId, String learnerId, Double start, Double end, Double[][] origProgress) {
return StudyProgressUtils.merge(origProgress, start, end);
}
/**
* 获取学生的各个节点的学习进度,进度值
- *
+ *
* @param parentId
* @param userId
* @return
@@ -76,7 +76,7 @@
/**
* 获取当前节点下的父节点
- *
+ *
* @param nodeId
* @return
*/
@@ -89,7 +89,7 @@
/**
* 根据subjectId获取章节列表
- *
+ *
* @param parentId
* @param userId
* @return
diff --git a/src/main/java/com/qxueyou/scc/admin/progress/model/SubjectLectureProgressDetail.java b/src/main/java/com/qxueyou/scc/admin/progress/model/SubjectLectureProgressDetail.java
index 7b3a8db..ea48602 100644
--- a/src/main/java/com/qxueyou/scc/admin/progress/model/SubjectLectureProgressDetail.java
+++ b/src/main/java/com/qxueyou/scc/admin/progress/model/SubjectLectureProgressDetail.java
@@ -19,7 +19,7 @@
/**
* 学习进度明细
- *
+ *
* @author sven
*
*/
@@ -30,8 +30,8 @@
private static final long serialVersionUID = -1565188126862586738L;
private String detailId;
private String progressId;
- private int start;
- private int end;
+ private Double start;
+ private Double end;
private String learnerId;
private String targetId;
private Date createTime;
@@ -41,8 +41,8 @@
private String updator;
private String updateId;
private boolean deleteFlag;
-
-
+
+
public SubjectLectureProgressDetail() {
}
@@ -55,25 +55,25 @@
this.progressId = progressId;
}
- public int getStart() {
+ public Double getStart() {
return start;
}
- public void setStart(int start) {
+ public void setStart(Double start) {
this.start = start;
}
- public int getEnd() {
+ public Double getEnd() {
return end;
}
- public void setEnd(int end) {
+ public void setEnd(Double end) {
this.end = end;
}
diff --git a/src/main/java/com/qxueyou/scc/admin/progress/service/IDetailProgressService.java b/src/main/java/com/qxueyou/scc/admin/progress/service/IDetailProgressService.java
index 20cbc47..41ac6b4 100644
--- a/src/main/java/com/qxueyou/scc/admin/progress/service/IDetailProgressService.java
+++ b/src/main/java/com/qxueyou/scc/admin/progress/service/IDetailProgressService.java
@@ -3,7 +3,7 @@
import com.qxueyou.scc.base.model.Result;
public interface IDetailProgressService {
-
+
/**
* 新增学习记录
* @param type 进度类型
@@ -13,8 +13,8 @@
* @param end 学习结束位置
* @return
*/
- Result addProgress(String targetId,String learnerId,int start,int end);
-
+ Result addProgress(String targetId,String learnerId,Double start,Double end);
+
/**
* 返回进度类型
* @return
diff --git a/src/main/java/com/qxueyou/scc/admin/progress/service/IProgressService.java b/src/main/java/com/qxueyou/scc/admin/progress/service/IProgressService.java
index a85b5cf..1dd400f 100644
--- a/src/main/java/com/qxueyou/scc/admin/progress/service/IProgressService.java
+++ b/src/main/java/com/qxueyou/scc/admin/progress/service/IProgressService.java
@@ -10,21 +10,21 @@
/**
* 查询学习进度
- *
+ *
* @return
*/
List<Progress> query(String type, String learnerId, List<String> targetId);
/**
* 查询学习进度
- *
+ *
* @return
*/
List<Progress> query(String type, List<String> learnerId, String targetId);
/**
* 查询学习记录
- *
+ *
* @param type
* 进度类型
* @param targetId
@@ -37,7 +37,7 @@
/**
* 新增学习记录
- *
+ *
* @param type
* 进度类型
* @param targetId
@@ -48,8 +48,8 @@
* 学习结束位置
* @return
*/
- Result addProgress(String type, String targetId, int start, int end, String userId);
-
+ Result addProgress(String type, String targetId, Double start, Double end, String userId);
+
List<SubjectProgressTreeV> getSubjectChapterTreeVList(String parentId,String userId);
}
diff --git a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/ProgressService.java b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/ProgressService.java
index 3089db1..d3a44a8 100644
--- a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/ProgressService.java
+++ b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/ProgressService.java
@@ -84,7 +84,7 @@
}
@Override
- public Result addProgress(String type, String targetId, int start, int end, String userId) {
+ public Result addProgress(String type, String targetId, Double start, Double end, String userId) {
String userId_ = StringUtils.isBlank(userId) ? ClientUtils.getUserId() : userId;
return resItemServiceMap.get(type).addProgress(targetId, userId_, start, end);
}
@@ -109,7 +109,7 @@
BigDecimal progressValue = new BigDecimal(itemProgress.get("progressValue").toString());
if (progress == null) {
String nodeType = subjectProgressTreeV.getNodeType();
- this.addProgress(nodeType, nodeId, 0, 0, userId);
+ this.addProgress(nodeType, nodeId, 0.0, 0.0, userId);
cacheService.lstRightPush(SUBJECT_PROGRESS_STATISTIC, nodeIdOrUserId);
return;
}
diff --git a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/StudyProgressUtils.java b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/StudyProgressUtils.java
index 9caad71..90e5d02 100644
--- a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/StudyProgressUtils.java
+++ b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/StudyProgressUtils.java
@@ -3,7 +3,7 @@
/**
* 学习进度工具计算类
- *
+ *
* @author xiadehu
*
*/
@@ -32,7 +32,7 @@
/**
* 合并学习进度
- *
+ *
* @param orig
* 已学习进度
* @param start
@@ -41,10 +41,10 @@
* 结束位置
* @return
*/
- public static int[][] merge(int[][] orig, int start, int end) {
+ public static Double[][] merge(Double[][] orig, Double start, Double end) {
// 中间合并结果
- int[][] result = new int[orig.length + 1][2];
+ Double[][] result = new Double[orig.length + 1][2];
int j = 0;
int i = 0;
@@ -57,13 +57,13 @@
switch (action) {
case ACTION_INSERT: {
- result[j++] = new int[] { start, end };
+ result[j++] = new Double[] { start, end };
result[j++] = orig[i];
breakFlag = true;
break;
}
case ACTION_MERGE_01: {
- result[j++] = new int[] { start, orig[i][1] };
+ result[j++] = new Double[] { start, orig[i][1] };
breakFlag = true;
break;
}
@@ -95,12 +95,14 @@
}
// 如果本次学习终止位置超出以往所有学习进度,则添加到最后
- if (orig.length == 0 || pos(end, orig[orig.length - 1]) == POS_AFTER) {
- result[j++] = new int[] { start, end };
+ if (orig.length == 0 ) {
+ result[j++] = new Double[] { start, end };
+ }else if(pos(end, orig[orig.length - 1]) == POS_AFTER){
+ result[j++] = new Double[] { start, end };
}
// 最终合并结果,去掉中间合并结果的多出为空的元素
- int[][] finalResult = new int[j][2];
+ Double[][] finalResult = new Double[j][2];
for (int k = 0; k < result.length; k++) {
if (result[k][0] == 0 && result[k][1] == 0 && k>0) {
@@ -115,23 +117,23 @@
/**
* 统计学习进度
- *
+ *
* @param orig
* 全部学习进度
* @return
*/
- public static int sum(int[][] orig) {
+ public static Double sum(Double[][] orig) {
- int sum = 0;
+ Double sum = 0.0;
- for (int[] item : orig) {
+ for (Double[] item : orig) {
sum += (item[1] - item[0] + 1);
}
return sum;
}
- private static int action(int[] segment, int start, int end) {
+ private static int action(Double[] segment, Double start, Double end) {
int startPos = pos(start, segment);
int endPos = pos(end, segment);
@@ -163,7 +165,7 @@
}
- private static int pos(int index, int[] range) {
+ private static int pos(Double index, Double[] range) {
if (index < range[0]) {
return POS_BEFORE;
}
diff --git a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/ChapterProgressService.java b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/ChapterProgressService.java
index 073637e..5ca3a11 100644
--- a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/ChapterProgressService.java
+++ b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/ChapterProgressService.java
@@ -15,7 +15,7 @@
public class ChapterProgressService extends CommonAppService implements IDetailProgressService {
@Override
- public Result addProgress(String targetId, String learnerId, int start, int end) {
+ public Result addProgress(String targetId, String learnerId, Double start, Double end) {
Progress p = new Progress();
TraceUtils.setCreateTrace(p);
p.setLearnerId(learnerId);
diff --git a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/ClassProgressService.java b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/ClassProgressService.java
index 8135abd..0b53d63 100644
--- a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/ClassProgressService.java
+++ b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/ClassProgressService.java
@@ -15,7 +15,7 @@
public class ClassProgressService extends CommonAppService implements IDetailProgressService {
@Override
- public Result addProgress(String targetId, String learnerId, int start, int end) {
+ public Result addProgress(String targetId, String learnerId, Double start, Double end) {
Progress p = new Progress();
TraceUtils.setCreateTrace(p);
p.setLearnerId(learnerId);
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 f447c80..5e41983 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
@@ -19,15 +19,15 @@
@Service("LectureProgressService")
public class LectureProgressService extends CommonAppService implements IDetailProgressService {
-
+
@Autowired
IClassLectureService lectureService;
-
+
/**
* 各类型课件进度服务实现
*/
private Map<String, IDetailProgressService> resItemServiceMap = new HashMap<String, IDetailProgressService>(6);
-
+
@Autowired
private ApplicationContext appContext;
@@ -37,27 +37,27 @@
addLectureProgressService(appContext.getBean("LectureAudioProgressService",IDetailProgressService.class));
addLectureProgressService(appContext.getBean("LectureDocProgressService",IDetailProgressService.class));
}
-
+
private void addLectureProgressService(IDetailProgressService service) {
resItemServiceMap.put(service.getType(), service);
}
-
+
@Override
- public Result addProgress(String targetId,String learnerId, int start, int end) {
+ public Result addProgress(String targetId,String learnerId, Double start, Double end) {
ClsSubjectLecture lecture = lectureService.readClsLecture(targetId);
-
+
String lectureType = null;
if(lecture == null) {
lectureType = this.read(SubjectLecture.class, targetId).getLectureType();
}else {
lectureType = lecture.getLectureType();
}
-
+
return resItemServiceMap.get(lectureType).addProgress(targetId, learnerId, start, end);
-
+
}
-
+
@Override
public String getType() {
return Progress.PROGRESS_TYPE_LECTURE;
diff --git a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/SubjectProgressService.java b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/SubjectProgressService.java
index 652dea4..0263098 100644
--- a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/SubjectProgressService.java
+++ b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/item/SubjectProgressService.java
@@ -15,7 +15,7 @@
public class SubjectProgressService extends CommonAppService implements IDetailProgressService {
@Override
- public Result addProgress(String targetId, String learnerId, int start, int end) {
+ public Result addProgress(String targetId, String learnerId, Double start, Double end) {
Progress p = new Progress();
TraceUtils.setCreateTrace(p);
p.setLearnerId(learnerId);
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 eb463b0..6257600 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
@@ -29,19 +29,19 @@
ProgressDAO dao;
@Override
- public Result addProgress(String targetId, String learnerId, int start, int end) {
+ public Result addProgress(String targetId, String learnerId, Double start, Double end) {
if (start > end || start < 0 || end < 0) {
return new Result(false, "invalid arguments");
}
- int[][] progress = dao.mergeProgress(targetId, learnerId, start, end , dao.getProgress(targetId, learnerId));
+ Double[][] progress = dao.mergeProgress(targetId, learnerId, start, end , dao.getProgress(targetId, learnerId));
if (!checkLecture(targetId).isSuccess()) {
return checkLecture(targetId);
}
- int sum = StudyProgressUtils.sum(progress);
+ Double sum = StudyProgressUtils.sum(progress);
Progress p = dao.getProgress(Progress.PROGRESS_TYPE_LECTURE, targetId, learnerId);
@@ -50,7 +50,7 @@
} else {
updateProgress(targetId, p, sum);
}
-
+
//保存学习记录明细
this.saveProgressDetail(start, end, targetId, p.getProgressId(), learnerId);
@@ -67,17 +67,17 @@
protected Result checkLecture(String targetId) {
return new Result(true);
}
-
+
/**
* 保存学习记录明细
- *
+ *
* @param start
* @param end
* @param targetId
* @param progressId
* @param learnerId
*/
- private void saveProgressDetail(int start, int end, String targetId, String progressId, String learnerId) {
+ private void saveProgressDetail(Double start, Double end, String targetId, String progressId, String learnerId) {
SubjectLectureProgressDetail detail = new SubjectLectureProgressDetail();
detail.setDeleteFlag(false);
detail.setEnd(end);
@@ -85,20 +85,20 @@
detail.setTargetId(targetId);
detail.setProgressId(progressId);
detail.setLearnerId(learnerId);
-
+
TraceUtils.setCreateTrace(detail);
-
+
this.save(detail);
}
/**
* 获取进度百分比
- *
+ *
* @param targetId
* @param sum
* @return
*/
- protected double getProgressPercent(String targetId, int sum) {
+ protected double getProgressPercent(String targetId, Double sum) {
return 1.00d;
}
@@ -107,17 +107,17 @@
return Progress.PROGRESS_TYPE_LECTURE;
}
- protected void updateProgress(String targetId, Progress p, int sum) {
+ protected void updateProgress(String targetId, Progress p, Double sum) {
TraceUtils.setUpdateTrace(p);
- p.setProgressValue(BigDecimal.valueOf(Long.valueOf(sum)));
+ p.setProgressValue(BigDecimal.valueOf(Double.valueOf(sum)));
p.setProgressPercent(1d);
save(p);
}
- protected Progress newProgress(String targetId, String learnerId, int sum) {
+ protected Progress newProgress(String targetId, String learnerId, Double sum) {
Progress p = new Progress();
TraceUtils.setCreateTrace(p);
@@ -125,12 +125,12 @@
p.setLearnerId(learnerId);
p.setLearnerName(ClientUtils.getUserName());
p.setProgressUnit("s");
- p.setProgressValue(BigDecimal.valueOf(Long.valueOf(sum)));
+ p.setProgressValue(BigDecimal.valueOf(Double.valueOf(sum)));
p.setTargetId(targetId);
p.setType(Progress.PROGRESS_TYPE_LECTURE);
p.setProgressPercent(1d);
save(p);
-
+
return p;
}
diff --git a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureDocProgressService.java b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureDocProgressService.java
index a743f45..bc19ac7 100644
--- a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureDocProgressService.java
+++ b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureDocProgressService.java
@@ -25,13 +25,13 @@
/**
* 获取进度百分比
- *
+ *
* @param targetId
* @param sum
* @return
*/
@Override
- public double getProgressPercent(String targetId, int sum) {
+ public double getProgressPercent(String targetId, Double sum) {
LectureDocV LectureDoc = lectureService.readDocLecture(targetId);
@@ -39,7 +39,7 @@
}
@Override
- public Progress newProgress(String targetId, String learnerId, int sum) {
+ public Progress newProgress(String targetId, String learnerId, Double sum) {
Progress p = new Progress();
TraceUtils.setCreateTrace(p);
@@ -47,21 +47,21 @@
p.setLearnerId(learnerId);
p.setLearnerName(ClientUtils.getUserName());
p.setProgressUnit("s");
- p.setProgressValue(BigDecimal.valueOf(Long.valueOf(sum)));
+ p.setProgressValue(BigDecimal.valueOf(Double.valueOf(sum)));
p.setTargetId(targetId);
p.setType(Progress.PROGRESS_TYPE_LECTURE);
p.setProgressPercent(getProgressPercent(targetId, sum));
save(p);
-
+
return p;
}
@Override
- public void updateProgress(String targetId, Progress p, int sum) {
+ public void updateProgress(String targetId, Progress p, Double sum) {
TraceUtils.setUpdateTrace(p);
- p.setProgressValue(BigDecimal.valueOf(Long.valueOf(sum)));
+ p.setProgressValue(BigDecimal.valueOf(Double.valueOf(sum)));
if(p.getProgressPercent() == null || getProgressPercent(targetId, sum)>p.getProgressPercent()) {
p.setProgressPercent(getProgressPercent(targetId, sum));
}
diff --git a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureVideoProgressService.java b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureVideoProgressService.java
index 5b507a7..d3a7745 100644
--- a/src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureVideoProgressService.java
+++ b/src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureVideoProgressService.java
@@ -25,7 +25,7 @@
/**
* 获取进度百分比
- *
+ *
* @param targetId
* @param sum
* @return
@@ -38,7 +38,7 @@
}
@Override
- public Progress newProgress(String targetId, String learnerId, int sum) {
+ public Progress newProgress(String targetId, String learnerId, Double sum) {
Progress p = new Progress();
TraceUtils.setCreateTrace(p);
@@ -46,21 +46,21 @@
p.setLearnerId(learnerId);
p.setLearnerName(ClientUtils.getUserName());
p.setProgressUnit("s");
- p.setProgressValue(BigDecimal.valueOf(Long.valueOf(sum)));
+ p.setProgressValue(BigDecimal.valueOf(Double.valueOf(sum)));
p.setTargetId(targetId);
p.setType(Progress.PROGRESS_TYPE_LECTURE);
p.setProgressPercent(getProgressPercent(targetId, sum));
save(p);
-
+
return p;
}
@Override
- public void updateProgress(String targetId, Progress p, int sum) {
+ public void updateProgress(String targetId, Progress p, Double sum) {
TraceUtils.setUpdateTrace(p);
- p.setProgressValue(BigDecimal.valueOf(Long.valueOf(sum)));
+ p.setProgressValue(BigDecimal.valueOf(Double.valueOf(sum)));
if(p.getProgressPercent() == null || getProgressPercent(targetId, sum)>p.getProgressPercent()) {
p.setProgressPercent(getProgressPercent(targetId, sum));
}
diff --git a/src/main/java/com/qxueyou/scc/base/util/ClientUtils.java b/src/main/java/com/qxueyou/scc/base/util/ClientUtils.java
index ca4ad36..42adb45 100644
--- a/src/main/java/com/qxueyou/scc/base/util/ClientUtils.java
+++ b/src/main/java/com/qxueyou/scc/base/util/ClientUtils.java
@@ -3,7 +3,11 @@
import java.util.List;
import java.util.Map;
+import com.qxueyou.scc.base.dao.AbstractRedisTemplate;
+import com.qxueyou.scc.base.dao.CommonRedisTemplate;
import com.qxueyou.scc.base.model.UserInfoWrapper;
+import com.qxueyou.scc.base.service.impl.RedisCacheBean;
+import com.qxueyou.scc.sys.utils.SpringContextHolder;
import org.apache.commons.lang3.StringUtils;
import com.qxueyou.scc.base.model.Constants;
@@ -11,9 +15,17 @@
import com.qxueyou.scc.sys.model.ResponseResult;
import com.qxueyou.scc.sys.model.SysMenu;
import com.qxueyou.scc.user.model.User;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.cache.RedisCache;
+import org.springframework.data.redis.cache.RedisCacheManager;
+import org.springframework.data.redis.core.RedisAccessor;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Repository;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
+import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@@ -32,18 +44,26 @@
private static ThreadLocal<UserInfoWrapper> threadLocalUserInfo = new ThreadLocal<UserInfoWrapper>();
private static UserInfoWrapper wrapper = threadLocalUserInfo.get();
+ private static RedisTemplate redisTemplate = (RedisTemplate)SpringContextHolder.getBean("redisTemplate");
+
/** 得到用户信息*/
public static UserInfoWrapper getUserInfo() {
- UserInfoWrapper wrapper = threadLocalUserInfo.get();
- if(wrapper == null){
- wrapper = new UserInfoWrapper();
- User user = new User();
- //默认值,上传可以作为默认上传者
- user.setUserId(Constants.VISITOR_USER_ID);
- user.setName(Constants.VISITOR_USER_ID);
- wrapper.setUser(user);
- setUserInfo(wrapper);
- }
+// UserInfoWrapper wrapper = threadLocalUserInfo.get();
+// if(wrapper == null) {
+ wrapper = (UserInfoWrapper)redisTemplate.opsForValue().get(UserInfoWrapper.SESSION_USER_INFO_KEY);
+ if (wrapper == null) {
+ wrapper = new UserInfoWrapper();
+ User user = new User();
+ //默认值,上传可以作为默认上传者
+ user.setUserId(Constants.VISITOR_USER_ID);
+ user.setName(Constants.VISITOR_USER_ID);
+ wrapper.setUser(user);
+ setUserInfo(wrapper);
+ }
+// }
+// else{
+// redisTemplate.opsForValue().set(UserInfoWrapper.SESSION_USER_INFO_KEY,wrapper);
+// }
return wrapper;
}
@@ -62,8 +82,6 @@
String info = getUserInfo().getInfo(UserInfoWrapper.INF_USER_ID);
if(info.equals("visitor_001")){
info= (String) session.getAttribute(UserInfoWrapper.INF_USER_ID);
- }else {
- session.setAttribute(UserInfoWrapper.INF_USER_ID,info);
}
return info;
}
diff --git a/src/main/java/com/qxueyou/scc/controller/CoursewareController.java b/src/main/java/com/qxueyou/scc/controller/CoursewareController.java
index 81b356a..0e80ceb 100644
--- a/src/main/java/com/qxueyou/scc/controller/CoursewareController.java
+++ b/src/main/java/com/qxueyou/scc/controller/CoursewareController.java
@@ -4,6 +4,7 @@
import java.util.List;
import java.util.Map;
+import com.qxueyou.scc.admin.classes.service.IClassLectureService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -31,7 +32,7 @@
/**
* 课件控制器
- *
+ *
* @author chenjunliang
*
*/
@@ -44,6 +45,9 @@
ILectureService lectureService;
@Autowired
+ IClassLectureService classLectureService;
+
+ @Autowired
IResService resService;
@Autowired
@@ -51,7 +55,7 @@
/**
* 加载课件tree
- *
+ *
* @param parentId
* 父节点id
*/
@@ -66,7 +70,7 @@
/**
* 获取课件列表
- *
+ *
* @param chapterId
* 章节id
* @param type
@@ -97,7 +101,7 @@
/**
* 查看课件
- *
+ *
* @param id
* 课件id
* @param attribute
@@ -122,7 +126,7 @@
/**
* 删除课件
- *
+ *
* @param id
* 课件ids
*/
@@ -135,7 +139,7 @@
/**
* 课件的复制
- *
+ *
* @param id
* 课件id
* @param type
@@ -156,7 +160,7 @@
/**
* 课件的移动
- *
+ *
* @param id
* 课件id
* @param type
@@ -175,7 +179,7 @@
/**
* 课件管理 新增下级,同级
- *
+ *
* @param type
* (add:新增,edit :编辑)
* @param chapterId
@@ -186,7 +190,7 @@
* 名称
* @param childFlag
* 是否操作下级
- *
+ *
*/
@PostMapping(value = "addOrUpdateChapter")
public Result addOrUpdateChapter(String type, String name, String chapterId, String subjectId, boolean childFlag) {
@@ -204,7 +208,7 @@
/**
* 课件管理 目录删除
- *
+ *
* @param chapterId
* 目录id
*/
@@ -215,7 +219,7 @@
/**
* 添加/更新(视频,讲义,音频)
- *
+ *
* @param name
* 名称
* @param coverUrl
@@ -256,7 +260,7 @@
/**
* 编辑 获取内容
- *
+ *
* @param id
* 课件id
*/
@@ -275,7 +279,7 @@
/**
* 课件获取资源列表
- *
+ *
* @param dirId
* 目录Id
* @param limit
@@ -298,12 +302,12 @@
/**
* 课件从资源选择后保存
- *
+ *
* @param resId
* 资源文件id
* @param sectionId
* 小节id
- *
+ *
*/
@GetMapping(value = "saveCourseware4Res")
public Result saveCourseware4Res(String resId, String sectionId) {
@@ -321,7 +325,7 @@
/**
* 获取练习成绩列表
- *
+ *
* @param subjectId
* 课程id
* @param exerciseId
@@ -330,7 +334,7 @@
* 每页显示几条
* @param pageNum
* 页码
- *
+ *
*/
@GetMapping(value = "lstExerciseScore")
public Result lstExerciseScore(String subjectId, String exerciseId, Integer pageSize, Integer pageNum) {
@@ -349,7 +353,7 @@
/**
* 练习成绩的导出
- *
+ *
* @param subjectId
* 课程id
* @param exerciseId练习id
diff --git a/src/main/java/com/qxueyou/scc/stucontroller/StuSubjectController.java b/src/main/java/com/qxueyou/scc/stucontroller/StuSubjectController.java
index df8746e..fe85608 100644
--- a/src/main/java/com/qxueyou/scc/stucontroller/StuSubjectController.java
+++ b/src/main/java/com/qxueyou/scc/stucontroller/StuSubjectController.java
@@ -39,7 +39,7 @@
/**
* 学习端 课程前端控制器
- *
+ *
* @author chenjunliang
*
*/
@@ -63,17 +63,17 @@
@Autowired
ProgressDAO progressDao;
-
+
@Autowired
ITopicService topicService;
-
+
@Autowired
IEvaluateService evaluateService;
-
+
//--------------------------------------------------------------app端接口---------------------------------------------------------------------------------------------------
/**
* 学习端获取 所有课件
- *
+ *
* @param classId
* @return 状态说明(0,视频。1,音频。2,文档。3,练习。)
*/
@@ -87,11 +87,11 @@
System.out.println(classId);
return clsLectureService.listSubjectLecture(CommonUtils.getClassId(classId), sort, pager);
}
-
+
/**
- *
+ *
* 学习端获取课程列表
- *
+ *
*/
@ApiOperation(value = "学习端获取课程学年列表")
@ApiImplicitParams({
@@ -107,14 +107,14 @@
List<Map<String, Object>> lstSubject = subjectService.clsSubjectlist(classId, null, null);
//组装的学期和课程
List<Map<String, Object>> lstTerm = subjectService.termSubjectList(classId, lstSubject);
-
+
return new Result(true, "success",CollectionUtils.newObjectMap("termList", lstTerm, "allSubject", lstSubject));
}
-
+
/**
- *
+ *
* 学习端获取课程列表
- *
+ *
*/
@ApiOperation(value = "我的课程按学期分类")
@ApiImplicitParams({
@@ -129,11 +129,11 @@
}
return new Result(true, "success",subjectService.myTermSubjectList(classId));
}
-
+
/**
- *
+ *
* 学习端获取课程列表
- *
+ *
*/
@ApiOperation(value = "我的课程按时间排序")
@ApiImplicitParams({
@@ -147,10 +147,10 @@
return new Result(true, "success",
CollectionUtils.newObjectMap("count", count, "listData", subjectService.mySubjectList(classId, pager)));
}
-
+
/**
* 我的课程详情
- *
+ *
* @param subjectId
* @param classId
* @return
@@ -171,11 +171,11 @@
}
return new Result(true, "success", subjectService.mySubjectInfo(subjectId, classId));
}
-
+
/**
- *
+ *
* 学习端获取课程列表
- *
+ *
*/
@ApiOperation(value = "我的班级信息")
@ApiImplicitParams({
@@ -189,11 +189,11 @@
}
return new Result(true, "success",subjectService.myClassInfo(classId));
}
-
+
/**
- *
+ *
* 学习端获取课程列表
- *
+ *
*/
@ApiOperation(value = "学习端获取课程列表")
@ApiImplicitParams({
@@ -205,11 +205,11 @@
public Result subjectList(String classId, Integer schoolYear, Integer term) {
return new Result(true, "success",subjectService.clsSubjectlist(CommonUtils.getClassId(classId), schoolYear, term));
}
-
+
/**
- *
+ *
* 学习端获取课程列表
- *
+ *
*/
@ApiOperation(value = "学习端获取课程下课件,按创建时间排序")
@ApiImplicitParams({
@@ -220,11 +220,11 @@
public Result listLectureBySubject(String subjectId, String classId, @RequestParam(defaultValue="desc")String sort, Pager pager) {
return new Result(true, "success",clsLectureService.listLectureBySubjectOrderCreateTime(subjectId, CommonUtils.getClassId(classId), sort, pager));
}
-
+
/**
- *
+ *
* 学习端获取其他课件统计
- *
+ *
*/
@ApiOperation(value = "学习端获取其他课件统计")
@GetMapping(value = "/app/otherLectureCount")
@@ -232,11 +232,11 @@
return new Result(true, "success", CollectionUtils.newObjectMap("topicCount",
topicService.getClassTopicCount(ClientUtils.getClassId()), "evaluate", this.evaluateService.queryStuEvaluateCount()));
}
-
+
/**
- *
+ *
* 学习端获取课程列表
- *
+ *
*/
@ApiOperation(value = "学习端获取课程下课件,按目录分类", notes = "")
@ApiImplicitParams({
@@ -247,45 +247,45 @@
@GetMapping(value = "/app/coursewareList")
public Result coursewareList(String classId,String subjectId, String type) {
classId = CommonUtils.getClassId(classId);
-
+
if(StringUtils.isEmpty(subjectId)) {
return new Result(false, "课程id不能为空");
}
-
+
return this.clsLectureService.coursewareChapterList(classId, subjectId, type);
-
+
}
-
+
/**
* 我的公开课列表
- *
+ *
*/
@ApiOperation(value = "我的公开课列表", notes = "")
@GetMapping(value = "/app/myOpenSubjectList")
public Result myOpenSubjectList(Pager pager, @RequestParam(defaultValue = "")String keyword) {
return new Result(true, "success", this.subjectService.myOpenSubjectList(pager.getOffset(), pager.getPageSize(), keyword));
}
-
+
/**
* 公开课列表
- *
+ *
*/
@ApiOperation(value = "公开课列表", notes = "")
@GetMapping(value = "/app/openSubjectList")
public Result openSubjectList(Pager pager, @RequestParam(defaultValue = "")String keyword) {
return new Result(true, "success", this.subjectService.openSubjectList(pager.getOffset(), pager.getPageSize(), keyword));
}
-
+
/**
* 公开课详情
- *
+ *
*/
@ApiOperation(value = "公开课详情", notes = "")
@GetMapping(value = "/app/openSubjectInfo")
public Result openSubjectInfo(@RequestParam(defaultValue = "")String subjectId) {
return new Result(true, "success", this.subjectService.openSubjectInfo(subjectId));
}
-
+
//--------------------------------------------------------后台端接口---------------------------------------------------------------------------------------------------
/**
@@ -303,14 +303,14 @@
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")));
}
-
+
/**
* 学习端获取 所有课件
- *
+ *
* @param classId
* @return 状态说明(0,视频。1,音频。2,文档。3,练习。)
*/
@@ -331,7 +331,7 @@
/**
* 获取课件列表
- *
+ *
* @param chapterId
* 章节id
* @param type
@@ -365,7 +365,7 @@
/**
* 课件学习进度提交 stu/subject/study
- *
+ *
* @param lectureId
* 课件id
* @param from
@@ -394,7 +394,7 @@
/**
* 音频时长提交 stu/subject/submitAudioDuration
- *
+ *
* @param lectureId
* 课件id
* @param seconds
@@ -417,7 +417,7 @@
/**
* 课程列表
- *
+ *
* @param clssId
* 班级id
* @param startTime
@@ -431,6 +431,9 @@
@GetMapping(value = "getSubjectLst")
public Result getList(String userId,String classId, String startTime, Integer limit, @RequestParam(defaultValue="1")Integer pageNum, HttpServletRequest request) {
userId = StringUtils.isEmpty(userId)?ClientUtils.getUserId():userId;
+ if(userId == null || userId == ""){
+ userId = ClientUtils.getUserId();
+ }
classId = StringUtils.isEmpty(classId)?ClientUtils.getClassId():classId;
List<MySubjectV> result = subjectService.listMySubjectV(classId,userId);
return new Result(true, "success",
@@ -442,7 +445,7 @@
/**
* 进入课程
- *
+ *
* @param subjectId
* 课程id
*/
diff --git a/src/main/java/com/qxueyou/scc/sys/action/LoginController.java b/src/main/java/com/qxueyou/scc/sys/action/LoginController.java
index 7207676..917dbe2 100644
--- a/src/main/java/com/qxueyou/scc/sys/action/LoginController.java
+++ b/src/main/java/com/qxueyou/scc/sys/action/LoginController.java
@@ -3,6 +3,7 @@
import java.util.List;
import java.util.Map;
+import javax.annotation.Resource;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -13,6 +14,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
@@ -85,6 +88,9 @@
@Autowired
IStudentService studentService;
+
+ @Resource
+ RedisTemplate redisTemplate;
@Autowired
private IOrganizationService organizationService;
@@ -216,6 +222,7 @@
public void khdloginout(HttpServletRequest request, HttpServletResponse response) {
System.out.println("清除session");
HttpSession session = request.getSession();
+ redisTemplate.delete(UserInfoWrapper.SESSION_USER_INFO_KEY);
System.out.println(session.getAttribute("userId"));
System.out.println(session.getAttribute("classId"));
session.invalidate();
@@ -255,7 +262,10 @@
param.setIp(RequestClientUtils.getRemoteIP(request));
// 缓存到请求线程
UserInfoWrapper wrapper = cacheUserInfo(param, null);
+ // 存到redis
+ redisTemplate.opsForValue().set(UserInfoWrapper.SESSION_USER_INFO_KEY, wrapper);
request.getSession().setAttribute(UserInfoWrapper.SESSION_USER_INFO_KEY, wrapper);
+
return new Result(true, "success",
CollectionUtils.newObjectMap("userId", user.getUserId(), "userName", user.getName(), "imgPath",
user.getImgPath(), "orgName", ClientUtils.getOrgName(),"orgId", ClientUtils.getOrgId(), "orgLogo",
@@ -358,6 +368,8 @@
param.setIp(RequestClientUtils.getRemoteIP(request));
// 缓存到请求线程
UserInfoWrapper wrapper = cacheUserInfo(param, null);
+ // 存到redis
+ redisTemplate.opsForValue().set(UserInfoWrapper.SESSION_USER_INFO_KEY, wrapper);
request.getSession().setAttribute(UserInfoWrapper.SESSION_USER_INFO_KEY, wrapper);
if ("study".equals(logType)) {
/*if (StringUtils.isEmpty(ClientUtils.getClassId()) && user.getRoles() == null) {
@@ -505,6 +517,7 @@
private void doRelease(HttpServletRequest httpRequest, HttpServletResponse response) {
HttpSession se = httpRequest.getSession();
se.removeAttribute(UserInfoWrapper.SESSION_USER_INFO_KEY);
+ redisTemplate.delete(UserInfoWrapper.SESSION_USER_INFO_KEY);
se.invalidate();
}
diff --git a/src/main/java/com/qxueyou/scc/sys/utils/SpringContextHolder.java b/src/main/java/com/qxueyou/scc/sys/utils/SpringContextHolder.java
new file mode 100644
index 0000000..ca31083
--- /dev/null
+++ b/src/main/java/com/qxueyou/scc/sys/utils/SpringContextHolder.java
@@ -0,0 +1,76 @@
+package com.qxueyou.scc.sys.utils;
+
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+@Component
+public class SpringContextHolder implements ApplicationContextAware {
+
+ /**
+ * 以静态变量保存ApplicationContext,可在任意代码中取出ApplicaitonContext.
+ */
+ private static ApplicationContext context;
+
+ /**
+ * 实现ApplicationContextAware接口的context注入函数, 将其存入静态变量.
+ */
+
+ @Override
+ public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+ SpringContextHolder.context = applicationContext;
+ }
+
+ /**
+ * 获取applicationContext
+ * @return
+ */
+ public ApplicationContext getApplicationContext() {
+ return context;
+ }
+
+ /**
+ * 通过name获取 Bean.
+ * @param name
+ * @return
+ */
+ public static Object getBean(String name){
+ return context.getBean(name);
+ }
+
+ /**
+ * 通过class获取Bean.
+ * @param <T>
+ * @param clazz
+ * @return
+ */
+ public static <T> Map<String, T> getBeans(Class<T> clazz){
+ return context.getBeansOfType(clazz);
+ }
+
+ /**
+ * 通过class获取Bean.
+ * @param clazz
+ * @param <T>
+ * @return
+ */
+ public static <T> T getBean(Class<T> clazz){
+ return context.getBean(clazz);
+ }
+
+ /**
+ * 通过name,以及Clazz返回指定的Bean
+ * @param name
+ * @param clazz
+ * @param <T>
+ * @return
+ */
+ public static <T> T getBean(String name, Class<T> clazz){
+ return context.getBean(name, clazz);
+ }
+}
+
+
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 37b1585..9fc2b12 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
@@ -2,6 +2,7 @@
import java.util.List;
+import com.qxueyou.scc.admin.classes.service.IClassLectureService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
@@ -47,6 +48,9 @@
@Autowired
IProgressService progressService;
+ @Autowired
+ IClassLectureService clsLectureService;
+
@Override
public Result addChapter(String subjectId, String parentChapterId, String name) {
@@ -87,7 +91,7 @@
/**
* 删除单个章节
- *
+ *
* @param chapterId
* 章节id
* @return
@@ -138,7 +142,7 @@
/**
* 初始化
- *
+ *
* @param subjectId
* @return
*/
@@ -173,6 +177,7 @@
lecture.setRemark(res.getRemark());
lecture.setSubjectId(chapter.getSubjectId());
lecture.setResItemId(res.getResId());
+
save(lecture);
@@ -209,7 +214,7 @@
}
/**
- *
+ *
* @param lectureId
* 课件id
* @return
@@ -277,14 +282,14 @@
@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");
-
+
List<Object> args = CollectionUtils.newList(chapterId,'%' + keyword.trim() + '%');
if (StringUtils.isNotEmpty(type)) {
hql.append(" and lectureType=?");
args.add(type);
}
-
+
return findCount(hql.toString(),args);
}
@@ -365,7 +370,7 @@
@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(),
+ return progressService.addProgress(Progress.PROGRESS_TYPE_LECTURE, lectureId, from.doubleValue(), to.doubleValue(),
userId);
}
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 1a79549..ab5edb5 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
@@ -108,6 +108,7 @@
@Autowired
private IMediaLiveService mediaLiveService;
+
@Override
public Result add(String subjectName,String coverPageFileId, String contentFileId,int type) {
@@ -445,8 +446,8 @@
@Override
public MySubjectV getMy1stSubjectVById(String subjectId) {
String hql = "from MySubjectV p where p.id.userId=? and p.id.subjectId=?";
-
- MySubjectV result = findUnique(hql, CollectionUtils.newList(ClientUtils.getUserId(), subjectId),
+ String UserId = ClientUtils.getUserId();
+ MySubjectV result = findUnique(hql, CollectionUtils.newList(UserId, subjectId),
MySubjectV.class);
return result;
@@ -522,8 +523,10 @@
//清理并复制原课程
clsLectureService.doClearLecturesToClass(classId,subjectId);
clsLectureService.doCopyLecturesToClass(origSubjectId, subjectId, classId);
+ }else {
+ clsLectureService.doClearLecturesToClass(classId,subjectId);
+ clsLectureService.doCopyLecturesToClass(origSubjectId, subjectId, classId);
}
-
TraceUtils.setUpdateTrace(subject);
subject.setTeacherId(teacherId);
subject.setTeacherName(teacher.getName());
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index ae282df..f24321d 100644
--- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -316,6 +316,7 @@
com\qxueyou\scc\base\dao\BaseDAO$2.class
com\qxueyou\scc\teach\subject\dao\SubjectDAO.class
com\qxueyou\scc\exercise\action\ExerciseDeepAnaController.class
+com\qxueyou\scc\exam\dao\ExamResultVDao.class
com\qxueyou\scc\exercise\service\impl\ExerciseGroupService$1.class
com\qxueyou\scc\admin\score\dao\HomeworkScoreVDAO.class
com\qxueyou\scc\operation\comment\mode\QSnsMyPraise.class
@@ -382,6 +383,7 @@
com\qxueyou\scc\user\service\IUserService.class
com\qxueyou\scc\sys\service\IPrivilegeService.class
com\qxueyou\scc\school\model\SchClassCard.class
+com\qxueyou\scc\admin\schoolRoll\ISchoolRollService.class
com\qxueyou\scc\base\dao\ReidsSharedPoolWrapper.class
com\qxueyou\scc\user\model\User.class
com\qxueyou\scc\org\service\IOrganizationService.class
@@ -534,6 +536,7 @@
com\qxueyou\scc\media\dao\MediaVideoDAO.class
com\qxueyou\scc\school\model\StudentEvaCategory.class
com\qxueyou\scc\stucontroller\StuExamController.class
+com\qxueyou\scc\admin\schoolRoll\impl\SchoolRollServiceImpl.class
com\qxueyou\scc\operation\topic\service\impl\TopicService.class
com\qxueyou\scc\sys\service\ITestService.class
com\qxueyou\scc\org\model\OrgCourseData.class
@@ -566,6 +569,7 @@
com\qxueyou\scc\school\service\impl\SchoolDayService.class
com\qxueyou\scc\user\model\QUserRole.class
com\qxueyou\scc\school\service\IScoreChangeService.class
+com\qxueyou\scc\controller\SchoolRollController.class
com\qxueyou\scc\controller\EvaluateController.class
com\qxueyou\scc\base\util\Base64Utils.class
com\qxueyou\scc\base\util\TraceUtils.class
@@ -782,6 +786,7 @@
com\qxueyou\scc\exercise\model\ExerciseExtendRecordData.class
com\qxueyou\scc\school\service\impl\NoteService.class
com\qxueyou\scc\exercise\model\QExerciseFaultBook.class
+com\qxueyou\scc\admin\score\action\ScoreController.class
com\qxueyou\scc\base\handler\QCacheRedis.class
com\qxueyou\scc\school\model\QSchRankHis.class
com\qxueyou\scc\school\dao\RankDAO.class
--
Gitblit v1.8.0