Browse Source

摄像头状态 加状态

设备日志查询
仓库表 查询
master
yangzongjia 2 years ago
parent
commit
ac852d8662
  1. 13
      yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/MessageInfo.java
  2. 35
      yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/WareHouse.java
  3. 5
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceMapper.java
  4. 8
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceMapper.xml
  5. 9
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceRest.java
  6. 19
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceService.java
  7. 14
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/deviceImage/YDeviceImageService.java
  8. 3
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/messageInfo/YMessageInfoMapper.java
  9. 10
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/messageInfo/YMessageInfoMapper.xml
  10. 19
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/messageInfo/YMessageInfoRest.java
  11. 39
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/messageInfo/YMessageInfoService.java
  12. 2
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/scheduled/SyncDetection.java
  13. 2
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/scheduled/SyncService.java
  14. 2
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/util/ImageDownloadUtil.java
  15. 5
      yxt-supervise-monitor-biz/src/main/resources/application-test.yml
  16. 3
      yxt-supervise-monitor-biz/src/main/resources/task-config.properties

13
yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/MessageInfo.java

@ -1,5 +1,6 @@
package com.yxt.supervise.monitor.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.EntityWithId;
@ -51,4 +52,16 @@ public class MessageInfo extends EntityWithId {
@ApiModelProperty("信息内容")
private String content;
@TableField(exist = false)
@ApiModelProperty("消息类型")
private String callType;
@TableField(exist = false)
@ApiModelProperty("设备名称")
private String name;
@TableField(exist = false)
@ApiModelProperty("设备位置")
private String position;
}

35
yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/WareHouse.java

@ -0,0 +1,35 @@
package com.yxt.supervise.monitor.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.EntityWithId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel(value = "有ID的实体", description = "有ID的实体")
public class WareHouse {
@ApiModelProperty("ID,唯一编号")
private Integer id;
@ApiModelProperty("仓库名称")
private String name; // 名称
@ApiModelProperty("位置")
private String position;
@ApiModelProperty("货架号")
private String code;
@ApiModelProperty("联系人")
private String lxr;
@ApiModelProperty("手机号")
private String lxdh;
}

5
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceMapper.java

@ -3,9 +3,14 @@ package com.yxt.supervise.monitor.biz.device;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.supervise.monitor.api.entity.Device;
import com.yxt.supervise.monitor.api.entity.WareHouse;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface YDeviceMapper extends BaseMapper<Device> {
IPage<Device> getDevicePage();
List<WareHouse> getWareHouseList();
}

8
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceMapper.xml

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.supervise.monitor.biz.device.YDeviceMapper">
<select id="getWareHouseList" resultType="com.yxt.supervise.monitor.api.entity.WareHouse">
select id,name, code, position, lxr, lxdh
from y_warehouse
</select>
</mapper>

9
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceRest.java

@ -92,4 +92,13 @@ public class YDeviceRest {
return yDeviceService.removeDeviceByIds(ids);
}
@ApiOperation("获取仓库列表")
@GetMapping("/getWareHouseList")
public ResultBean getWareHouseList() {
ResultBean rb = ResultBean.fireSuccess();
rb.setData(yDeviceService.getWareHouseList());
return rb;
}
}

19
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceService.java

@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.monitor.api.entity.Device;
import com.yxt.supervise.monitor.api.entity.WareHouse;
import com.yxt.supervise.monitor.api.vo.PageVo;
import com.yxt.supervise.monitor.biz.scheduled.SyncService;
import com.yxt.supervise.monitor.biz.util.HttpUtils;
@ -46,6 +47,9 @@ public class YDeviceService extends ServiceImpl<YDeviceMapper, Device> {
if (StrUtil.isNotBlank(searchVo.get("type"))) {
queryWrapper.eq("type", searchVo.get("type"));
}
if (StrUtil.isNotBlank(searchVo.get("ckId"))) {
queryWrapper.eq("ckId", searchVo.get("ckId"));
}
queryWrapper.eq("isDelete", 0);
IPage<Device> athleteBOIPage = null;
@ -76,6 +80,19 @@ public class YDeviceService extends ServiceImpl<YDeviceMapper, Device> {
}
public List<WareHouse> getWareHouseList() {
List<WareHouse> athleteBOIPage = null;
try {
athleteBOIPage = yDeviceMapper.getWareHouseList();
} catch (Exception e) {
System.out.println(e);
athleteBOIPage = null;
}
return athleteBOIPage;
}
public List<Device> getStatusList() {
QueryWrapper<Device> queryWrapper = new QueryWrapper<>();
@ -91,7 +108,7 @@ public class YDeviceService extends ServiceImpl<YDeviceMapper, Device> {
}
int allCount = this.count();
for (Device device : athleteBOIPage) {
BigDecimal tempCount = new BigDecimal(device.getMaintenance()).divide(new BigDecimal(allCount), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).setScale(0, BigDecimal.ROUND_HALF_UP);
BigDecimal tempCount = new BigDecimal(device.getMaintenanceCount()).divide(new BigDecimal(allCount), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).setScale(0, BigDecimal.ROUND_HALF_UP);
String temp = tempCount.toString();
device.setMaintenanceCount(temp);
}

14
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/deviceImage/YDeviceImageService.java

@ -29,7 +29,7 @@ import java.util.Map;
@Service
public class YDeviceImageService extends ServiceImpl<YDeviceImageMapper, DeviceImage> {
@Value("${image.folder}")
@Value("${scheduleTime.folder}")
private String filePath;
public IPage<DeviceImage> getDeviceImagePage(Map<String, String> searchVo, PageVo pageVo) {
@ -85,7 +85,7 @@ public class YDeviceImageService extends ServiceImpl<YDeviceImageMapper, DeviceI
String day = DateUtil.format(DateUtil.date(), "yyyyMMddHHmmss");
picName = day + channelNo + ".png";
try {
ImageDownloadUtil.download(picUrl, filePath + channelNo, picName);
ImageDownloadUtil.download(picUrl, filePath, picName);
} catch (IOException e) {
e.printStackTrace();
}
@ -108,8 +108,10 @@ public class YDeviceImageService extends ServiceImpl<YDeviceImageMapper, DeviceI
DeviceImage deviceImageExit = deviceImageList.get(0);
String convertImage = deviceImageExit.getImgAfter();
deviceImage.setImgBefore(convertImage);
deviceImage.setImgAfter(filePath + channelNo + "/" + picName);
String similar = String.valueOf(ImageCompareUtil.compareImage(convertImage, filePath + channelNo + "/" + picName));
deviceImage.setImgAfter(picName);
log.error(filePath + "/" + convertImage);
log.error(filePath + "/" + picName);
String similar = String.valueOf(ImageCompareUtil.compareImage(filePath + "/" + convertImage, filePath + "/" + picName));
String[] similarSplit = similar.split("\\.");
if (similarSplit.length > 0) {
deviceImage.setSimilarity(similarSplit[0] + "%");
@ -122,8 +124,8 @@ public class YDeviceImageService extends ServiceImpl<YDeviceImageMapper, DeviceI
this.flushDeviceImageIsShow(channelNo);
this.save(deviceImage);
} else {
deviceImage.setImgBefore(filePath + channelNo + "/" + picName);
deviceImage.setImgAfter(filePath + channelNo + "/" + picName);
deviceImage.setImgBefore(picName);
deviceImage.setImgAfter(picName);
deviceImage.setSimilarity("100%");
this.save(deviceImage);
}

3
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/messageInfo/YMessageInfoMapper.java

@ -1,5 +1,6 @@
package com.yxt.supervise.monitor.biz.messageInfo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.supervise.monitor.api.entity.CallPolice;
@ -11,5 +12,5 @@ import org.apache.ibatis.annotations.Param;
@Mapper
public interface YMessageInfoMapper extends BaseMapper<MessageInfo> {
IPage<MessageInfo> getMessageInfoPage(IPage<MessageInfo> page, @Param("ew") QueryWrapper<MessageInfo> queryWrapper);
}

10
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/messageInfo/YMessageInfoMapper.xml

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.yxt.supervise.monitor.biz.messageInfo.YMessageInfoMapper">
<select id="getMessageInfoPage" resultType="com.yxt.supervise.monitor.api.entity.MessageInfo">
SELECT t.createTime, d.name, d.position
FROM `y_message_info` t
inner join y_device d on t.deviceId = d.id
${ew.customSqlSegment}
</select>
</mapper>

19
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/messageInfo/YMessageInfoRest.java

@ -1,12 +1,11 @@
package com.yxt.supervise.monitor.biz.messageInfo;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.monitor.api.vo.PageVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@ -19,11 +18,13 @@ public class YMessageInfoRest {
private YMessageInfoService yCallPoliceService;
@ApiOperation("分页获取报警列表")
@GetMapping("/getDevicePage")
public String getDevicePage(@RequestParam Map<String,String> searchVo) {
// yCallPoliceService.getDevicePage(searchVo);
return null;
@ApiOperation("分页获取消息列表")
@GetMapping("/getMessageInfoPage")
public ResultBean getDevicePage(@RequestParam Map<String, String> searchVo,
@ModelAttribute PageVo pageVo) {
ResultBean rb = ResultBean.fireSuccess();
rb.setData(yCallPoliceService.getMessageInfoPage(searchVo, pageVo));
return rb;
}
}

39
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/messageInfo/YMessageInfoService.java

@ -1,14 +1,17 @@
package com.yxt.supervise.monitor.biz.messageInfo;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yxt.supervise.monitor.api.entity.CallPolice;
import com.yxt.supervise.monitor.api.entity.Device;
import com.yxt.supervise.monitor.api.entity.DeviceLog;
import com.yxt.supervise.monitor.api.entity.MessageInfo;
import com.yxt.supervise.monitor.api.vo.MessageVo;
import com.yxt.supervise.monitor.api.vo.PageVo;
import com.yxt.supervise.monitor.biz.callpolice.YCallPoliceMapper;
import com.yxt.supervise.monitor.biz.device.YDeviceMapper;
import com.yxt.supervise.monitor.biz.device.YDeviceService;
@ -36,6 +39,9 @@ public class YMessageInfoService extends ServiceImpl<YMessageInfoMapper, Message
@Resource
YDeviceMapper yDeviceMapper;
@Resource
YMessageInfoMapper yMessageInfoMapper;
public List<CallPolice> saveMessageInfo() {
String url = "https://api2.hik-cloud.com/api/v1/mq/consumer/messages";
@ -108,4 +114,37 @@ public class YMessageInfoService extends ServiceImpl<YMessageInfoMapper, Message
}
return null;
}
public IPage<MessageInfo> getMessageInfoPage(Map<String, String> searchVo, PageVo pageVo) {
IPage<MessageInfo> page = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>();
page.setSize(pageVo.getSize());
page.setCurrent((long) pageVo.getCurrent());
QueryWrapper<MessageInfo> queryWrapper = new QueryWrapper<>();
if (StrUtil.isNotBlank(searchVo.get("startTime"))) {
queryWrapper.gt("t.createTime", searchVo.get("startTime"));
}
if (StrUtil.isNotBlank(searchVo.get("name"))) {
queryWrapper.like("d.name", searchVo.get("name"));
}
if (StrUtil.isNotBlank(searchVo.get("position"))) {
queryWrapper.like("d.position", searchVo.get("position"));
}
queryWrapper.eq("t.isDelete", 0);
IPage<MessageInfo> athleteBOIPage = null;
try {
athleteBOIPage = yMessageInfoMapper.getMessageInfoPage(page, queryWrapper);
athleteBOIPage.getRecords().forEach(oo -> {
oo.setCallType("消息通知");
});
} catch (Exception e) {
System.out.println(e);
athleteBOIPage = null;
}
return athleteBOIPage;
}
}

2
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/scheduled/SyncDetection.java

@ -26,7 +26,7 @@ import java.util.Map;
@Data
@Slf4j
@Component
@PropertySource("classpath:/task-config.properties")
@PropertySource("classpath:/application-test.yml")
public class SyncDetection implements SchedulingConfigurer {
@Value("${scheduleTime.cron}")

2
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/scheduled/SyncService.java

@ -73,7 +73,7 @@ public class SyncService {
}
//
// @Async
// @Scheduled(fixedDelay = 1000 * 20 * 1) //20秒拉取一次报警信息
// public void pushEmail() {

2
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/util/ImageDownloadUtil.java

@ -33,7 +33,7 @@ public class ImageDownloadUtil {
}
//jdk 1.7 新特性自动关闭
try (InputStream in = con.getInputStream();
OutputStream out = new FileOutputStream(sf.getPath() + "\\" + filename)) {
OutputStream out = new FileOutputStream(sf.getPath() + "/" + filename)) {
//创建缓冲区
byte[] buff = new byte[1024];
int n;

5
yxt-supervise-monitor-biz/src/main/resources/application-test.yml

@ -28,3 +28,8 @@ image:
url:
prefix: http://122.14.222.186:7003/upload/
scheduleTime:
cron: 0/59 0/2 * * * ?
# folder: D:\resources\download
folder: /root/huirong/monitor-java/imagesDownload

3
yxt-supervise-monitor-biz/src/main/resources/task-config.properties

@ -1,3 +0,0 @@
scheduleTime.cron=0/59 0/2 * * * ?
image.folder=D:\\resources\\download\\
Loading…
Cancel
Save