package com.iailab.module.model.mcs.sche.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.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.sche.entity.StScheduleSchemeEntity; import com.iailab.module.model.mcs.sche.entity.StScheduleSuggestEntity; import com.iailab.module.model.mcs.sche.service.StScheduleSuggestService; import com.iailab.module.model.mcs.sche.vo.StScheduleSchemePageReqVO; import com.iailab.module.model.mcs.sche.vo.StScheduleSchemeRespVO; import com.iailab.module.model.mcs.sche.vo.StScheduleSuggestPageReqVO; import com.iailab.module.model.mcs.sche.vo.StScheduleSuggestRespVO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; 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 2025年03月20日 */ @Tag(name = "模型服务 - 调度建议") @RestController @RequestMapping("/model/sche/suggest") public class StScheduleSuggestController { @Autowired private StScheduleSuggestService stScheduleSuggestService; @Autowired private MmItemOutputService mmItemOutputService; @Autowired private DmModuleItemService dmModuleItemService; @Autowired private DmModuleService dmModuleService; @PostMapping("/list-out") @Operation(summary = "获得预警消息列表") public CommonResult> getListByOut(@RequestBody StScheduleSuggestPageReqVO pageVO) { List itemIds = mmItemOutputService.getItemIdByOut(pageVO.getOutIds()); List moduleIds = dmModuleItemService.getModuleIdByItemId(itemIds); List moduleList = dmModuleService.geModuleByIds(moduleIds); List list = stScheduleSuggestService.getList(moduleList, pageVO.getPredictTime()); return success(BeanUtils.toBean(list, StScheduleSuggestRespVO.class)); } @GetMapping("/page") @Operation(summary = "获得调度建议分页") @PreAuthorize("@ss.hasPermission('sche:suggest:query')") public CommonResult> getPage(@Valid StScheduleSuggestPageReqVO pageVO) { PageResult pageResult = stScheduleSuggestService.page(pageVO); return success(BeanUtils.toBean(pageResult, StScheduleSuggestRespVO.class)); } }