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/impl/StudyProgressUtils.java |   32 +++++++++++++++++---------------
 1 files changed, 17 insertions(+), 15 deletions(-)

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;
 		}

--
Gitblit v1.8.0