package com.iailab.module.model.matlab.controller.admin; import com.iailab.framework.common.exception.enums.GlobalErrorCodeConstants; import com.iailab.framework.common.page.PageData; import com.iailab.framework.common.pojo.CommonResult; import com.iailab.module.model.matlab.common.exceptions.IllegalityJarException; import com.iailab.module.model.matlab.dto.MatlabJarFileInfoDTO; import com.iailab.module.model.matlab.dto.MatlabRunDTO; import com.iailab.module.model.matlab.dto.MlModelDTO; import com.iailab.module.model.matlab.service.MlModelService; import com.iailab.module.model.mpk.dto.MpkFileDTO; import io.swagger.v3.oas.annotations.Operation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.util.HashMap; import java.util.List; import java.util.Map; import static com.iailab.framework.common.pojo.CommonResult.success; /** * @author Dzd * @since 1.0.0 2025-02-08 */ @RestController @RequestMapping("/model/matlab/model") public class MlModelController { @Autowired private MlModelService mlModelService; @GetMapping("page") @Operation(summary = "分页") @PreAuthorize("@ss.hasPermission('ml:model:query')") public CommonResult<PageData<MlModelDTO>> page(@RequestParam Map<String, Object> params) { PageData<MlModelDTO> page = mlModelService.page(params); return success(page); } @GetMapping("{id}") @Operation(summary = "ä¿¡æ¯") @PreAuthorize("@ss.hasPermission('ml:model:query')") public CommonResult<MlModelDTO> get(@PathVariable("id") String id){ MlModelDTO data = mlModelService.get(id); return success(data); } @PreAuthorize("@ss.hasPermission('ml:model:query')") @GetMapping("list") public CommonResult<List<MlModelDTO>> list(@RequestParam Map<String, Object> params) { List<MlModelDTO> list = mlModelService.list(params); return success(list); } @PostMapping @Operation(summary = "ä¿å˜") @PreAuthorize("@ss.hasPermission('ml:model:create')") public CommonResult save(@RequestBody MlModelDTO dto){ mlModelService.save(dto); return success(); } @PutMapping @Operation(summary = "修改") @PreAuthorize("@ss.hasPermission('ml:model:update')") public CommonResult update(@RequestBody MlModelDTO dto){ mlModelService.update(dto); return success(); } @DeleteMapping @Operation(summary = "åˆ é™¤") @PreAuthorize("@ss.hasPermission('ml:model:delete')") public CommonResult delete(String id){ mlModelService.delete(id); return success(); } @PostMapping("/upload") @Operation(summary = "算法å°è£…jaræ–‡ä»¶ä¸Šä¼ ") public CommonResult<MatlabJarFileInfoDTO> upload(@RequestParam("file") MultipartFile file){ MatlabJarFileInfoDTO result = null; try { result = mlModelService.uploadJarFile(file); } catch (IllegalityJarException e) { return CommonResult.error(GlobalErrorCodeConstants.BAD_REQUEST.getCode(),"éžæ³•jar包"); } return success(result); } @PostMapping("/test") @Operation(summary = "Matlab测试è¿è¡Œ") public CommonResult<String> test(@RequestBody MatlabRunDTO dto) { return mlModelService.test(dto); } @PostMapping("/importData") @Operation(summary = "导入å‚æ•°") public CommonResult<List<HashMap<String,Object>>> importData(@RequestParam("file") MultipartFile file) throws Exception { List<HashMap<String,Object>> result = mlModelService.importData(file); return success(result); } }