package com.iailab.module.model.mcs.pre.controller.admin; import com.iailab.framework.common.pojo.CommonResult; import com.iailab.framework.common.pojo.PageResult; import com.iailab.framework.common.util.object.BeanUtils; import com.iailab.module.model.mcs.pre.entity.MmPredictAlarmMessageEntity; import com.iailab.module.model.mcs.pre.service.DmModuleItemService; import com.iailab.module.model.mcs.pre.service.DmModuleService; import com.iailab.module.model.mcs.pre.service.MmItemOutputService; import com.iailab.module.model.mcs.pre.service.MmPredictAlarmMessageService; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessagePageReqVO; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessageRespVO; import com.iailab.module.model.mcs.pre.vo.MmPredictAlarmMessageSaveReqVO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; import static com.iailab.framework.common.pojo.CommonResult.success; /** * @author PanZhibao * @Description * @createTime 2024年11月20日 */ @RestController @RequestMapping("/model/pre/alarm-message") public class MmPredictAlarmMessageController { @Autowired private MmPredictAlarmMessageService mmPredictAlarmMessageService; @Autowired private MmItemOutputService mmItemOutputService; @Autowired private DmModuleItemService dmModuleItemService; @Autowired private DmModuleService dmModuleService; @PostMapping("/create") @Operation(summary = "创建预警消息") @PreAuthorize("@ss.hasPermission('pre:alarm-message:create')") public CommonResult create(@Valid @RequestBody MmPredictAlarmMessageSaveReqVO createReqVO) { mmPredictAlarmMessageService.create(createReqVO); return success(true); } @PutMapping("/update") @Operation(summary = "更新预警消息") @PreAuthorize("@ss.hasPermission('pre:alarm-message:update')") public CommonResult update(@Valid @RequestBody MmPredictAlarmMessageSaveReqVO updateReqVO) { mmPredictAlarmMessageService.update(updateReqVO); return success(true); } @DeleteMapping("/delete") @Operation(summary = "删除预警消息") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('pre:alarm-message:delete')") public CommonResult delete(@RequestParam("id") String id) { mmPredictAlarmMessageService.delete(id); return success(true); } @GetMapping("/get") @Operation(summary = "获得预警消息") @Parameter(name = "id", description = "编号", required = true, example = "1024") @PreAuthorize("@ss.hasPermission('pre:alarm-message:query')") public CommonResult getInfo(@RequestParam("id") String id) { MmPredictAlarmMessageEntity entity = mmPredictAlarmMessageService.getInfo(id); return success(BeanUtils.toBean(entity, MmPredictAlarmMessageRespVO.class)); } @GetMapping("/page") @Operation(summary = "获得预警消息分页") @PreAuthorize("@ss.hasPermission('pre:alarm-message:query')") public CommonResult> getPage(@Valid MmPredictAlarmMessagePageReqVO pageVO) { PageResult pageResult = mmPredictAlarmMessageService.page(pageVO); return success(BeanUtils.toBean(pageResult, MmPredictAlarmMessageRespVO.class)); } @PostMapping("/list-out") @Operation(summary = "获得预警消息列表") public CommonResult> getListByOut(@RequestBody MmPredictAlarmMessagePageReqVO pageVO) { List itemIds = mmItemOutputService.getItemIdByOut(pageVO.getOutIds()); List moduleIds = dmModuleItemService.getModuleIdByItemId(itemIds); List moduleList = dmModuleService.geModuleByIds(moduleIds); List list = mmPredictAlarmMessageService.getList(moduleList, pageVO.getPredictTime()); return success(BeanUtils.toBean(list, MmPredictAlarmMessageRespVO.class)); } }