121 lines
3.5 KiB
Java
121 lines
3.5 KiB
Java
package com.muyu.warn.controller;
|
|
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import jakarta.servlet.http.HttpServletResponse;
|
|
import javax.annotation.Resource;
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
import com.muyu.common.security.annotation.RequiresPermissions;
|
|
import com.muyu.warn.domain.WarnRule;
|
|
import com.muyu.warn.service.IWarnRuleService;
|
|
import com.muyu.common.core.web.controller.BaseController;
|
|
import com.muyu.common.core.domain.Result;
|
|
import com.muyu.common.core.utils.poi.ExcelUtil;
|
|
import com.muyu.common.security.utils.SecurityUtils;
|
|
import org.springframework.validation.annotation.Validated;
|
|
import com.muyu.common.core.web.page.TableDataInfo;
|
|
|
|
/**
|
|
* 预警规则Controller
|
|
*
|
|
* @author muyu
|
|
* @date 2024-09-20
|
|
*/
|
|
@RestController
|
|
@RequestMapping("/rule")
|
|
public class WarnRuleController extends BaseController
|
|
{
|
|
@Resource
|
|
private IWarnRuleService warnRuleService;
|
|
|
|
/**
|
|
* 查询预警规则列表
|
|
*/
|
|
@RequiresPermissions("warn:rule:list")
|
|
@GetMapping("/list")
|
|
public Result<TableDataInfo<WarnRule>> list(WarnRule warnRule)
|
|
{
|
|
startPage();
|
|
List<WarnRule> list = warnRuleService.selectWarnRuleList(warnRule);
|
|
return getDataTable(list);
|
|
}
|
|
|
|
/**
|
|
* 导出预警规则列表
|
|
*/
|
|
@RequiresPermissions("warn:rule:export")
|
|
@PostMapping("/export")
|
|
public void export(HttpServletResponse response, WarnRule warnRule)
|
|
{
|
|
List<WarnRule> list = warnRuleService.selectWarnRuleList(warnRule);
|
|
ExcelUtil<WarnRule> util = new ExcelUtil<WarnRule>(WarnRule.class);
|
|
util.exportExcel(response, list, "预警规则数据");
|
|
}
|
|
|
|
/**
|
|
* 获取预警规则详细信息
|
|
*/
|
|
@RequiresPermissions("warn:rule:query")
|
|
@GetMapping(value = "/{id}")
|
|
public Result<List<WarnRule>> getInfo(@PathVariable("id") Long id)
|
|
{
|
|
return success(warnRuleService.selectWarnRuleById(id));
|
|
}
|
|
|
|
/**
|
|
* 新增预警规则
|
|
*/
|
|
@RequiresPermissions("warn:rule:add")
|
|
@PostMapping
|
|
public Result<Integer> add(
|
|
@Validated @RequestBody WarnRule warnRule)
|
|
{
|
|
if (warnRuleService.checkIdUnique(warnRule)) {
|
|
return error("新增 预警规则 '" + warnRule + "'失败,预警规则已存在");
|
|
}
|
|
return toAjax(warnRuleService.save(warnRule));
|
|
}
|
|
|
|
/**
|
|
* 修改预警规则
|
|
*/
|
|
@RequiresPermissions("warn:rule:edit")
|
|
@PutMapping
|
|
public Result<Integer> edit(
|
|
@Validated @RequestBody WarnRule warnRule)
|
|
{
|
|
if (!warnRuleService.checkIdUnique(warnRule)) {
|
|
return error("修改 预警规则 '" + warnRule + "'失败,预警规则不存在");
|
|
}
|
|
return toAjax(warnRuleService.updateById(warnRule));
|
|
}
|
|
|
|
/**
|
|
* 删除预警规则
|
|
*/
|
|
@RequiresPermissions("warn:rule:remove")
|
|
@DeleteMapping("/{ids}")
|
|
public Result<Integer> remove(@PathVariable("ids") Long[] ids)
|
|
{
|
|
warnRuleService.removeBatchByIds(Arrays.asList(ids));
|
|
return success();
|
|
}
|
|
|
|
|
|
/**
|
|
* 根据策略id查询规则
|
|
* @param strategyId
|
|
* @return
|
|
*/
|
|
@GetMapping("/selectByStrategyId")
|
|
public Result<List<WarnRule>> selectByStrategyId
|
|
(@RequestParam("strategyId") Long strategyId){
|
|
List<WarnRule> list = warnRuleService.list
|
|
(new LambdaQueryWrapper<WarnRule>().eq(WarnRule::getStrategyId, strategyId));
|
|
return success(list);
|
|
}
|
|
}
|