package cn.iocoder.yudao.module.bi.controller.admin.decision; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.bi.controller.admin.decision.vo.DecisionAlertPageReqVO; import cn.iocoder.yudao.module.bi.controller.admin.decision.vo.DecisionAlertRespVO; import cn.iocoder.yudao.module.bi.dal.dataobject.decision.BiAlertRecordDO; import cn.iocoder.yudao.module.bi.service.decision.BiAlertRecordService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import jakarta.validation.Valid; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - 决策支持 预警中心") @RestController @RequestMapping("/bi/decision/alert") @Validated public class DecisionAlertController { @Resource private BiAlertRecordService alertRecordService; @GetMapping("/page") @Operation(summary = "获取预警记录分页") @PreAuthorize("@ss.hasPermission('bi:decision:alert:query')") public CommonResult> getAlertPage(@Valid DecisionAlertPageReqVO reqVO) { return success(alertRecordService.getRecordPage(reqVO)); } @GetMapping("/unprocessed-count") @Operation(summary = "获取未处理预警数量") @PreAuthorize("@ss.hasPermission('bi:decision:alert:query')") public CommonResult getUnprocessedCount() { return success(alertRecordService.getUnprocessedCount()); } @PostMapping("/confirm/{id}") @Operation(summary = "确认预警") @PreAuthorize("@ss.hasPermission('bi:decision:alert:confirm')") public CommonResult confirmAlert(@PathVariable("id") Long id) { alertRecordService.confirmRecord(id, 1L); return success(true); } @PostMapping("/handle") @Operation(summary = "处理预警") @PreAuthorize("@ss.hasPermission('bi:decision:alert:handle')") public CommonResult handleAlert(@RequestParam("id") Long id, @RequestParam(value = "handleRemark", required = false) String handleRemark) { alertRecordService.handleRecord(id, 1L, handleRemark); return success(true); } }