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