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.api.mcs.dto.StScheduleModelOutDTO; import com.iailab.module.model.mcs.sche.entity.StScheduleModelEntity; import com.iailab.module.model.mcs.sche.entity.StScheduleModelOutEntity; import com.iailab.module.model.mcs.sche.entity.StScheduleModelParamEntity; import com.iailab.module.model.mcs.sche.entity.StScheduleModelSettingEntity; import com.iailab.module.model.mcs.sche.service.StScheduleModelOutService; import com.iailab.module.model.mcs.sche.service.StScheduleModelParamService; import com.iailab.module.model.mcs.sche.service.StScheduleModelService; import com.iailab.module.model.mcs.sche.service.StScheduleModelSettingService; import com.iailab.module.model.mcs.sche.vo.*; 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.error; import static com.iailab.framework.common.pojo.CommonResult.success; /** * @author PanZhibao * @date 2021å¹´07月20æ—¥ 14:35 */ @Tag(name = "模型æœåŠ¡ - 调度模型管ç†") @RestController @RequestMapping("/model/sche/model") public class StScheduleModelController { @Autowired private StScheduleModelService stScheduleModelService; @Autowired private StScheduleModelParamService stScheduleModelParamService; @Autowired private StScheduleModelSettingService stScheduleModelSettingService; @Autowired private StScheduleModelOutService stScheduleModelOutService; @GetMapping("/page") @Operation(summary = "获得分页") @PreAuthorize("@ss.hasPermission('sche:model:query')") public CommonResult<PageResult<StScheduleModelRespVO>> page(@Valid StScheduleModelPageReqVO reqVO) { PageResult<StScheduleModelEntity> page = stScheduleModelService.page(reqVO); return success(BeanUtils.toBean(page, StScheduleModelRespVO.class)); } @GetMapping("/list") @PreAuthorize("@ss.hasPermission('sche:model:query')") public CommonResult<List<StScheduleModelRespVO>> list() { List<StScheduleModelEntity> list = stScheduleModelService.list(); return success(BeanUtils.toBean(list, StScheduleModelRespVO.class)); } @GetMapping("/get") @Operation(summary = "获得详情") @PreAuthorize("@ss.hasPermission('sche:model:query')") public CommonResult<StScheduleModelRespVO> get(@RequestParam("id") String id) { StScheduleModelEntity data = stScheduleModelService.get(id); StScheduleModelRespVO result = BeanUtils.toBean(data, StScheduleModelRespVO.class); List<StScheduleModelParamEntity> paramList = stScheduleModelParamService.getByModelId(data.getId()); result.setParamList(BeanUtils.toBean(paramList, StScheduleModelParamRespVO.class)); List<StScheduleModelSettingEntity> settingList = stScheduleModelSettingService.getByModelId(data.getId()); result.setSettingList(BeanUtils.toBean(settingList, StScheduleModelSettingRespVO.class)); List<StScheduleModelOutDTO> outList = stScheduleModelOutService.list(data.getId()); result.setModelOut(outList); return success(result); } @PostMapping("/create") @Operation(summary = "创建模型") @PreAuthorize("@ss.hasPermission('sche:model:create')") public CommonResult<Boolean> save(@Valid @RequestBody StScheduleModelSaveReqVO reqVO) { Long count = stScheduleModelService.check(reqVO); if (count > 0) { return error(999, "å称或编å·é‡å¤"); } stScheduleModelService.create(reqVO); return success(true); } @PutMapping("/update") @Operation(summary = "更新模型") @PreAuthorize("@ss.hasPermission('sche:model:update')") public CommonResult<Boolean> update(@Valid @RequestBody StScheduleModelSaveReqVO reqVO) { Long count = stScheduleModelService.check(reqVO); if (count > 0) { return error(999, "å称或编å·é‡å¤"); } stScheduleModelService.update(reqVO); return success(true); } @DeleteMapping("/delete") @Operation(summary = "åˆ é™¤æ¨¡åž‹") @PreAuthorize("@ss.hasPermission('sche:model:delete')") public CommonResult<Boolean> delete(@RequestParam("id") String id) { stScheduleModelService.delete(id); return success(true); } }