Parcourir la source

add 测试丢包率按照300条数目计算

18339543638 il y a 3 ans
Parent
commit
1525c451a4

+ 1 - 1
nb-service/web-service/src/main/java/com/nb/web/service/bus/controller/BusInfusionHistoryController.java

@@ -120,7 +120,7 @@ public class BusInfusionHistoryController implements BaseQueryController<BusInfu
                                 }else {
                                     long count = historyEntities.stream().map(BusDeviceHistoryEntity::getDataNumber).distinct().count();
                                     infusion.setReceiveNum(count);
-                                    infusion.setLossRate(deviceHistoryService.computeLossRate(count,historyEntities));
+                                    infusion.setLossRate(deviceHistoryService.computeTestLossRate(300,count,historyEntities));
                                 }
                             }
                     );

+ 10 - 0
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusDeviceHistoryService.java

@@ -37,6 +37,16 @@ public class LocalBusDeviceHistoryService extends BaseService<BusDeviceHistoryMa
 
     }
 
+    public BigDecimal computeTestLossRate(long maxCount,long totalCount,List<BusDeviceHistoryEntity> sources) {
+        if(totalCount==0){
+            return BigDecimal.ZERO;
+        }
+        if (CollectionUtil.isNotEmpty(sources)) {
+            BigDecimal proportionRate = BigDecimal.valueOf(totalCount).divide(BigDecimal.valueOf(maxCount), 2, BigDecimal.ROUND_HALF_UP);
+            return BigDecimal.ONE.subtract(proportionRate).multiply(BigDecimal.valueOf(100));
+        }
+        return BigDecimal.ZERO;
+    }
 
     public IPage<BusDeviceHistoryEntity> pageQuery(DeviceHistoryQuery query){
         return this.baseMapper.pageQuery(query.getPage(),query);