package com.iailab.module.model.mpk.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.module.model.mpk.dto.MpkFileDTO;
import com.iailab.module.model.mpk.entity.MpkFileEntity;
import org.springframework.web.multipart.MultipartFile;

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

/**
 * @author PanZhibao
 * @Description
 * @createTime 2024年08月14日
 */
public interface MpkFileService extends BaseService<MpkFileEntity> {

    PageData<MpkFileDTO> page(Map<String, Object> params);

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

    MpkFileDTO get(String id);

    void save(MpkFileDTO dto);

    void update(MpkFileDTO dto);

    void delete(String id);

    byte[] generatorCode(String id, String remark, String zipFileName);

    byte[] packageModel(String projectId,String projectName,String fileName,String log,String version) throws IOException, InterruptedException;

    Map<String,String> savePyFile(MultipartFile file) throws IOException;

    CommonResult<String> publish(Map<String, Object> params);
}