大屏设备监控
This commit is contained in:
parent
9c3cd5446d
commit
54ded11edb
@ -2,6 +2,7 @@ package com.xmgl.recognition.modules.admin.controller;
|
|||||||
|
|
||||||
import cn.xuyanwu.spring.file.storage.FileInfo;
|
import cn.xuyanwu.spring.file.storage.FileInfo;
|
||||||
import cn.xuyanwu.spring.file.storage.FileStorageService;
|
import cn.xuyanwu.spring.file.storage.FileStorageService;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.xmgl.recognition.jeecg.common.api.vo.Result;
|
import com.xmgl.recognition.jeecg.common.api.vo.Result;
|
||||||
import com.xmgl.recognition.jeecg.common.util.DateUtil;
|
import com.xmgl.recognition.jeecg.common.util.DateUtil;
|
||||||
@ -65,9 +66,12 @@ public class HardWareCallbackController {
|
|||||||
public Result<Object> saveHardWareAlarm(@RequestBody Map<String, Object> map) {
|
public Result<Object> saveHardWareAlarm(@RequestBody Map<String, Object> map) {
|
||||||
String hardwareId = MapUtils.getString(map, "hardwareId");
|
String hardwareId = MapUtils.getString(map, "hardwareId");
|
||||||
// 确认报警类型
|
// 确认报警类型
|
||||||
List<Algorithm> algorithmList = algorithmService.list();
|
String type = MapUtils.getInteger(map, "type")+"";
|
||||||
List<Algorithm> algorithm = algorithmList.stream().filter(d -> d.getSortIndex().equals(MapUtils.getInteger(map, "type"))).collect(Collectors.toList());
|
QueryWrapper<Algorithm> queryWrapper = new QueryWrapper<>();
|
||||||
if (algorithm.size() == 0) {
|
queryWrapper.lambda().eq(Algorithm::getRemark,type);
|
||||||
|
List<Algorithm> algorithmList = algorithmService.list(queryWrapper);
|
||||||
|
// List<Algorithm> algorithm = algorithmList.stream().filter(d -> d.getRemark().equals(MapUtils.getInteger(map, "type"))).collect(Collectors.toList());
|
||||||
|
if (algorithmList.size() == 0) {
|
||||||
return Result.error("报警类型错误!");
|
return Result.error("报警类型错误!");
|
||||||
}
|
}
|
||||||
// TODO 查询设备相关的项目信息
|
// TODO 查询设备相关的项目信息
|
||||||
@ -80,7 +84,7 @@ public class HardWareCallbackController {
|
|||||||
deviceAlarm.setDeviceCode(device.getCode());
|
deviceAlarm.setDeviceCode(device.getCode());
|
||||||
deviceAlarm.setType(MapUtils.getInteger(map, "type"));
|
deviceAlarm.setType(MapUtils.getInteger(map, "type"));
|
||||||
String image = MapUtils.getString(map, "image");
|
String image = MapUtils.getString(map, "image");
|
||||||
MultipartFile multipartFile = FileUtil.base64toMultipart(image, "text.jpg");
|
MultipartFile multipartFile = FileUtil.base64toMultipart("data:image/jpeg;base64,"+ image, "text.jpg");
|
||||||
FileInfo upload = fileStorageService.of(multipartFile)
|
FileInfo upload = fileStorageService.of(multipartFile)
|
||||||
.setPlatform("minio-1")
|
.setPlatform("minio-1")
|
||||||
.upload();
|
.upload();
|
||||||
|
|||||||
@ -128,7 +128,7 @@ public class DeviceAlarmController {
|
|||||||
.between(DeviceAlarm::getReportTime, DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date())));
|
.between(DeviceAlarm::getReportTime, DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date())));
|
||||||
List<Algorithm> algorithms = algorithmService.list();
|
List<Algorithm> algorithms = algorithmService.list();
|
||||||
deviceAlarmList.stream().forEach(d -> {
|
deviceAlarmList.stream().forEach(d -> {
|
||||||
List<Algorithm> algorithmList = algorithms.stream().filter(a -> a.getSortIndex().equals(d.getType())).collect(Collectors.toList());
|
List<Algorithm> algorithmList = algorithms.stream().filter(a -> a.getRemark().equals(d.getType())).collect(Collectors.toList());
|
||||||
d.setTypeName(algorithmList.size() > 0 ? algorithmList.get(0).getTitle() : "");
|
d.setTypeName(algorithmList.size() > 0 ? algorithmList.get(0).getTitle() : "");
|
||||||
});
|
});
|
||||||
resultMap.put("deviceAlarmList", deviceAlarmList);
|
resultMap.put("deviceAlarmList", deviceAlarmList);
|
||||||
@ -163,7 +163,7 @@ public class DeviceAlarmController {
|
|||||||
algorithms.stream().forEach(s -> {
|
algorithms.stream().forEach(s -> {
|
||||||
Map<String, Object> map1 = new HashMap<>();
|
Map<String, Object> map1 = new HashMap<>();
|
||||||
map1.put("type", s.getTitle());
|
map1.put("type", s.getTitle());
|
||||||
map1.put("num", resultMap.get(s.getSortIndex()));
|
map1.put("num", resultMap.get(s.getRemark()));
|
||||||
resultList.add(map1);
|
resultList.add(map1);
|
||||||
});
|
});
|
||||||
/*resultMap.entrySet().stream().forEach(r -> {
|
/*resultMap.entrySet().stream().forEach(r -> {
|
||||||
|
|||||||
@ -2,6 +2,8 @@ package com.xmgl.recognition.modules.enterprise.controller;
|
|||||||
|
|
||||||
import com.xmgl.recognition.annotation.OperLog;
|
import com.xmgl.recognition.annotation.OperLog;
|
||||||
import com.xmgl.recognition.jeecg.common.util.PageUtil;
|
import com.xmgl.recognition.jeecg.common.util.PageUtil;
|
||||||
|
import com.xmgl.recognition.modules.enterprise.dto.MonitorDevTreeDto;
|
||||||
|
import com.xmgl.recognition.modules.enterprise.entity.SystemDept;
|
||||||
import com.xmgl.recognition.security.SecurityUtil;
|
import com.xmgl.recognition.security.SecurityUtil;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
@ -92,6 +94,19 @@ public class MonitorDevController {
|
|||||||
return Result.success(list);
|
return Result.success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 层级查询
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@OperLog(operModul = "摄像机管理", operType = "层级查询", operDesc = "层级查询部门摄像机信息")
|
||||||
|
@ApiOperation(value = " 层级查询部门摄像机信息", notes = "层级查询部门摄像机信息", httpMethod = "GET")
|
||||||
|
@GetMapping(value = "/tree")
|
||||||
|
public Result<List<MonitorDevTreeDto>> queryTreeList() {
|
||||||
|
List<MonitorDevTreeDto> tree = monitorDevService.tree();
|
||||||
|
return Result.success(tree);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 添加
|
* 添加
|
||||||
|
|||||||
@ -0,0 +1,38 @@
|
|||||||
|
package com.xmgl.recognition.modules.enterprise.dto;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.xmgl.recognition.modules.enterprise.entity.SystemDept;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ApiModel(value = "部门摄像机树形信息(DTO)", description = "MonitorDevTreeDto")
|
||||||
|
public class MonitorDevTreeDto {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "主键ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "父ID")
|
||||||
|
private Long parentId;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "名称")
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "编码")
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "url")
|
||||||
|
private String url;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "ip;")
|
||||||
|
private String ip;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "类型(1:部门信息;2:摄像机信息)")
|
||||||
|
private Integer type;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "子级信息")
|
||||||
|
private List<MonitorDevTreeDto> children;
|
||||||
|
}
|
||||||
@ -3,6 +3,7 @@ package com.xmgl.recognition.modules.enterprise.mapper;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.xmgl.recognition.annotation.DataScope;
|
import com.xmgl.recognition.annotation.DataScope;
|
||||||
|
import com.xmgl.recognition.modules.enterprise.dto.MonitorDevTreeDto;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import com.xmgl.recognition.modules.enterprise.entity.MonitorDev;
|
import com.xmgl.recognition.modules.enterprise.entity.MonitorDev;
|
||||||
|
|||||||
@ -1,8 +1,11 @@
|
|||||||
package com.xmgl.recognition.modules.enterprise.service;
|
package com.xmgl.recognition.modules.enterprise.service;
|
||||||
|
|
||||||
|
import com.xmgl.recognition.modules.enterprise.dto.MonitorDevTreeDto;
|
||||||
import com.xmgl.recognition.modules.enterprise.entity.MonitorDev;
|
import com.xmgl.recognition.modules.enterprise.entity.MonitorDev;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 摄像机
|
* @Description: 摄像机
|
||||||
* @author: pengj
|
* @author: pengj
|
||||||
@ -11,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||||||
*/
|
*/
|
||||||
public interface IMonitorDevService extends IService<MonitorDev> {
|
public interface IMonitorDevService extends IService<MonitorDev> {
|
||||||
|
|
||||||
|
List<MonitorDevTreeDto> tree();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,12 +1,23 @@
|
|||||||
package com.xmgl.recognition.modules.enterprise.service.impl;
|
package com.xmgl.recognition.modules.enterprise.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.xmgl.recognition.modules.admin.entity.Device;
|
||||||
|
import com.xmgl.recognition.modules.admin.service.IDeviceService;
|
||||||
|
import com.xmgl.recognition.modules.enterprise.dto.MonitorDevTreeDto;
|
||||||
import com.xmgl.recognition.modules.enterprise.entity.MonitorDev;
|
import com.xmgl.recognition.modules.enterprise.entity.MonitorDev;
|
||||||
|
import com.xmgl.recognition.modules.enterprise.entity.SystemDept;
|
||||||
import com.xmgl.recognition.modules.enterprise.mapper.MonitorDevMapper;
|
import com.xmgl.recognition.modules.enterprise.mapper.MonitorDevMapper;
|
||||||
import com.xmgl.recognition.modules.enterprise.service.IMonitorDevService;
|
import com.xmgl.recognition.modules.enterprise.service.IMonitorDevService;
|
||||||
|
import com.xmgl.recognition.modules.enterprise.service.ISystemDeptService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 摄像机
|
* @Description: 摄像机
|
||||||
* @author: pengj
|
* @author: pengj
|
||||||
@ -16,4 +27,61 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
@Service
|
@Service
|
||||||
public class MonitorDevServiceImpl extends ServiceImpl<MonitorDevMapper, MonitorDev> implements IMonitorDevService {
|
public class MonitorDevServiceImpl extends ServiceImpl<MonitorDevMapper, MonitorDev> implements IMonitorDevService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISystemDeptService systemDeptService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IDeviceService deviceService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MonitorDevTreeDto> tree() {
|
||||||
|
List<MonitorDevTreeDto> list = build(systemDeptService.list(Wrappers.<SystemDept>lambdaQuery().eq(SystemDept::getType, 1)));
|
||||||
|
List<MonitorDevTreeDto> treeList = list.stream().filter(d -> d.getParentId().equals(0L)).collect(Collectors.toList());
|
||||||
|
return getTreeList(treeList, list);
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<MonitorDevTreeDto> getTreeList(List<MonitorDevTreeDto> treeList, List<MonitorDevTreeDto> list) {
|
||||||
|
for (MonitorDevTreeDto monitorDevTreeDto : treeList) {
|
||||||
|
List<MonitorDevTreeDto> children = list.stream().filter(d -> d.getParentId() != null && d.getParentId().equals(monitorDevTreeDto.getId())).collect(Collectors.toList());
|
||||||
|
List<Long> deviceId = deviceService.list(Wrappers.<Device>lambdaQuery().eq(Device::getDeptId, monitorDevTreeDto.getId())).stream().map(d -> d.getId()).collect(Collectors.toList());
|
||||||
|
if (deviceId.size() > 0) {
|
||||||
|
List<MonitorDev> monitorDevList = this.list(Wrappers.<MonitorDev>lambdaQuery().in(MonitorDev::getDeviceId, deviceId));
|
||||||
|
children.addAll(build1(monitorDevList));
|
||||||
|
}
|
||||||
|
getTreeList(children, list);
|
||||||
|
if (monitorDevTreeDto.getParentId() != null && monitorDevTreeDto.getParentId().equals(0L)) {
|
||||||
|
monitorDevTreeDto.setParentId(null);
|
||||||
|
}
|
||||||
|
monitorDevTreeDto.setChildren(children);
|
||||||
|
}
|
||||||
|
return treeList;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<MonitorDevTreeDto> build(List<SystemDept> list) {
|
||||||
|
List<MonitorDevTreeDto> monitorDevTrees = new ArrayList<>();
|
||||||
|
for (SystemDept systemDept : list) {
|
||||||
|
MonitorDevTreeDto monitorDevTreeDto = new MonitorDevTreeDto();
|
||||||
|
monitorDevTreeDto.setId(systemDept.getDeptId());
|
||||||
|
monitorDevTreeDto.setParentId(systemDept.getParentId());
|
||||||
|
monitorDevTreeDto.setName(systemDept.getDeptName());
|
||||||
|
monitorDevTreeDto.setType(1);
|
||||||
|
monitorDevTrees.add(monitorDevTreeDto);
|
||||||
|
}
|
||||||
|
return monitorDevTrees;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<MonitorDevTreeDto> build1(List<MonitorDev> list) {
|
||||||
|
List<MonitorDevTreeDto> monitorDevTrees = new ArrayList<>();
|
||||||
|
for (MonitorDev monitorDev : list) {
|
||||||
|
MonitorDevTreeDto monitorDevTreeDto = new MonitorDevTreeDto();
|
||||||
|
monitorDevTreeDto.setId(monitorDev.getMonitorId());
|
||||||
|
monitorDevTreeDto.setName(monitorDev.getName());
|
||||||
|
monitorDevTreeDto.setCode(monitorDev.getCode());
|
||||||
|
monitorDevTreeDto.setUrl(monitorDev.getUrl());
|
||||||
|
monitorDevTreeDto.setIp(monitorDev.getIp());
|
||||||
|
monitorDevTreeDto.setType(2);
|
||||||
|
monitorDevTrees.add(monitorDevTreeDto);
|
||||||
|
}
|
||||||
|
return monitorDevTrees;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -43,7 +43,6 @@ public class SystemDeptServiceImpl extends ServiceImpl<SystemDeptMapper, SystemD
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SystemDept> tree(Long deptId, Integer type) {
|
public List<SystemDept> tree(Long deptId, Integer type) {
|
||||||
SecurityUser user = SecurityUtil.getUser();
|
|
||||||
List<SystemDept> list = this.list(Wrappers.<SystemDept>lambdaQuery().eq(SystemDept::getType, type));
|
List<SystemDept> list = this.list(Wrappers.<SystemDept>lambdaQuery().eq(SystemDept::getType, type));
|
||||||
List<SystemDept> treeList = new ArrayList<>();
|
List<SystemDept> treeList = new ArrayList<>();
|
||||||
if (deptId.equals(0L)) {
|
if (deptId.equals(0L)) {
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
# 数据库配置
|
# 数据库配置
|
||||||
spring.datasource.url=jdbc:mysql://localhost:3306/airecognition?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
|
spring.datasource.url=jdbc:mysql://localhost:3306/airecognition?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
|
||||||
spring.datasource.username=root
|
spring.datasource.username=root
|
||||||
spring.datasource.password=JXJ@admin
|
spring.datasource.password=root
|
||||||
# 数据库驱动类
|
# 数据库驱动类
|
||||||
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
|
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
|
||||||
# 数据库连接池配置
|
# 数据库连接池配置
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user