大屏设备监控
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.FileStorageService;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.xmgl.recognition.jeecg.common.api.vo.Result;
|
||||
import com.xmgl.recognition.jeecg.common.util.DateUtil;
|
||||
@ -65,9 +66,12 @@ public class HardWareCallbackController {
|
||||
public Result<Object> saveHardWareAlarm(@RequestBody Map<String, Object> map) {
|
||||
String hardwareId = MapUtils.getString(map, "hardwareId");
|
||||
// 确认报警类型
|
||||
List<Algorithm> algorithmList = algorithmService.list();
|
||||
List<Algorithm> algorithm = algorithmList.stream().filter(d -> d.getSortIndex().equals(MapUtils.getInteger(map, "type"))).collect(Collectors.toList());
|
||||
if (algorithm.size() == 0) {
|
||||
String type = MapUtils.getInteger(map, "type")+"";
|
||||
QueryWrapper<Algorithm> queryWrapper = new QueryWrapper<>();
|
||||
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("报警类型错误!");
|
||||
}
|
||||
// TODO 查询设备相关的项目信息
|
||||
@ -80,7 +84,7 @@ public class HardWareCallbackController {
|
||||
deviceAlarm.setDeviceCode(device.getCode());
|
||||
deviceAlarm.setType(MapUtils.getInteger(map, "type"));
|
||||
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)
|
||||
.setPlatform("minio-1")
|
||||
.upload();
|
||||
|
||||
@ -128,7 +128,7 @@ public class DeviceAlarmController {
|
||||
.between(DeviceAlarm::getReportTime, DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date())));
|
||||
List<Algorithm> algorithms = algorithmService.list();
|
||||
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() : "");
|
||||
});
|
||||
resultMap.put("deviceAlarmList", deviceAlarmList);
|
||||
@ -163,7 +163,7 @@ public class DeviceAlarmController {
|
||||
algorithms.stream().forEach(s -> {
|
||||
Map<String, Object> map1 = new HashMap<>();
|
||||
map1.put("type", s.getTitle());
|
||||
map1.put("num", resultMap.get(s.getSortIndex()));
|
||||
map1.put("num", resultMap.get(s.getRemark()));
|
||||
resultList.add(map1);
|
||||
});
|
||||
/*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.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 io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
@ -92,6 +94,19 @@ public class MonitorDevController {
|
||||
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 com.xmgl.recognition.annotation.DataScope;
|
||||
import com.xmgl.recognition.modules.enterprise.dto.MonitorDevTreeDto;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.xmgl.recognition.modules.enterprise.entity.MonitorDev;
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
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.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 摄像机
|
||||
* @author: pengj
|
||||
@ -11,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
*/
|
||||
public interface IMonitorDevService extends IService<MonitorDev> {
|
||||
|
||||
List<MonitorDevTreeDto> tree();
|
||||
}
|
||||
|
||||
@ -1,12 +1,23 @@
|
||||
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.SystemDept;
|
||||
import com.xmgl.recognition.modules.enterprise.mapper.MonitorDevMapper;
|
||||
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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description: 摄像机
|
||||
* @author: pengj
|
||||
@ -16,4 +27,61 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@Service
|
||||
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
|
||||
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> treeList = new ArrayList<>();
|
||||
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.username=root
|
||||
spring.datasource.password=JXJ@admin
|
||||
spring.datasource.password=root
|
||||
# 数据库驱动类
|
||||
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
|
||||
# 数据库连接池配置
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user