|
|
|
@ -247,20 +247,28 @@ public class StationVideoTypeServiceImpl extends BaseServiceImpl<StationVideoTyp
|
|
|
|
|
public Map getVideoPointByRegion(Long refDept, String regionCode) { |
|
|
|
|
LambdaQueryWrapper<StationVideoTypeEntity> queryWrapper = Wrappers.<StationVideoTypeEntity>lambdaQuery().select(StationVideoTypeEntity::getPointCode,StationVideoTypeEntity::getCreateDept).eq(StationVideoTypeEntity::getDeptId, refDept); |
|
|
|
|
List<Map<String, Object>> pointCodeList = this.listMaps(queryWrapper); |
|
|
|
|
List<String> pointCodes = pointCodeList.stream().map(m -> m.get("point_code")).map(String::valueOf).collect(Collectors.toList()); |
|
|
|
|
List<String> pointCodes = pointCodeList.stream().map(m -> (String) m.get("point_code")).collect(Collectors.toList()); |
|
|
|
|
List<JSONObject> cameras = hikVideoService.cameras(regionCode); |
|
|
|
|
cameras.stream().forEach(camera -> { |
|
|
|
|
if(pointCodes.contains(camera.getString("cameraIndexCode"))) { |
|
|
|
|
camera.put("disabled",true); |
|
|
|
|
camera.put("cameraName",Optional.ofNullable(camera.getString("cameraName")).orElse("")+"(已接入)"); |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
camera.put("disabled",false); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
List<String> devIndexCodes = cameras.stream().map(obj -> obj.get("encodeDevIndexCode")).map(String::valueOf).distinct().collect(Collectors.toList()); |
|
|
|
|
List<String> devIndexCodes = cameras.stream().map(obj -> obj.getString("encodeDevIndexCode")).distinct().collect(Collectors.toList()); |
|
|
|
|
Map<String,String> deviceMap = new HashMap<>(); |
|
|
|
|
devIndexCodes.forEach(devIndexCode -> { |
|
|
|
|
String deviceName = Optional.ofNullable(hikVideoService.getDeviceSingle(devIndexCode)).map(o -> Optional.ofNullable(o.getString("name")).orElse("其他")).orElse(null); |
|
|
|
|
String deviceName; |
|
|
|
|
// 级联的下级平台无设备编码 统计为其他
|
|
|
|
|
if(StringUtil.isBlank(devIndexCode) || Func.isEmpty(devIndexCode)) { |
|
|
|
|
deviceName = "其他"; |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
deviceName = Optional.ofNullable(hikVideoService.getDeviceSingle(devIndexCode)).map(o -> o.getString("name")).orElse("其他"); |
|
|
|
|
} |
|
|
|
|
deviceMap.put(devIndexCode,deviceName); |
|
|
|
|
}); |
|
|
|
|
return cameras.stream().collect(Collectors.groupingBy(c -> deviceMap.get(c.getString("encodeDevIndexCode")))); |
|
|
|
|