From 9db6bd4a5bde53f1bec6aea90842dce16bab629d Mon Sep 17 00:00:00 2001 From: "1181364@qq.com" Date: Fri, 2 Jun 2023 12:25:26 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E6=8E=A7=E5=88=B6=E5=99=A8?= =?UTF-8?q?=20=E4=B8=9A=E5=8A=A1=E5=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yxt/supervise/monitor/api/vo/PageVo.java | 27 ++++++++++++ .../biz/controller/YDeviceLogRest.java | 4 +- .../monitor/biz/controller/YDeviceRest.java | 23 ++++++---- .../monitor/biz/service/YDeviceService.java | 4 +- .../biz/service/impl/IYDeviceServiceImpl.java | 44 +++++++++++++++++-- 5 files changed, 86 insertions(+), 16 deletions(-) create mode 100644 yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/vo/PageVo.java diff --git a/yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/vo/PageVo.java b/yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/vo/PageVo.java new file mode 100644 index 0000000..cb3e4a5 --- /dev/null +++ b/yxt-supervise-monitor-api/src/main/java/com/yxt/supervise/monitor/api/vo/PageVo.java @@ -0,0 +1,27 @@ +package com.yxt.supervise.monitor.api.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author Exrickx + */ +@Data +public class PageVo implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "页号") + private int current; + + @ApiModelProperty(value = "页面大小") + private int size; + + @ApiModelProperty(value = "排序字段") + private String sort; + + @ApiModelProperty(value = "排序方式 asc/desc") + private String order; +} diff --git a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/controller/YDeviceLogRest.java b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/controller/YDeviceLogRest.java index ad2fa19..7b50fe3 100644 --- a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/controller/YDeviceLogRest.java +++ b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/controller/YDeviceLogRest.java @@ -14,8 +14,8 @@ import org.springframework.web.bind.annotation.RestController; import java.util.Map; @Api(tags = "设备日志控制器") -@RestController("com.yxt.supervise.monitor.biz.controller.YDeviceRest") -@RequestMapping("/device") +@RestController("com.yxt.supervise.monitor.biz.controller.YDeviceLogRest") +@RequestMapping("/deviceLog") public class YDeviceLogRest { @Autowired diff --git a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/controller/YDeviceRest.java b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/controller/YDeviceRest.java index c5dd7b2..cdf27ca 100644 --- a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/controller/YDeviceRest.java +++ b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/controller/YDeviceRest.java @@ -2,17 +2,16 @@ package com.yxt.supervise.monitor.biz.controller; 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.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.io.IOException; import java.security.KeyManagementException; @@ -32,16 +31,22 @@ public class YDeviceRest { @ApiOperation("分页获取设备列表") @GetMapping("/getDevicePage") - public String getDevicePage(@RequestParam Map searchVo) { + public String getDevicePage(@RequestParam Map searchVo, + @ModelAttribute PageVo pageVo) { yDeviceService.getDevicePage(searchVo); return null; } + @ApiOperation("添加设备组") + @PostMapping("/createDeviceGroup") + public ResultBean createDeviceGroup(Device device) { + return yDeviceService.createDeviceGroup(device); + } + @ApiOperation("添加设备") - @GetMapping("/createDevice") - public String createDevice(@RequestParam Device device) { - yDeviceService.createDevice(device); - return null; + @PostMapping("/createDevice") + public ResultBean createDevice(Device device) { + return yDeviceService.createDevice(device); } } diff --git a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/YDeviceService.java b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/YDeviceService.java index e43f3e4..054cd6e 100644 --- a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/YDeviceService.java +++ b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/YDeviceService.java @@ -3,6 +3,7 @@ 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.biz.demoidentity.DemoIdentityMapper; @@ -17,6 +18,7 @@ public interface YDeviceService extends IService { IPage getDevicePage(Map searchVo); + ResultBean createDevice(Device device); - String createDevice(Device device); + ResultBean createDeviceGroup(Device device); } diff --git a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/impl/IYDeviceServiceImpl.java b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/impl/IYDeviceServiceImpl.java index 90a0365..d131903 100644 --- a/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/impl/IYDeviceServiceImpl.java +++ b/yxt-supervise-monitor-biz/src/main/java/com/yxt/supervise/monitor/biz/service/impl/IYDeviceServiceImpl.java @@ -1,28 +1,64 @@ package com.yxt.supervise.monitor.biz.service.impl; +import com.alibaba.fastjson.JSONObject; 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.Device; import com.yxt.supervise.monitor.biz.mapper.YDeviceMapper; import com.yxt.supervise.monitor.biz.service.YDeviceService; +import com.yxt.supervise.monitor.biz.util.HttpUtils; import org.springframework.stereotype.Service; +import springfox.documentation.spring.web.json.Json; import javax.annotation.Resource; +import java.util.HashMap; import java.util.Map; @Service public class IYDeviceServiceImpl extends ServiceImpl implements YDeviceService { - @Resource YDeviceMapper yDeviceMapper; + @Resource + YDeviceMapper yDeviceMapper; @Override - public IPage getDevicePage(Map searchVo){ + public IPage getDevicePage(Map searchVo) { return yDeviceMapper.getDevicePage(); } @Override - public String createDevice(Device device){ - return null; + public ResultBean createDevice(Device device) { + ResultBean rb = ResultBean.fireSuccess(); + + // 先给海康接口添加设备 如果失败直接返回失败 + String url = "https://api2.hik-cloud.com/api/v1/open/basic/devices/create"; + Map 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; + } + } + + @Override + public ResultBean createDeviceGroup(Device device) { + ResultBean rb = ResultBean.fireFail(); + + String url = "https://api2.hik-cloud.com/api/v1/open/basic/groups/create"; + Map param = new HashMap<>(); + 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"); + rb.setData(result); + return rb; } }