Browse Source

# 视频点位选择优化

zhongwei
haungxing 12 months ago
parent
commit
42deb8f70b
  1. 13
      hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/service/impl/StationVideoTypeServiceImpl.java

13
hzims-service/operational/src/main/java/com/hnac/hzims/operational/station/service/impl/StationVideoTypeServiceImpl.java

@ -247,7 +247,7 @@ 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"))) {
@ -257,10 +257,17 @@ public class StationVideoTypeServiceImpl extends BaseServiceImpl<StationVideoTyp
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"))));

Loading…
Cancel
Save