From 8c99e2d8b6c1e0d9cde6abbe80b4df75be19f6d1 Mon Sep 17 00:00:00 2001
From: Administrator <2863138610@qq.com>
Date: 星期二, 29 十一月 2022 16:31:18 +0800
Subject: [PATCH] 课程与课件bug修复

---
 src/main/java/com/qxueyou/scc/admin/progress/service/impl/lecture/LectureCommonProgressService.java |   40 ++++++++++++++++++++++++++++++----------
 1 files changed, 30 insertions(+), 10 deletions(-)

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 6257600..cc53f58 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
@@ -1,7 +1,10 @@
 package com.qxueyou.scc.admin.progress.service.impl.lecture;
 
 import java.math.BigDecimal;
+import java.util.Date;
 
+import com.qxueyou.scc.admin.classes.model.ClsSubjectLecture;
+import com.qxueyou.scc.admin.classes.service.impl.ClassLectureService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -28,20 +31,23 @@
 	@Autowired
 	ProgressDAO dao;
 
+	@Autowired
+	ClassLectureService classLectureService;
+
 	@Override
-	public Result addProgress(String targetId, String learnerId, Double start, Double end) {
+	public Result addProgress(String targetId, String learnerId, int start, int end) {
 
 		if (start > end || start < 0 || end < 0) {
 			return new Result(false, "invalid arguments");
 		}
 
-		Double[][] progress = dao.mergeProgress(targetId, learnerId, start, end , dao.getProgress(targetId, learnerId));
+		int[][] progress = dao.mergeProgress(targetId, learnerId, start, end , dao.getProgress(targetId, learnerId));
 
 		if (!checkLecture(targetId).isSuccess()) {
 			return checkLecture(targetId);
 		}
 
-		Double sum = StudyProgressUtils.sum(progress);
+		int sum = StudyProgressUtils.sum(progress);
 
 		Progress p = dao.getProgress(Progress.PROGRESS_TYPE_LECTURE, targetId, learnerId);
 
@@ -53,6 +59,8 @@
 
 		//保存学习记录明细
 		this.saveProgressDetail(start, end, targetId, p.getProgressId(), learnerId);
+
+		classLectureService.updateLecturetime(targetId);
 
 		SubjectProgressTreeV subjectProgressTreeV = dao.getSubjectProgressTreeV(targetId, learnerId);
 
@@ -77,7 +85,7 @@
 	 * @param progressId
 	 * @param learnerId
 	 */
-	private void saveProgressDetail(Double start, Double end, String targetId, String progressId, String learnerId) {
+	private void saveProgressDetail(int start, int end, String targetId, String progressId, String learnerId) {
 		SubjectLectureProgressDetail detail = new SubjectLectureProgressDetail();
 		detail.setDeleteFlag(false);
 		detail.setEnd(end);
@@ -85,10 +93,14 @@
 		detail.setTargetId(targetId);
 		detail.setProgressId(progressId);
 		detail.setLearnerId(learnerId);
+		detail.setCreator(ClientUtils.getUserName());
+		detail.setCreateId(ClientUtils.getUserId());
+		detail.setCreateTime(new Date());
+		detail.setUpdateTime(new Date());
 
 		TraceUtils.setCreateTrace(detail);
 
-		this.save(detail);
+		save(detail);
 	}
 
 	/**
@@ -98,7 +110,8 @@
 	 * @param sum
 	 * @return
 	 */
-	protected double getProgressPercent(String targetId, Double sum) {
+	protected double getProgressPercent(String targetId, int sum) {
+
 		return 1.00d;
 	}
 
@@ -107,17 +120,17 @@
 		return Progress.PROGRESS_TYPE_LECTURE;
 	}
 
-	protected void updateProgress(String targetId, Progress p, Double sum) {
+	protected void updateProgress(String targetId, Progress p, int sum) {
 
 		TraceUtils.setUpdateTrace(p);
-		p.setProgressValue(BigDecimal.valueOf(Double.valueOf(sum)));
+		p.setProgressValue(BigDecimal.valueOf(Long.valueOf(sum)));
 		p.setProgressPercent(1d);
 
 		save(p);
 
 	}
 
-	protected Progress newProgress(String targetId, String learnerId, Double sum) {
+	protected Progress newProgress(String targetId, String learnerId, int sum) {
 
 		Progress p = new Progress();
 		TraceUtils.setCreateTrace(p);
@@ -125,10 +138,17 @@
 		p.setLearnerId(learnerId);
 		p.setLearnerName(ClientUtils.getUserName());
 		p.setProgressUnit("s");
-		p.setProgressValue(BigDecimal.valueOf(Double.valueOf(sum)));
+		p.setProgressValue(BigDecimal.valueOf(Long.valueOf(sum)));
 		p.setTargetId(targetId);
 		p.setType(Progress.PROGRESS_TYPE_LECTURE);
 		p.setProgressPercent(1d);
+		p.setDeleteFlag(false);
+		p.setCreator(ClientUtils.getUserName());
+		p.setCreateId(ClientUtils.getUserId());
+		p.setCreateTime(new Date());
+		p.setUpdator(ClientUtils.getUserName());
+		p.setUpdateId(ClientUtils.getUserId());
+		p.setUpdateTime(new Date());
 		save(p);
 
 		return p;

--
Gitblit v1.8.0