package com.iailab.module.model.matlab.service;


import com.iailab.framework.common.page.PageData;
import com.iailab.framework.common.pojo.CommonResult;
import com.iailab.framework.common.service.BaseService;
import com.iailab.framework.common.service.CrudService;
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.entity.MlModelEntity;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 
 *
 * @author Dzd 
 * @since 1.0.0 2025-02-08
 */
public interface MlModelService extends BaseService<MlModelEntity> {
    PageData<MlModelDTO> page(Map<String, Object> params);

    List<MlModelDTO> list(Map<String, Object> params);

    MlModelDTO get(String id);

    void save(MlModelDTO dto);

    void update(MlModelDTO dto);

    void delete(String id);

    MatlabJarFileInfoDTO uploadJarFile(MultipartFile file) throws IllegalityJarException;

    CommonResult<String> test(MatlabRunDTO dto);

    List<HashMap<String, Object>> importData(MultipartFile file) throws IOException;
}