liu
6 天以前 722f3d8cfd48e3db2836578b36cff648dee1f72a
src/main/java/com/ruoyi/unattended/telemetry/controller/DeviceTelemetryController.java
@@ -6,6 +6,9 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import org.springframework.http.MediaType;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;
import com.ruoyi.unattended.telemetry.service.DeviceAlarmPushService;
import javax.annotation.Resource;
import java.util.List;
@@ -21,6 +24,9 @@
    @Resource
    private DeviceTelemetryService deviceTelemetryService;
    @Resource
    private DeviceAlarmPushService alarmPushService;
    @GetMapping("/list")
    @ApiOperation("实时监控列表")
    public AjaxResult list() {
@@ -31,6 +37,16 @@
    @ApiOperation("触发一次采集")
    public AjaxResult collect() {
        return AjaxResult.success(deviceTelemetryService.collectOnce());
    }
    @PostMapping("/report")
    @ApiOperation("PLC/边缘网关上报遥测数据")
    public AjaxResult report(@RequestBody DeviceTelemetry telemetry) {
        try {
            return AjaxResult.success(deviceTelemetryService.report(telemetry));
        } catch (IllegalArgumentException e) {
            return AjaxResult.error(e.getMessage());
        }
    }
    @GetMapping("/history")
@@ -47,6 +63,12 @@
        return AjaxResult.success(deviceTelemetryService.alarms());
    }
    @GetMapping(value = "/alarm-stream", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
    @ApiOperation("订阅实时报警推送")
    public SseEmitter alarmStream() {
        return alarmPushService.subscribe();
    }
    @PostMapping("/control")
    @ApiOperation("远程启停")
    public AjaxResult control(@RequestBody ControlRequest request) {