package com.ruoyi.unattended.telemetry.controller;
|
|
import com.ruoyi.framework.web.domain.AjaxResult;
|
import com.ruoyi.unattended.telemetry.pojo.DeviceTelemetry;
|
import com.ruoyi.unattended.telemetry.service.DeviceTelemetryService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
/**
|
* 设备远程监控
|
*/
|
@RestController
|
@RequestMapping("/environmentAccess/deviceMonitor")
|
@Api(tags = "设备远程监控")
|
public class DeviceTelemetryController {
|
|
@Resource
|
private DeviceTelemetryService deviceTelemetryService;
|
|
@GetMapping("/list")
|
@ApiOperation("实时监控列表")
|
public AjaxResult list() {
|
return AjaxResult.success(deviceTelemetryService.monitorList());
|
}
|
|
@PostMapping("/collect")
|
@ApiOperation("触发一次采集")
|
public AjaxResult collect() {
|
return AjaxResult.success(deviceTelemetryService.collectOnce());
|
}
|
|
@GetMapping("/history")
|
@ApiOperation("历史曲线")
|
public AjaxResult history(@RequestParam(required = false) Long deviceId,
|
@RequestParam(required = false) Integer limit) {
|
List<DeviceTelemetry> list = deviceTelemetryService.history(deviceId, limit);
|
return AjaxResult.success(list);
|
}
|
|
@GetMapping("/alarms")
|
@ApiOperation("实时报警")
|
public AjaxResult alarms() {
|
return AjaxResult.success(deviceTelemetryService.alarms());
|
}
|
|
@PostMapping("/control")
|
@ApiOperation("远程启停")
|
public AjaxResult control(@RequestBody ControlRequest request) {
|
if (request == null || request.getDeviceId() == null) {
|
return AjaxResult.error("设备id不能为空");
|
}
|
try {
|
return AjaxResult.success(deviceTelemetryService.control(request.getDeviceId(), request.getAction()));
|
} catch (IllegalArgumentException e) {
|
return AjaxResult.error(e.getMessage());
|
}
|
}
|
|
public static class ControlRequest {
|
private Long deviceId;
|
private String action;
|
|
public Long getDeviceId() {
|
return deviceId;
|
}
|
|
public void setDeviceId(Long deviceId) {
|
this.deviceId = deviceId;
|
}
|
|
public String getAction() {
|
return action;
|
}
|
|
public void setAction(String action) {
|
this.action = action;
|
}
|
}
|
}
|