临时提交
This commit is contained in:
@@ -108,8 +108,7 @@ public class CameraChannelController {
|
||||
@ResponseBody
|
||||
@Operation(summary = "查询摄像机列表的总数和在线数", security = @SecurityRequirement(name = JwtUtils.HEADER))
|
||||
@Parameter(name = "groupAlias", description = "分组别名")
|
||||
public CameraCont queryCountWithChild(String groupAlias){
|
||||
|
||||
public List<CameraCount> queryCountWithChild(String groupAlias){
|
||||
return channelService.queryCountWithChild(groupAlias);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
package com.genersoft.iot.vmp.web.custom.bean;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CameraCont {
|
||||
|
||||
private Long total;
|
||||
private Long online;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package com.genersoft.iot.vmp.web.custom.bean;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class CameraCount {
|
||||
|
||||
private String groupAlias;
|
||||
private String deviceId;
|
||||
private Long allCount;
|
||||
private Long onlineCount;
|
||||
|
||||
}
|
||||
@@ -158,16 +158,34 @@ public class CameraChannelService implements CommandLineRunner {
|
||||
}
|
||||
}
|
||||
|
||||
public CameraCont queryCountWithChild(String groupAlias) {
|
||||
public List<CameraCount> queryCountWithChild(String groupAlias) {
|
||||
// 构建组织结构信息
|
||||
CameraGroup group = groupMapper.queryGroupByAlias(groupAlias);
|
||||
Assert.notNull(group, "组织结构不存在");
|
||||
String groupDeviceId = group.getDeviceId();
|
||||
// 获取所有子节点
|
||||
List<CameraGroup> groupList = queryAllGroupChildren(group.getId(), group.getBusinessGroup());
|
||||
groupList.add(group);
|
||||
|
||||
return null;
|
||||
// TODO 此处整理可优化,尽量让sql直接返回对应的结构 无需二次整理
|
||||
List<CameraCount> cameraCounts = groupMapper.queryCountWithChild(groupList);
|
||||
if (cameraCounts.isEmpty()) {
|
||||
return Collections.emptyList();
|
||||
}else {
|
||||
Map<String, String> cameraGroupMap = new HashMap<>();
|
||||
for (CameraGroup cameraGroup : groupList) {
|
||||
cameraGroupMap.put(cameraGroup.getDeviceId(), cameraGroup.getAlias());
|
||||
}
|
||||
List<CameraCount> result = new ArrayList<>();
|
||||
for (CameraCount cameraCount : cameraCounts) {
|
||||
String alias = cameraGroupMap.get(cameraCount.getDeviceId());
|
||||
if (alias == null) {
|
||||
continue;
|
||||
}
|
||||
cameraCount.setGroupAlias(alias);
|
||||
result.add(cameraCount);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user