yuhongqi 2 недель назад
Родитель
Сommit
a629f8e164

+ 2 - 3
fs-user-app/src/main/java/com/fs/app/controller/live/LiveCompletionPointsController.java

@@ -219,11 +219,10 @@ public class LiveCompletionPointsController extends AppBaseController {
             // 使用RemainingTime和videoDuration计算完课比例
             // 先计算基于videoDuration的剩余时长
             if (videoDuration != null && videoDuration > 0) {
-                Long remainingTimeForVideo = Math.max(0, targetDuration - watchDuration); // 基于视频总时长的剩余时长
-                Long watchedTime = videoDuration - remainingTimeForVideo; // 已观看时长 = 视频总时长 - 剩余时长
+                Long watchedTime = vo.getWatchDuration(); // 已观看时长 = 视频总时长 - 剩余时长
                 BigDecimal completionRate = BigDecimal.valueOf(watchedTime)
                         .multiply(BigDecimal.valueOf(100))
-                        .divide(BigDecimal.valueOf(videoDuration), 2, java.math.RoundingMode.HALF_UP);
+                        .divide(BigDecimal.valueOf(targetDuration), 2, java.math.RoundingMode.HALF_UP);
                 if (completionRate.compareTo(BigDecimal.valueOf(100)) > 0) {
                     completionRate = BigDecimal.valueOf(100);
                 }