| | |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 计算车辆点位在线率、视图库对接稳定性 |
| | | * 计算车辆视图库对接稳定性 |
| | | * 抓拍数据量监测结果接口数据 |
| | | * 获取分省厅、区域的map<k,v> k为deptId或者Province_deptId |
| | | * 循环map计算点位在线率 |
| | |
| | | private RedisTemplate redisTemplate; |
| | | @Autowired |
| | | private SysDictDataMapper dictDataMapper; |
| | | //区域车辆点位在线指标的内部类 |
| | | //区域车辆视图库对接稳定性的内部类 |
| | | protected static class AreaStats { |
| | | int totalSites = 0; |
| | | int onlineSites = 0; |
| | | int totalDataSum = 0; |
| | | } |
| | | |
| | |
| | | stats.totalSites++; |
| | | |
| | | if (ApiConstants.HK_SnapCount_ResultType_Null != result.getResultType()) { |
| | | stats.onlineSites++; |
| | | stats.totalDataSum += result.getDataCount(); |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 车辆点位在线率和视图库对接稳定性 |
| | | * 车辆视图库对接稳定性 |
| | | */ |
| | | private CheckIndexCar createOrUpdateCheckIndexCar(String key, AreaStats stats, List<CheckIndexCar> checkIndexCarList,List<SysDictData> carSnap) { |
| | | CheckIndexCar checkIndexCar = getCheckIndex(key, checkIndexCarList, CheckIndexCar.class); |
| | |
| | | return null; |
| | | } |
| | | |
| | | //调用点位在线计算方法 |
| | | if (stats.totalSites >= CheckThreadConstants.Check_Car_SiteOnline) { |
| | | Map<String, Object> siteOnlineParam = new HashMap<>(); |
| | | siteOnlineParam.put("totalSites", stats.totalSites); |
| | | siteOnlineParam.put("onlineSites", stats.onlineSites); |
| | | BigDecimal siteOnline = siteOnline(siteOnlineParam); |
| | | checkIndexCar.setSiteOnline(siteOnline.min(BigDecimal.ONE)); |
| | | } else { |
| | | checkIndexCar.setSiteOnline(BigDecimal.ZERO); |
| | | } |
| | | //视图库对接稳定性 |
| | | //Redis记录该区县当月无数据上传次数 |
| | | Integer noDateCount = (Integer) redisTemplate.opsForHash().get(RedisConstant.Check_Car_ViewConnect, key); |