package com.ruoyi.web.controller.system; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysDictData; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.service.AiAlarmTypeService; import com.ruoyi.system.service.ISysDictDataService; import com.ruoyi.system.service.ISysDictTypeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** * AI报警管理Controller * * @author ruoyi * @date 2023-03-07 */ @RestController @RequestMapping("/ai/alarm") public class AiAlarmTypeController extends BaseController { @Autowired private ISysDictTypeService dictTypeService; @Autowired private ISysDictDataService dictDataService; @Autowired private AiAlarmTypeService alarmTypeService; /** * 新增报警类型信息 */ @PreAuthorize("@ss.hasPermi('aibrain:alarmType:add')") @PostMapping(value = "/add") @Log(title = "'AI报警类型管理", businessType = BusinessType.INSERT) public AjaxResult add(@Validated @RequestBody SysDictData dict) { dict.setCreateBy(getUsername()); return toAjax(dictDataService.typeAdd(dict)); } /** * 更新报警类型信息 */ @PreAuthorize("@ss.hasPermi('aibrain:alarmType:edit')") @PostMapping(value = "/edit") @Log(title = "'AI报警类型管理", businessType = BusinessType.UPDATE) public AjaxResult edit(@Validated @RequestBody SysDictData dict) { dict.setUpdateBy(getUsername()); return toAjax(dictDataService.typeEdit(dict)); } /** * 根据报警类型大类id获取详细信息 */ @GetMapping(value = { "/", "/{dictCode}" }) public AjaxResult getInfo(@PathVariable(value = "dictCode", required = false) Long dictCode) { AjaxResult ajax = AjaxResult.success(); List datas = dictTypeService.selectDictDataByType("sys_alarm_small_type"); ajax.put("dictData", datas); if (StringUtils.isNotNull(dictCode)) { SysDictData data=dictDataService.selectDictDataById(dictCode); ajax.put(AjaxResult.DATA_TAG, data); ajax.put("typeIds", alarmTypeService.selectAlarmTypeByBigType(Long.parseLong(data.getDictValue()))); } return ajax; } /** * 删除报警类型信息 */ @PreAuthorize("@ss.hasPermi('aibrain:alarmType:remove')") @DeleteMapping("/{dictCodes}") @Log(title = "'AI报警类型管理", businessType = BusinessType.DELETE) public AjaxResult remove(@PathVariable Long[] dictCodes) { alarmTypeService.alarmTypeByBigType(dictCodes); dictDataService.deleteDictDataByIds(dictCodes); return success(); } }