Browse Source

定时获取消息,分别添加到消息表,报警表,日志表。

添加设备的时候不再对海康接口进行操作。直接存库。
测试摄像头抓拍接口。
master
yangzongjia 2 years ago
parent
commit
cf335fa29a
  1. 9
      yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/CallPolice.java
  2. 3
      yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/Device.java
  3. 66
      yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/DeviceImage.java
  4. 3
      yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/DeviceLog.java
  5. 54
      yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/MessageInfo.java
  6. 26
      yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/vo/MessageVo.java
  7. 5
      yxt-supervise-monitor-biz/pom.xml
  8. 2
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/callpolice/CallRest.java
  9. 5
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/callpolice/YCallPoliceMapper.java
  10. 30
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/callpolice/YCallPoliceRest.java
  11. 55
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/callpolice/YCallPoliceService.java
  12. 4
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/callpolice/YDeviceImageMapper.xml
  13. 33
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/controller/YDeviceLogRest.java
  14. 0
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/demobaseentity/YDeviceImageMapper.xml
  15. 0
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/demoidentity/YDeviceImageMapper.xml
  16. 5
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceMapper.java
  17. 20
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceRest.java
  18. 68
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceService.java
  19. 12
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/deviceImage/YDeviceImageMapper.java
  20. 33
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/deviceImage/YDeviceImageRest.java
  21. 62
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/deviceImage/YDeviceImageService.java
  22. 6
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/devicelog/YDeviceLogMapper.java
  23. 31
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/devicelog/YDeviceLogRest.java
  24. 41
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/devicelog/YDeviceLogService.java
  25. 15
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/messageInfo/YMessageInfoMapper.java
  26. 15
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/messageInfo/YMessageInfoRest.java
  27. 83
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/messageInfo/YMessageInfoService.java
  28. 95
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/scheduled/SyncService.java
  29. 18
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/YCallPoliceService.java
  30. 18
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/YDeviceLogService.java
  31. 25
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/YDeviceService.java
  32. 31
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/impl/IYCallPoliceServiceImpl.java
  33. 31
      yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/impl/IYDeviceLogServiceImpl.java
  34. 0
      yxt-supervise-monitor-biz/src/main/resources/mapper/YDeviceImageMapper.xml

9
yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/CallPolice.java

@ -42,4 +42,13 @@ public class CallPolice extends EntityWithId {
@ApiModelProperty("设备ID")
private String deviceId;
@ApiModelProperty("信息ID")
private String msgId;
@ApiModelProperty("信息类型")
private String msgType;
@ApiModelProperty("信息内容")
private String content;
}

3
yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/Device.java

@ -54,4 +54,7 @@ public class Device extends EntityWithId {
@ApiModelProperty("位置")
private String position;
@ApiModelProperty("序列号")
private String deviceSerial;
}

66
yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/DeviceImage.java

@ -0,0 +1,66 @@
package com.yxt.supervise.monitor.api.entity;
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的实体")
@TableName("y_device_image")
public class DeviceImage extends EntityWithId {
// `id`使用继承的
@ApiModelProperty("记录创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime = new Date(); // 记录创建时间
@ApiModelProperty("备注说明")
private String remarks; // 备注说明
@ApiModelProperty("名称")
private String name; // 名称
@ApiModelProperty("类型")
private String type;
@ApiModelProperty("状态")
private String status;
@ApiModelProperty("信息状态")
private String state;
@ApiModelProperty("是否删除")
private String isDelete;
@ApiModelProperty("修改时间")
private String modifyTime;
@ApiModelProperty("是否可用")
private String isEnable;
@ApiModelProperty("创建人")
private String createBySid;
@ApiModelProperty("更新人")
private String updateBySid;
@ApiModelProperty("验证码")
private String vCode;
@ApiModelProperty("位置")
private String position;
@ApiModelProperty("序列号")
private String deviceSerial;
@ApiModelProperty("拍照前")
private String imgBefore;
@ApiModelProperty("拍照后")
private String imgAfter;
}

3
yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/entity/DeviceLog.java

@ -48,4 +48,7 @@ public class DeviceLog extends EntityWithId {
@ApiModelProperty("日志内容")
private String content;
@ApiModelProperty("消息ID")
private String msgId;
}

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

@ -0,0 +1,54 @@
package com.yxt.supervise.monitor.api.entity;
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的实体")
@TableName("y_message_info")
public class MessageInfo extends EntityWithId {
// `id`使用继承的
@ApiModelProperty("记录创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime = new Date(); // 记录创建时间
@ApiModelProperty("备注说明")
private String remarks; // 备注说明
@ApiModelProperty("信息状态")
private String state;
@ApiModelProperty("是否删除")
private String isDelte;
@ApiModelProperty("修改时间")
private String modifyTime;
@ApiModelProperty("是否可用")
private String isEnable;
@ApiModelProperty("创建人")
private String createBySid;
@ApiModelProperty("更新人")
private String updateBySid;
@ApiModelProperty("设备ID")
private String deviceId;
@ApiModelProperty("信息ID")
private String msgId;
@ApiModelProperty("信息类型")
private String msgType;
@ApiModelProperty("信息内容")
private String content;
}

26
yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/vo/MessageVo.java

@ -0,0 +1,26 @@
package com.yxt.supervise.monitor.api.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author Exrickx
*/
@Data
public class MessageVo {
@ApiModelProperty(value = "消息ID,每条消息的唯一ID,消费者可根据此ID进行去重处理")
private String msgId;
@ApiModelProperty(value = "消息类型")
private String msgType;
@ApiModelProperty(value = "消息内容")
private String content;
@ApiModelProperty(value = "消息发送到消息通道时的时间戳")
private String timestamp;
}

5
yxt-supervise-monitor-biz/pom.xml

@ -84,6 +84,11 @@
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
<build>

2
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/controller/CallRest.java → yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/callpolice/CallRest.java

@ -1,4 +1,4 @@
package com.yxt.supervise.monitor.biz.controller;
package com.yxt.supervise.monitor.biz.callpolice;
import com.alibaba.fastjson.JSONObject;
import com.yxt.common.core.result.ResultBean;

5
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/mapper/YCallPoliceMapper.java → yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/callpolice/YCallPoliceMapper.java

@ -1,14 +1,17 @@
package com.yxt.supervise.monitor.biz.mapper;
package com.yxt.supervise.monitor.biz.callpolice;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.supervise.monitor.api.entity.CallPolice;
import com.yxt.supervise.monitor.api.entity.Device;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface YCallPoliceMapper extends BaseMapper<CallPolice> {
IPage<Device> getDevicePage();
Integer getByMsgId(@Param("msgId") String msgId);
}

30
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/callpolice/YCallPoliceRest.java

@ -0,0 +1,30 @@
package com.yxt.supervise.monitor.biz.callpolice;
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.*;
import java.util.Map;
@Api(tags = "报警控制器")
@RestController("com.yxt.supervise.monitor.biz.callpolice.YCallPoliceRest")
@RequestMapping("/callPolice")
public class YCallPoliceRest {
@Autowired
private YCallPoliceService yCallPoliceService;
@ApiOperation("分页获取报警列表")
@GetMapping("/getCallPolicePage")
public ResultBean getCallPolicePage(@RequestParam Map<String, String> searchVo,
@ModelAttribute PageVo pageVo) {
ResultBean rb = ResultBean.fireSuccess();
rb.setData(yCallPoliceService.getCallPolicePage(searchVo, pageVo));
return rb;
}
}

55
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/callpolice/YCallPoliceService.java

@ -0,0 +1,55 @@
package com.yxt.supervise.monitor.biz.callpolice;
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.common.core.result.ResultBean;
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.devicelog.YDeviceLogMapper;
import com.yxt.supervise.monitor.biz.messageInfo.YMessageInfoMapper;
import com.yxt.supervise.monitor.biz.scheduled.SyncService;
import com.yxt.supervise.monitor.biz.util.HttpUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class YCallPoliceService extends ServiceImpl<YCallPoliceMapper, CallPolice> {
public IPage<CallPolice> getCallPolicePage(Map<String, String> searchVo, PageVo pageVo) {
IPage<CallPolice> page = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>();
page.setSize(pageVo.getSize());
page.setCurrent((long) pageVo.getCurrent());
QueryWrapper<CallPolice> queryWrapper = new QueryWrapper<>();
if (StrUtil.isNotBlank(searchVo.get("name"))) {
queryWrapper.like("name", searchVo.get("name"));
}
if (StrUtil.isNotBlank(searchVo.get("type"))) {
queryWrapper.eq("type", searchVo.get("type"));
}
queryWrapper.eq("isDelete", 0);
IPage<CallPolice> athleteBOIPage = null;
try {
athleteBOIPage = baseMapper.selectPage(page, queryWrapper);
} catch (Exception e) {
System.out.println(e);
athleteBOIPage = null;
}
return athleteBOIPage;
}
}

4
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/callpolice/YDeviceImageMapper.xml

@ -0,0 +1,4 @@
<?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.callpolice.YCallPoliceMapper">
</mapper>

33
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/controller/YDeviceLogRest.java

@ -1,33 +0,0 @@
package com.yxt.supervise.monitor.biz.controller;
import com.yxt.supervise.monitor.api.entity.Device;
import com.yxt.supervise.monitor.biz.service.YDeviceLogService;
import com.yxt.supervise.monitor.biz.service.YDeviceService;
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 java.util.Map;
@Api(tags = "设备日志控制器")
@RestController("com.yxt.supervise.monitor.biz.controller.YDeviceLogRest")
@RequestMapping("/deviceLog")
public class YDeviceLogRest {
@Autowired
private YDeviceLogService yDeviceLogService;
@ApiOperation("分页获取设备日志列表")
@GetMapping("/getDevicePage")
public String getDevicePage(@RequestParam Map<String,String> searchVo) {
yDeviceLogService.getDevicePage(searchVo);
return null;
}
}

0
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/demobaseentity/DemoBaseentityMapper.xml → yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/demobaseentity/YDeviceImageMapper.xml

0
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/demoidentity/DemoIdentityMapper.xml → yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/demoidentity/YDeviceImageMapper.xml

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

@ -1,14 +1,11 @@
package com.yxt.supervise.monitor.biz.mapper;
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.demoidentity.DemoIdentity;
import com.yxt.supervise.monitor.api.entity.Device;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface YDeviceMapper extends BaseMapper<Device> {
IPage<Device> getDevicePage();
}

20
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/controller/YDeviceRest.java → yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceRest.java

@ -1,27 +1,17 @@
package com.yxt.supervise.monitor.biz.controller;
package com.yxt.supervise.monitor.biz.device;
import com.alibaba.fastjson.JSONObject;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.supervise.monitor.api.entity.Device;
import com.yxt.supervise.monitor.api.vo.PageVo;
import com.yxt.supervise.monitor.biz.demobaseentity.DemoBaseentityService;
import com.yxt.supervise.monitor.biz.service.YDeviceService;
import com.yxt.supervise.monitor.biz.util.HttpUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.util.HashMap;
import java.util.Map;
@Api(tags = "设备控制器")
@RestController("com.yxt.supervise.monitor.biz.controller.YDeviceRest")
@RestController("com.yxt.supervise.monitor.biz.device.YDeviceRest")
@RequestMapping("/device")
public class YDeviceRest {
@ -68,4 +58,10 @@ public class YDeviceRest {
rb.setData(yDeviceService.getById(id));
return rb;
}
@ApiOperation("删除设备")
@GetMapping("/removeDeviceByIds")
public ResultBean removeDeviceByIds(String ids) {
return yDeviceService.removeDeviceByIds(ids);
}
}

68
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/impl/IYDeviceServiceImpl.java → yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/device/YDeviceService.java

@ -1,4 +1,4 @@
package com.yxt.supervise.monitor.biz.service.impl;
package com.yxt.supervise.monitor.biz.device;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
@ -9,8 +9,7 @@ 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.vo.PageVo;
import com.yxt.supervise.monitor.biz.mapper.YDeviceMapper;
import com.yxt.supervise.monitor.biz.service.YDeviceService;
import com.yxt.supervise.monitor.biz.scheduled.SyncService;
import com.yxt.supervise.monitor.biz.util.HttpUtils;
import org.springframework.stereotype.Service;
import springfox.documentation.spring.web.json.Json;
@ -20,13 +19,11 @@ import java.util.HashMap;
import java.util.Map;
@Service
public class IYDeviceServiceImpl extends ServiceImpl<YDeviceMapper, Device> implements YDeviceService {
public class YDeviceService extends ServiceImpl<YDeviceMapper, Device> {
@Resource
YDeviceMapper yDeviceMapper;
@Override
public IPage<Device> getDevicePage(Map<String, String> searchVo, PageVo pageVo) {
IPage<Device> page = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>();
page.setSize(pageVo.getSize());
@ -52,38 +49,57 @@ public class IYDeviceServiceImpl extends ServiceImpl<YDeviceMapper, Device> impl
return athleteBOIPage;
}
@Override
public ResultBean createDevice(Device device) {
ResultBean rb = ResultBean.fireSuccess();
return rb.setData(this.save(device));
// 先给海康接口添加设备 如果失败直接返回失败
String url = "https://api2.hik-cloud.com/api/v1/open/basic/devices/create";
Map<String, Object> param = new HashMap<>();
param.put("deviceSerial", "Q16362484"); // 设备序列号 string
param.put("groupNo", "A1181"); // 组编号 string
param.put("validateCode", device.getVCode()); // 验证码 string
String paramJson = JSONObject.toJSONString(param);
String result = HttpUtils.sendPostJson(url, paramJson, "35ad3e80-1de4-4477-827e-0473320cf644");
JSONObject jsonObject = JSONObject.parseObject(result);
if ("200".equals(jsonObject.get("code").toString())) {
return rb.setData(this.save(device));
} else {
rb.setData(jsonObject.get("message"));
return rb;
}
// // 先给海康接口添加设备 如果失败直接返回失败
// String url = "https://api2.hik-cloud.com/api/v1/open/basic/devices/create";
// Map<String, Object> param = new HashMap<>();
// param.put("deviceSerial", device.getDeviceSerial()); // 设备序列号 string
// param.put("groupNo", "A1181"); // 组编号 string
// param.put("validateCode", device.getVCode()); // 验证码 string
// String paramJson = JSONObject.toJSONString(param);
// String result = HttpUtils.sendPostJson(url, paramJson, SyncService.haiKangToken);
// JSONObject jsonObject = JSONObject.parseObject(result);
// if ("200".equals(jsonObject.get("code").toString())) {
// return rb.setData(this.save(device));
// } else {
// rb.setData(jsonObject.get("message"));
// return rb;
// }
}
@Override
public ResultBean createDeviceGroup(Device device) {
ResultBean rb = ResultBean.fireFail();
String url = "https://api2.hik-cloud.com/api/v1/open/basic/groups/create";
Map<String, Object> param = new HashMap<>();
param.put("groupName", "测试添加"); // 设备序列号 string
param.put("groupName", "设备组"); // 设备序列号 string
param.put("groupNo", "A1181"); // 组编号 string
String paramJson = JSONObject.toJSONString(param);
String result = HttpUtils.sendPostJson(url, paramJson, "35ad3e80-1de4-4477-827e-0473320cf644");
String result = HttpUtils.sendPostJson(url, paramJson, SyncService.haiKangToken);
rb.setData(result);
return rb;
}
public ResultBean removeDeviceByIds(String idStr) {
ResultBean rb = ResultBean.fireFail();
String[] ids = idStr.split(",");
for (String id : ids) {
String url = "https://api2.hik-cloud.com/api/v1/open/basic/devices/delete";
Map<String, Object> param = new HashMap<>();
param.put("deviceSerial", id); // 设备序列号 string
// String paramJson = JSONObject.toJSONString(param);
String result = HttpUtils.sendPostMap(url, param, SyncService.haiKangToken);
JSONObject jsonObject = JSONObject.parseObject(result);
if ("200".equals(jsonObject.get("code").toString())) {
rb.setData(this.removeById(id));
}
}
return rb;
}
}

12
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/deviceImage/YDeviceImageMapper.java

@ -0,0 +1,12 @@
package com.yxt.supervise.monitor.biz.deviceImage;
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.DeviceImage;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface YDeviceImageMapper extends BaseMapper<DeviceImage> {
IPage<DeviceImage> getDevicePage();
}

33
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/deviceImage/YDeviceImageRest.java

@ -0,0 +1,33 @@
package com.yxt.supervise.monitor.biz.deviceImage;
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.*;
import java.util.Map;
@Api(tags = "设备控制器")
@RestController("com.yxt.supervise.monitor.biz.deviceImage.YDeviceImageRest")
@RequestMapping("/deviceImage")
public class YDeviceImageRest {
@Autowired
private YDeviceImageService yDeviceService;
@ApiOperation("分页获取设备抓拍列表")
@GetMapping("/getDeviceImagePage")
public ResultBean getDeviceImagePage(@RequestParam Map<String, String> searchVo,
@ModelAttribute PageVo pageVo) {
yDeviceService.getDeviceImageBefore();
ResultBean rb = ResultBean.fireSuccess();
// rb.setData(yDeviceService.getDeviceImagePage(searchVo, pageVo));
return rb;
}
}

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

@ -0,0 +1,62 @@
package com.yxt.supervise.monitor.biz.deviceImage;
import cn.hutool.core.util.StrUtil;
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.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.DeviceImage;
import com.yxt.supervise.monitor.api.vo.PageVo;
import com.yxt.supervise.monitor.biz.scheduled.SyncService;
import com.yxt.supervise.monitor.biz.util.HttpUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
@Service
public class YDeviceImageService extends ServiceImpl<YDeviceImageMapper, DeviceImage> {
public IPage<DeviceImage> getDeviceImagePage(Map<String, String> searchVo, PageVo pageVo) {
IPage<DeviceImage> page = new Page<>();
page.setSize(pageVo.getSize());
page.setCurrent((long) pageVo.getCurrent());
QueryWrapper<DeviceImage> queryWrapper = new QueryWrapper<>();
if (StrUtil.isNotBlank(searchVo.get("name"))) {
queryWrapper.like("name", searchVo.get("name"));
}
if (StrUtil.isNotBlank(searchVo.get("type"))) {
queryWrapper.eq("type", searchVo.get("type"));
}
queryWrapper.eq("isDelete", 0);
IPage<DeviceImage> athleteBOIPage = null;
try {
athleteBOIPage = baseMapper.selectPage(page, queryWrapper);
} catch (Exception e) {
System.out.println(e);
athleteBOIPage = null;
}
return athleteBOIPage;
}
public void getDeviceImageBefore() {
String url = "https://api2.hik-cloud.com/api/v1/open/basic/channels/actions/capture";
Map<String, Object> param = new HashMap<>();
param.put("deviceSerial", "Q16362484"); // 设备序列号 string
param.put("channelNo", "1"); // 组编号 string
String paramJson = JSONObject.toJSONString(param);
String result = HttpUtils.sendPostJson(url, paramJson, SyncService.haiKangToken);
JSONObject jsonObject = JSONObject.parseObject(result);
System.out.println(jsonObject);
}
}

6
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/mapper/YDeviceLogMapper.java → yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/devicelog/YDeviceLogMapper.java

@ -1,14 +1,10 @@
package com.yxt.supervise.monitor.biz.mapper;
package com.yxt.supervise.monitor.biz.devicelog;
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.DeviceLog;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface YDeviceLogMapper extends BaseMapper<DeviceLog> {
IPage<Device> getDevicePage();
}

31
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/devicelog/YDeviceLogRest.java

@ -0,0 +1,31 @@
package com.yxt.supervise.monitor.biz.devicelog;
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.*;
import java.util.Map;
@Api(tags = "设备日志控制器")
@RestController("com.yxt.supervise.monitor.biz.devicelog.YDeviceLogRest")
@RequestMapping("/deviceLog")
public class YDeviceLogRest {
@Autowired
private YDeviceLogService yDeviceLogService;
@ApiOperation("分页获取设备日志列表")
@GetMapping("/getDeviceLogPage")
public ResultBean getDeviceLogPage(@RequestParam Map<String, String> searchVo,
@ModelAttribute PageVo pageVo) {
ResultBean rb = ResultBean.fireSuccess();
rb.setData(yDeviceLogService.getDeviceLogPage(searchVo, pageVo));
return rb;
}
}

41
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/devicelog/YDeviceLogService.java

@ -0,0 +1,41 @@
package com.yxt.supervise.monitor.biz.devicelog;
import cn.hutool.core.util.StrUtil;
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.DeviceLog;
import com.yxt.supervise.monitor.api.vo.PageVo;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
public class YDeviceLogService extends ServiceImpl<YDeviceLogMapper, DeviceLog> {
public IPage<DeviceLog> getDeviceLogPage(Map<String, String> searchVo, PageVo pageVo) {
IPage<DeviceLog> page = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>();
page.setSize(pageVo.getSize());
page.setCurrent((long) pageVo.getCurrent());
QueryWrapper<DeviceLog> queryWrapper = new QueryWrapper<>();
if (StrUtil.isNotBlank(searchVo.get("name"))) {
queryWrapper.like("name", searchVo.get("name"));
}
if (StrUtil.isNotBlank(searchVo.get("type"))) {
queryWrapper.eq("type", searchVo.get("type"));
}
queryWrapper.eq("isDelete", 0);
IPage<DeviceLog> athleteBOIPage = null;
try {
athleteBOIPage = baseMapper.selectPage(page, queryWrapper);
} catch (Exception e) {
System.out.println(e);
athleteBOIPage = null;
}
return athleteBOIPage;
}
}

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

@ -0,0 +1,15 @@
package com.yxt.supervise.monitor.biz.messageInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.supervise.monitor.api.entity.CallPolice;
import com.yxt.supervise.monitor.api.entity.Device;
import com.yxt.supervise.monitor.api.entity.MessageInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface YMessageInfoMapper extends BaseMapper<MessageInfo> {
}

15
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/controller/YCallPoliceRest.java → yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/messageInfo/YMessageInfoRest.java

@ -1,8 +1,5 @@
package com.yxt.supervise.monitor.biz.controller;
package com.yxt.supervise.monitor.biz.messageInfo;
import com.yxt.supervise.monitor.api.entity.Device;
import com.yxt.supervise.monitor.biz.service.YCallPoliceService;
import com.yxt.supervise.monitor.biz.service.YDeviceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -14,18 +11,18 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@Api(tags = "报警控制器")
@RestController("com.yxt.supervise.monitor.biz.controller.YCallPoliceRest")
@RequestMapping("/callPolice")
public class YCallPoliceRest {
@RestController("com.yxt.supervise.monitor.biz.messageInfo.YMessageInfoRest")
@RequestMapping("/messageInfo")
public class YMessageInfoRest {
@Autowired
private YCallPoliceService yCallPoliceService;
private YMessageInfoService yCallPoliceService;
@ApiOperation("分页获取报警列表")
@GetMapping("/getDevicePage")
public String getDevicePage(@RequestParam Map<String,String> searchVo) {
yCallPoliceService.getDevicePage(searchVo);
// yCallPoliceService.getDevicePage(searchVo);
return null;
}

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

@ -0,0 +1,83 @@
package com.yxt.supervise.monitor.biz.messageInfo;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yxt.supervise.monitor.api.entity.CallPolice;
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.biz.callpolice.YCallPoliceMapper;
import com.yxt.supervise.monitor.biz.devicelog.YDeviceLogMapper;
import com.yxt.supervise.monitor.biz.scheduled.SyncService;
import com.yxt.supervise.monitor.biz.util.HttpUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class YMessageInfoService extends ServiceImpl<YMessageInfoMapper, MessageInfo> {
@Resource
YCallPoliceMapper yCallPoliceMapper;
@Resource
YDeviceLogMapper yDeviceLogMapper;
public List<CallPolice> saveMessageInfo() {
String url = "https://api2.hik-cloud.com/api/v1/mq/consumer/messages";
Map<String, Object> param = new HashMap<>();
param.put("consumerId", SyncService.haiKangMessageConsumer); // 消费者id string
String result = HttpUtils.sendPostMap(url, param, SyncService.haiKangToken);
JSONObject jsonObject = JSONObject.parseObject(result);
if ("200".equals(jsonObject.get("code").toString())) {
JSONArray jsonArray = (JSONArray) jsonObject.get("data");
String jsonStr = jsonArray.toJSONString();
List<MessageVo> messageList = JSONObject.parseArray(jsonStr, MessageVo.class);
for (MessageVo messageVo : messageList) {
QueryWrapper<MessageInfo> wrapper = new QueryWrapper<>();
wrapper.eq("msgId", messageVo.getMsgId());
int msgCount = this.count(wrapper);
if (msgCount < 1) {
// 先添加到消息表
MessageInfo messageInfo = new MessageInfo();
messageInfo.setMsgId(messageVo.getMsgId());
messageInfo.setMsgType(messageVo.getMsgType());
messageInfo.setContent(messageVo.getContent());
messageInfo.setCreateTime(new Date());
this.save(messageInfo);
// 判断是日志信息,添加到日志表
if ("open_device_onoffline".equals(messageVo.getMsgType()) // 设备上下线消息
|| "open_device_drop".equals(messageVo.getMsgType()) // 设备坠落事件
) {
DeviceLog deviceLog = new DeviceLog();
deviceLog.setMsgId(messageVo.getMsgId());
deviceLog.setContent(messageVo.getContent());
deviceLog.setCreateTime(new Date());
yDeviceLogMapper.insert(deviceLog);
}
// 判断是报警信息,添加到报警表
if ("open_device_alarm".equals(messageVo.getMsgType())) {
// 判断是日志信息,添加到日志表
CallPolice callPolice = new CallPolice();
callPolice.setMsgId(messageVo.getMsgId());
callPolice.setMsgType(messageVo.getMsgType());
callPolice.setContent(messageVo.getContent());
callPolice.setCreateTime(new Date());
yCallPoliceMapper.insert(callPolice);
}
}
}
}
return null;
}
}

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

@ -1,60 +1,77 @@
package com.yxt.supervise.monitor.biz.scheduled;
import com.alibaba.fastjson.JSONObject;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.monitor.biz.callpolice.YCallPoliceService;
import com.yxt.supervise.monitor.biz.messageInfo.YMessageInfoService;
import com.yxt.supervise.monitor.biz.util.HttpUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.ssl.SSLContextBuilder;
import org.apache.http.ssl.TrustStrategy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import lombok.extern.slf4j.Slf4j;
import java.util.HashMap;
import java.util.Map;
@Service
@Slf4j
public class SyncService {
// @Scheduled(fixedDelay = 1000 * 60 * 120) //间隔120分钟执行一次
// public void pushPersonHospital() {
// try {
// System.out.println("推送老人出入院记录和评估照片");
// iCityPlatformService.pushPersonHospital();
// } catch (Exception ex) {
// log.error("推送老人出入院记录和评估照片出错:" + ex);
// }
// }
//
//
// /**
// * 删除三个月前的日志 (每月1号执行一次)
// */
// @Async
// @Scheduled(cron = "0 0 0 1 * ?")
// public void removeLog() {
// try {
// System.out.println("删除三个月前的日志");
// iCityPlatformService.removeLog();
// } catch (Exception ex) {
// log.error("删除三个月前的日志出错:" + ex);
@Autowired
YMessageInfoService yMessageInfoService;
public static String haiKangToken = "";
public static String haiKangMessageConsumer = "";
@PostConstruct
public void getMessageConsumer() {
// 先登录
String loginUrl = "https://api2.hik-cloud.com/oauth/token";
Map<String, Object> tokenParam = new HashMap<>();
tokenParam.put("client_id", "e8e655dfcb154be6962f270fe375edc1"); // 客户端ID String
tokenParam.put("client_secret", "3ca20239398c4b86b27c6a080d8345e1"); //访问密钥 String
tokenParam.put("grant_type", "client_credentials"); //认证模式 String 目前仅支持client_credentials
String tokenResult = HttpUtils.sendPostMap(loginUrl, tokenParam, "");
JSONObject tokenObject = JSONObject.parseObject(tokenResult);
SyncService.haiKangToken = tokenObject.get("access_token").toString();
// String consumerUrl = "https://api2.hik-cloud.com/api/v1/mq/consumer/group1";
// Map<String, Object> consumerParam = new HashMap<>();
// String consumerResult = HttpUtils.sendPostMap(consumerUrl, consumerParam, SyncService.haiKangToken);
// JSONObject consumerObject = JSONObject.parseObject(consumerResult);
// if ("200".equals(consumerObject.get("code").toString())) {
// JSONObject dataObject = (JSONObject) consumerObject.get("data");
// SyncService.haiKangMessageConsumer = dataObject.get("consumerId").toString();
// System.out.println("Get MessageConsumer Success");
// log.info("Get MessageConsumer Success");
// } else {
// System.out.println("Get MessageConsumer Error");
// log.error("Get MessageConsumer Error");
// }
// }
//
@Async
@Scheduled(fixedDelay = 1000 * 20 * 1) //间隔20秒一次
// @Scheduled(cron = "0 10 9 * * ?")
public void pushEmail() {
try {
System.out.println(1111);
} catch (Exception ex) {
ex.printStackTrace();
}
}
// @Async
// @Scheduled(fixedDelay = 1000 * 60 * 1) //间隔1分钟执行一次
//// @Scheduled(cron = "0 10 9 * * ?")
// public void tempPush() {
// @Scheduled(fixedDelay = 1000 * 20 * 1) //20秒拉取一次报警信息
// public void pushEmail() {
// try {
// iCityPlatformService.pushEmail();
// yMessageInfoService.saveMessageInfo();
// } catch (Exception ex) {
// log.error("临时同步" + ex);
// ex.printStackTrace();
// }
// }

18
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/YCallPoliceService.java

@ -1,18 +0,0 @@
package com.yxt.supervise.monitor.biz.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yxt.supervise.monitor.api.entity.CallPolice;
import com.yxt.supervise.monitor.api.entity.Device;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
public interface YCallPoliceService extends IService<CallPolice> {
IPage<Device> getDevicePage(Map<String,String> searchVo);
String createDevice(Device device);
}

18
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/YDeviceLogService.java

@ -1,18 +0,0 @@
package com.yxt.supervise.monitor.biz.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yxt.supervise.monitor.api.entity.Device;
import com.yxt.supervise.monitor.api.entity.DeviceLog;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
public interface YDeviceLogService extends IService<DeviceLog> {
IPage<Device> getDevicePage(Map<String,String> searchVo);
String createDevice(Device device);
}

25
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/YDeviceService.java

@ -1,25 +0,0 @@
package com.yxt.supervise.monitor.biz.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yxt.common.core.result.ResultBean;
import com.yxt.supervise.monitor.api.demoidentity.DemoIdentity;
import com.yxt.supervise.monitor.api.entity.Device;
import com.yxt.supervise.monitor.api.vo.PageVo;
import com.yxt.supervise.monitor.biz.demoidentity.DemoIdentityMapper;
import com.yxt.supervise.monitor.biz.mapper.YDeviceMapper;
import com.yxt.supervise.monitor.biz.service.impl.IYDeviceServiceImpl;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
public interface YDeviceService extends IService<Device> {
IPage<Device> getDevicePage(Map<String, String> searchVo, PageVo pageVo);
ResultBean createDevice(Device device);
ResultBean createDeviceGroup(Device device);
}

31
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/impl/IYCallPoliceServiceImpl.java

@ -1,31 +0,0 @@
package com.yxt.supervise.monitor.biz.service.impl;
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.biz.mapper.YCallPoliceMapper;
import com.yxt.supervise.monitor.biz.mapper.YDeviceMapper;
import com.yxt.supervise.monitor.biz.service.YCallPoliceService;
import com.yxt.supervise.monitor.biz.service.YDeviceService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Map;
@Service
public class IYCallPoliceServiceImpl extends ServiceImpl<YCallPoliceMapper, CallPolice> implements YCallPoliceService {
@Resource YDeviceMapper yDeviceMapper;
@Override
public IPage<Device> getDevicePage(Map<String,String> searchVo){
return yDeviceMapper.getDevicePage();
}
@Override
public String createDevice(Device device){
return null;
}
}

31
yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/impl/IYDeviceLogServiceImpl.java

@ -1,31 +0,0 @@
package com.yxt.supervise.monitor.biz.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yxt.supervise.monitor.api.entity.Device;
import com.yxt.supervise.monitor.api.entity.DeviceLog;
import com.yxt.supervise.monitor.biz.mapper.YDeviceLogMapper;
import com.yxt.supervise.monitor.biz.mapper.YDeviceMapper;
import com.yxt.supervise.monitor.biz.service.YDeviceLogService;
import com.yxt.supervise.monitor.biz.service.YDeviceService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Map;
@Service
public class IYDeviceLogServiceImpl extends ServiceImpl<YDeviceLogMapper, DeviceLog> implements YDeviceLogService {
@Resource YDeviceMapper yDeviceMapper;
@Override
public IPage<Device> getDevicePage(Map<String,String> searchVo){
return yDeviceMapper.getDevicePage();
}
@Override
public String createDevice(Device device){
return null;
}
}

0
yxt-supervise-monitor-biz/src/main/resources/mapper/DemoIdentityMapper.xml → yxt-supervise-monitor-biz/src/main/resources/mapper/YDeviceImageMapper.xml

Loading…
Cancel
Save