package com.ruoyi.alarm.controller;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.alarm.dto.AlarmNuisanceStrategyDto;
|
import com.ruoyi.alarm.dto.AlarmRemoveApprovalDto;
|
import com.ruoyi.alarm.service.IAlarmOptimizationService;
|
import com.ruoyi.alarm.vo.*;
|
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/optimization")
|
public class AlarmOptimizationController extends BaseController {
|
|
private IAlarmOptimizationService alarmOptimizationService;
|
|
@ApiOperation("优化效果统计")
|
@GetMapping("/statistics")
|
public AjaxResult getStatistics() {
|
AlarmOptimizationStatisticsVo data = alarmOptimizationService.getStatistics();
|
return AjaxResult.success(data);
|
}
|
|
@ApiOperation("滋扰报警策略列表")
|
@GetMapping("/strategy/list")
|
public AjaxResult getStrategyList() {
|
List<AlarmNuisanceStrategyVo> data = alarmOptimizationService.getStrategyList();
|
return AjaxResult.success(data);
|
}
|
|
@ApiOperation("新增滋扰报警策略")
|
@Log(title = "滋扰报警策略", businessType = BusinessType.INSERT)
|
@PostMapping("/strategy")
|
public AjaxResult addStrategy(@Validated @RequestBody AlarmNuisanceStrategyDto dto) {
|
return toAjax(alarmOptimizationService.addStrategy(dto));
|
}
|
|
@ApiOperation("修改滋扰报警策略")
|
@Log(title = "滋扰报警策略", businessType = BusinessType.UPDATE)
|
@PutMapping("/strategy")
|
public AjaxResult updateStrategy(@Validated @RequestBody AlarmNuisanceStrategyDto dto) {
|
return toAjax(alarmOptimizationService.updateStrategy(dto));
|
}
|
|
@ApiOperation("删除滋扰报警策略")
|
@Log(title = "滋扰报警策略", businessType = BusinessType.DELETE)
|
@DeleteMapping("/strategy/{strategyId}")
|
public AjaxResult deleteStrategy(@PathVariable Long strategyId) {
|
return toAjax(alarmOptimizationService.deleteStrategy(strategyId));
|
}
|
|
@ApiOperation("修改策略状态")
|
@Log(title = "滋扰报警策略", businessType = BusinessType.UPDATE)
|
@PutMapping("/strategy/changeStatus")
|
public AjaxResult changeStrategyStatus(@RequestParam Long strategyId, @RequestParam Integer status) {
|
return toAjax(alarmOptimizationService.changeStrategyStatus(strategyId, status));
|
}
|
|
@ApiOperation("治理前后对比数据")
|
@GetMapping("/compare")
|
public AjaxResult getCompareData() {
|
AlarmCompareVo data = alarmOptimizationService.getCompareData();
|
return AjaxResult.success(data);
|
}
|
|
@ApiOperation("高频报警点位列表")
|
@GetMapping("/highfreq/list")
|
public AjaxResult getHighFreqList(@RequestParam(required = false, defaultValue = "5") Integer limit) {
|
List<AlarmHighFreqPointVo> data = alarmOptimizationService.getHighFreqList(limit);
|
return AjaxResult.success(data);
|
}
|
|
@ApiOperation("报警剔除审批列表")
|
@GetMapping("/approval/list")
|
public AjaxResult getApprovalList(Page page, @RequestParam(required = false) String status) {
|
IPage<AlarmRemoveApprovalVo> result = alarmOptimizationService.getApprovalList(page, status);
|
return AjaxResult.success(result);
|
}
|
|
@ApiOperation("提交剔除申请")
|
@Log(title = "报警剔除申请", businessType = BusinessType.INSERT)
|
@PostMapping("/approval")
|
public AjaxResult submitApproval(@Validated @RequestBody AlarmRemoveApprovalDto dto) {
|
return toAjax(alarmOptimizationService.submitApproval(dto));
|
}
|
|
@ApiOperation("审批通过")
|
@Log(title = "报警剔除审批", businessType = BusinessType.UPDATE)
|
@PostMapping("/approval/approve/{applyNo}")
|
public AjaxResult approveApproval(@PathVariable String applyNo) {
|
return toAjax(alarmOptimizationService.approveApproval(applyNo));
|
}
|
|
@ApiOperation("审批驳回")
|
@Log(title = "报警剔除审批", businessType = BusinessType.UPDATE)
|
@PostMapping("/approval/reject/{applyNo}")
|
public AjaxResult rejectApproval(@PathVariable String applyNo) {
|
return toAjax(alarmOptimizationService.rejectApproval(applyNo));
|
}
|
}
|