| | |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 计算车辆点位在线率、视图库对接稳定性 |
| | | * 抓拍数据量监测结果接口数据 |
| | | * 计算车辆、人脸点位在线率、视图库对接稳定性 |
| | | * 获取分省厅、区域的map<k,v> k为deptId或者Province_deptId |
| | | * 循环map计算点位在线率 |
| | | * 更新或新增 |
| | |
| | | //区域车辆点位在线指标的内部类 |
| | | private static class AreaStats { |
| | | int totalSites = 0; |
| | | int offlineSites = 0; |
| | | int onlineSites = 0; |
| | | int totalDataSum = 0; |
| | | } |
| | | |
| | |
| | | //返回对象的引用,如果不存在会放入新的key,value |
| | | AreaStats stats = areaStatsMap.computeIfAbsent(key, k -> new AreaStats()); |
| | | stats.totalSites++; |
| | | if (ApiConstants.HK_SnapCount_ResultType_Null == result.getResultType()) { |
| | | stats.offlineSites++; |
| | | if (ApiConstants.HK_SnapCount_ResultType_Null != result.getResultType()) { |
| | | stats.onlineSites++; |
| | | } else { |
| | | stats.totalDataSum += result.getDataCount(); |
| | | } |
| | |
| | | //调用点位在线计算方法 |
| | | Map<String, Object> siteOnlineParam = new HashMap<>(); |
| | | siteOnlineParam.put("totalSites", stats.totalSites); |
| | | siteOnlineParam.put("offlineSites", stats.offlineSites); |
| | | siteOnlineParam.put("onlineSites", stats.onlineSites); |
| | | BigDecimal siteOnline = siteOnline(siteOnlineParam); |
| | | checkIndexCar.setSiteOnline(siteOnline); |
| | | //视图库对接稳定性 |