package com.ruoyi.alarm.controller; import com.ruoyi.alarm.dto.AlarmCollectionInterfaceDto; import com.ruoyi.alarm.service.IAlarmCollectionService; import com.ruoyi.alarm.vo.AlarmCollectionInterfaceVo; import com.ruoyi.alarm.vo.AlarmStatisticsVo; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.controller.BaseController; import com.ruoyi.framework.web.domain.AjaxResult; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @Api(tags = "数据采集与解析模块") @RestController @AllArgsConstructor @RequestMapping("/alarm/collection") public class AlarmCollectionController extends BaseController { private IAlarmCollectionService alarmCollectionService; @ApiOperation("采集统计概览") @GetMapping("/statistics") public AjaxResult getStatistics() { AlarmStatisticsVo data = alarmCollectionService.getStatistics(); return AjaxResult.success(data); } @ApiOperation("数据采集接口列表") @GetMapping("/interface/list") public AjaxResult getInterfaceList() { List data = alarmCollectionService.getInterfaceList(); return AjaxResult.success(data); } @ApiOperation("启动数据采集") @Log(title = "数据采集接口", businessType = BusinessType.UPDATE) @PostMapping("/interface/start/{interfaceId}") public AjaxResult startInterface(@PathVariable Long interfaceId) { return toAjax(alarmCollectionService.startInterface(interfaceId)); } @ApiOperation("停止数据采集") @Log(title = "数据采集接口", businessType = BusinessType.UPDATE) @PostMapping("/interface/stop/{interfaceId}") public AjaxResult stopInterface(@PathVariable Long interfaceId) { return toAjax(alarmCollectionService.stopInterface(interfaceId)); } @ApiOperation("新增或修改数据采集接口") @PostMapping("/interface") public AjaxResult addOrUpdateInterface(@Validated @RequestBody AlarmCollectionInterfaceDto dto) { return toAjax(alarmCollectionService.addOrUpdateInterface(dto)); } @ApiOperation("删除数据采集接口") @Log(title = "数据采集接口", businessType = BusinessType.DELETE) @DeleteMapping("/interface/{interfaceId}") public AjaxResult deleteInterface(@PathVariable Long interfaceId) { return toAjax(alarmCollectionService.deleteInterface(interfaceId)); } }