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> page(@Valid StScheduleModelPageReqVO reqVO) { PageResult page = stScheduleModelService.page(reqVO); return success(BeanUtils.toBean(page, StScheduleModelRespVO.class)); } @GetMapping("/list") @PreAuthorize("@ss.hasPermission('sche:model:query')") public CommonResult> list() { List list = stScheduleModelService.list(); return success(BeanUtils.toBean(list, StScheduleModelRespVO.class)); } @GetMapping("/get") @Operation(summary = "获得详情") @PreAuthorize("@ss.hasPermission('sche:model:query')") public CommonResult get(@RequestParam("id") String id) { StScheduleModelEntity data = stScheduleModelService.get(id); StScheduleModelRespVO result = BeanUtils.toBean(data, StScheduleModelRespVO.class); List paramList = stScheduleModelParamService.getByModelId(data.getId()); result.setParamList(BeanUtils.toBean(paramList, StScheduleModelParamRespVO.class)); List settingList = stScheduleModelSettingService.getByModelId(data.getId()); result.setSettingList(BeanUtils.toBean(settingList, StScheduleModelSettingRespVO.class)); List outList = stScheduleModelOutService.list(data.getId()); result.setModelOut(outList); return success(result); } @PostMapping("/create") @Operation(summary = "创建模型") @PreAuthorize("@ss.hasPermission('sche:model:create')") public CommonResult 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 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 delete(@RequestParam("id") String id) { stScheduleModelService.delete(id); return success(true); } }