|
|
@@ -1037,6 +1037,15 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 缓冲比例校验:仅允许 0~100,防止异常上报把流量算爆
|
|
|
+ */
|
|
|
+ private boolean isValidBufferRate(BigDecimal bufferRate) {
|
|
|
+ return bufferRate != null
|
|
|
+ && bufferRate.compareTo(BigDecimal.ZERO) >= 0
|
|
|
+ && bufferRate.compareTo(new BigDecimal("100")) <= 0;
|
|
|
+ }
|
|
|
+
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public R getInternetTraffic(FsUserCourseVideoFinishUParam param) {
|
|
|
@@ -1045,6 +1054,10 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService {
|
|
|
logger.error("【缓冲值空】参数: {}", param);
|
|
|
return R.error("缓冲值空");
|
|
|
}
|
|
|
+ if (!isValidBufferRate(param.getBufferRate())) {
|
|
|
+ logger.error("【缓冲比例异常】bufferRate={}, 参数: {}", param.getBufferRate(), param);
|
|
|
+ return R.error("缓冲比例异常");
|
|
|
+ }
|
|
|
FsCourseTrafficLog trafficLog = new FsCourseTrafficLog();
|
|
|
trafficLog.setQwExternalContactId(param.getQwExternalId());
|
|
|
trafficLog.setCreateTime(new Date());
|
|
|
@@ -1095,6 +1108,10 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService {
|
|
|
logger.error("【公开课缓冲值空】参数: {}", param);
|
|
|
return R.error("缓冲值空");
|
|
|
}
|
|
|
+ if (!isValidBufferRate(param.getBufferRate())) {
|
|
|
+ logger.error("【公开课缓冲比例异常】bufferRate={}, 参数: {}", param.getBufferRate(), param);
|
|
|
+ return R.error("缓冲比例异常");
|
|
|
+ }
|
|
|
FsPublicCourseTrafficLog trafficLog = new FsPublicCourseTrafficLog();
|
|
|
trafficLog.setCreateTime(new Date());
|
|
|
BeanUtils.copyProperties(param, trafficLog);
|
|
|
@@ -3488,6 +3505,10 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService {
|
|
|
logger.error("【缓冲值空】参数: {}", param);
|
|
|
return R.error("缓冲值空");
|
|
|
}
|
|
|
+ if (!isValidBufferRate(param.getBufferRate())) {
|
|
|
+ logger.error("【公开课缓冲比例异常】bufferRate={}, 参数: {}", param.getBufferRate(), param);
|
|
|
+ return R.error("缓冲比例异常");
|
|
|
+ }
|
|
|
FsCourseTrafficLog trafficLog = new FsCourseTrafficLog();
|
|
|
trafficLog.setCreateTime(new Date());
|
|
|
BeanUtils.copyProperties(param, trafficLog);
|
|
|
@@ -4346,6 +4367,11 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService {
|
|
|
if (StringUtils.isBlank(uuid)) {
|
|
|
return;
|
|
|
}
|
|
|
+ if (!isValidBufferRate(bufferRate)) {
|
|
|
+ logger.error("【飞书缓冲比例异常】bufferRate={}, identifier={}, videoId={}, uuid={}",
|
|
|
+ bufferRate, identifier, videoId, uuid);
|
|
|
+ return;
|
|
|
+ }
|
|
|
|
|
|
FsCourseTrafficLog trafficLog = new FsCourseTrafficLog();
|
|
|
trafficLog.setCreateTime(new Date());
|