diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/service/impl/WatchDataServiceImpl.java b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/service/impl/WatchDataServiceImpl.java index 244de63..9960353 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/service/impl/WatchDataServiceImpl.java +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/service/impl/WatchDataServiceImpl.java @@ -570,10 +570,10 @@ public class WatchDataServiceImpl extends ServiceImpl ObjectUtil.isNotNull(f.getMinValue())) .mapToInt(WatchStatUserInfoDayHeartRate::getMinValue).min().orElse(0); // 和 - int sum = list.stream() - .filter(f -> ObjectUtil.isNotNull(f.getAvgValue())) - .mapToInt(WatchStatUserInfoDayHeartRate::getAvgValue).sum(); - + List heartRateList = list.stream() + .filter(f -> ObjectUtil.isNotNull(f.getAvgValue()) && f.getAvgValue() > 0) + .collect(Collectors.toList()); + int sum = heartRateList.stream().mapToInt(WatchStatUserInfoDayHeartRate::getAvgValue).sum(); // 最大值 int skinMax = list.stream() .filter(f -> ObjectUtil.isNotNull(f.getSilenceMaxValue())) @@ -583,17 +583,17 @@ public class WatchDataServiceImpl extends ServiceImpl ObjectUtil.isNotNull(f.getSilenceMinValue())) .mapToInt(WatchStatUserInfoDayHeartRate::getSilenceMinValue).min().orElse(0); // 和 - int skinSum = list.stream() - .filter(f -> ObjectUtil.isNotNull(f.getSilenceAvgValue())) - .mapToInt(WatchStatUserInfoDayHeartRate::getSilenceAvgValue).sum(); - + List silenceList = list.stream() + .filter(f -> ObjectUtil.isNotNull(f.getSilenceAvgValue()) && f.getSilenceAvgValue() > 0) + .collect(Collectors.toList()); + int skinSum = silenceList.stream().mapToInt(WatchStatUserInfoDayHeartRate::getSilenceAvgValue).sum(); stat.setMax(max); stat.setMin(min); - stat.setAvg((sum / list.size())); + stat.setAvg((sum / heartRateList.size())); stat.setSilenceMax(skinMax); stat.setSilenceMin(skinMin); - stat.setSilenceAvg(skinSum / list.size()); + stat.setSilenceAvg(skinSum / silenceList.size()); return stat; }