|
@@ -10,11 +10,16 @@
|
|
|
package cc.iotkit.manager.controller;
|
|
|
|
|
|
import cc.iotkit.common.api.PageRequest;
|
|
|
+import cc.iotkit.common.api.Request;
|
|
|
import cc.iotkit.common.enums.ErrCode;
|
|
|
import cc.iotkit.common.exception.BizException;
|
|
|
import cc.iotkit.common.satoken.utils.AuthUtil;
|
|
|
import cc.iotkit.common.utils.ReflectUtil;
|
|
|
import cc.iotkit.data.manager.IVirtualDeviceData;
|
|
|
+import cc.iotkit.manager.dto.bo.ChangeStateBo;
|
|
|
+import cc.iotkit.manager.dto.bo.device.DeviceLogQueryBo;
|
|
|
+import cc.iotkit.manager.dto.bo.device.DeviceSaveScriptBo;
|
|
|
+import cc.iotkit.manager.dto.bo.virtualdevice.VirtualSaveDevicesBo;
|
|
|
import cc.iotkit.manager.service.DataOwnerService;
|
|
|
import cc.iotkit.common.api.Paging;
|
|
|
import cc.iotkit.model.device.VirtualDevice;
|
|
@@ -23,8 +28,10 @@ import cc.iotkit.model.product.Product;
|
|
|
import cc.iotkit.temporal.IVirtualDeviceLogData;
|
|
|
import cc.iotkit.virtualdevice.VirtualManager;
|
|
|
import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.util.List;
|
|
@@ -44,7 +51,9 @@ public class VirtualDeviceController {
|
|
|
@Autowired
|
|
|
private IVirtualDeviceLogData virtualDeviceLogData;
|
|
|
|
|
|
- @PostMapping("/list/{size}/{page}")
|
|
|
+
|
|
|
+ @ApiOperation("获取虚拟设备列表")
|
|
|
+ @PostMapping("/list")
|
|
|
public Paging<VirtualDevice> getDevices(
|
|
|
PageRequest<VirtualDevice> pageRequest) {
|
|
|
String uid = AuthUtil.getUserId();
|
|
@@ -58,6 +67,7 @@ public class VirtualDeviceController {
|
|
|
/**
|
|
|
* 添加虚拟设备
|
|
|
*/
|
|
|
+ @ApiOperation("添加虚拟设备")
|
|
|
@PostMapping("/add")
|
|
|
public void add(VirtualDevice virtualDevice) {
|
|
|
virtualDevice.setId(null);
|
|
@@ -70,8 +80,10 @@ public class VirtualDeviceController {
|
|
|
/**
|
|
|
* 修改虚拟设备
|
|
|
*/
|
|
|
+ @ApiOperation("修改虚拟设备")
|
|
|
@PostMapping("/modify")
|
|
|
- public void modify(VirtualDevice virtualDevice) {
|
|
|
+ public void modify(Request<VirtualDevice> bo) {
|
|
|
+ VirtualDevice virtualDevice = bo.getData();
|
|
|
VirtualDevice oldData = checkOwner(virtualDevice.getId());
|
|
|
ReflectUtil.copyNoNulls(virtualDevice, oldData,
|
|
|
"name", "productKey", "type", "trigger", "triggerExpression");
|
|
@@ -82,16 +94,21 @@ public class VirtualDeviceController {
|
|
|
/**
|
|
|
* 获取虚拟设备详情
|
|
|
*/
|
|
|
- @GetMapping("/{id}/detail")
|
|
|
- public VirtualDevice detail(@PathVariable("id") String id) {
|
|
|
- return checkOwner(id);
|
|
|
+ @ApiOperation("获取虚拟设备详情")
|
|
|
+ @GetMapping("/getDetail")
|
|
|
+ public VirtualDevice detail(@Validated @RequestBody Request<String> bo) {
|
|
|
+ return checkOwner(bo.getData());
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 设置虚拟设备状态
|
|
|
*/
|
|
|
- @PostMapping("/{id}/setState")
|
|
|
- public void setState(@PathVariable("id") String id, String state) {
|
|
|
+ @ApiOperation("设置虚拟设备状态")
|
|
|
+ @PostMapping("/setState")
|
|
|
+ public void setState(@Validated @RequestBody Request<ChangeStateBo> bo) {
|
|
|
+ ChangeStateBo data = bo.getData();
|
|
|
+ String id = data.getId();
|
|
|
+ String state = data.getState();
|
|
|
VirtualDevice oldData = checkOwner(id);
|
|
|
if (!VirtualDevice.STATE_RUNNING.equals(state)
|
|
|
&& !VirtualDevice.STATE_STOPPED.equals(state)) {
|
|
@@ -109,8 +126,10 @@ public class VirtualDeviceController {
|
|
|
/**
|
|
|
* 删除
|
|
|
*/
|
|
|
- @DeleteMapping("/{id}/delete")
|
|
|
- public void delete(@PathVariable("id") String id) {
|
|
|
+ @ApiOperation("删除虚拟设备")
|
|
|
+ @DeleteMapping("/delete")
|
|
|
+ public void delete(@Validated @RequestBody Request<String> bo) {
|
|
|
+ String id = bo.getData();
|
|
|
checkOwner(id);
|
|
|
virtualDeviceData.deleteById(id);
|
|
|
}
|
|
@@ -118,8 +137,12 @@ public class VirtualDeviceController {
|
|
|
/**
|
|
|
* 保存脚本
|
|
|
*/
|
|
|
- @PostMapping("/{id}/saveScript")
|
|
|
- public void saveScript(@PathVariable("id") String id, String script) {
|
|
|
+ @ApiOperation("保存脚本")
|
|
|
+ @PostMapping("/saveScript")
|
|
|
+ public void saveScript(@Validated @RequestBody Request<DeviceSaveScriptBo> bo) {
|
|
|
+ DeviceSaveScriptBo data = bo.getData();
|
|
|
+ String id = data.getId();
|
|
|
+ String script = data.getScript();
|
|
|
VirtualDevice old = checkOwner(id);
|
|
|
old.setScript(script);
|
|
|
virtualDeviceData.save(old);
|
|
@@ -128,8 +151,12 @@ public class VirtualDeviceController {
|
|
|
/**
|
|
|
* 保存关联设备
|
|
|
*/
|
|
|
- @PostMapping("/{id}/saveDevices")
|
|
|
- public void saveDevices(@PathVariable("id") String id, @RequestBody List<String> devices) {
|
|
|
+ @ApiOperation("保存关联设备")
|
|
|
+ @PostMapping("/saveDevices")
|
|
|
+ public void saveDevices(@Validated @RequestBody Request<VirtualSaveDevicesBo> bo) {
|
|
|
+ VirtualSaveDevicesBo data = bo.getData();
|
|
|
+ List<String> devices = data.getDevices();
|
|
|
+ String id = data.getId();
|
|
|
VirtualDevice old = checkOwner(id);
|
|
|
old.setDevices(devices);
|
|
|
virtualDeviceData.save(old);
|
|
@@ -138,8 +165,10 @@ public class VirtualDeviceController {
|
|
|
/**
|
|
|
* 手动执行虚拟设备
|
|
|
*/
|
|
|
- @PostMapping("/{id}/run")
|
|
|
- public void run(@PathVariable("id") String id) {
|
|
|
+ @ApiOperation("手动执行虚拟设备")
|
|
|
+ @PostMapping("/run")
|
|
|
+ public void run(@Validated @RequestBody Request<String> bo) {
|
|
|
+ String id = bo.getData();
|
|
|
VirtualDevice virtualDevice = checkOwner(id);
|
|
|
virtualManager.run(virtualDevice);
|
|
|
}
|
|
@@ -147,15 +176,16 @@ public class VirtualDeviceController {
|
|
|
/**
|
|
|
* 取虚拟设备执行日志
|
|
|
*/
|
|
|
- @PostMapping("/{id}/logs/{size}/{page}")
|
|
|
+ @ApiOperation("取虚拟设备执行日志")
|
|
|
+ @PostMapping("/logs/list")
|
|
|
public Paging<VirtualDeviceLog> getLogs(
|
|
|
- @PathVariable("id") String id,
|
|
|
- @PathVariable("size") int size,
|
|
|
- @PathVariable("page") int page
|
|
|
- ) {
|
|
|
- return virtualDeviceLogData.findByVirtualDeviceId(id, page, size);
|
|
|
+ @Validated @RequestBody PageRequest<DeviceLogQueryBo> bo) {
|
|
|
+ DeviceLogQueryBo data = bo.getData();
|
|
|
+
|
|
|
+ return virtualDeviceLogData.findByVirtualDeviceId(data.getDeviceId(), bo.getPageNum(), bo.getPageSize());
|
|
|
}
|
|
|
|
|
|
+
|
|
|
private VirtualDevice checkOwner(String id) {
|
|
|
VirtualDevice oldData = virtualDeviceData.findById(id);
|
|
|
if (oldData == null) {
|