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