package com.yfd.platform.modules.basedata.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yfd.platform.modules.basedata.domain.AlgorithmModel;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * <p>
 * 算法模型表 服务类
 * </p>
 *
 *
 * @since 2023-08-25
 */
public interface IAlgorithmModelService extends IService<AlgorithmModel> {

    /**********************************
    * 用途说明: 上传文件
    * 参数说明 file 文件域
    * 返回值说明: java.lang.String
    ***********************************/
    void uploadModelFile(MultipartFile file,String modelId);

    /**********************************
    * 用途说明: 预览模型文件
    * 参数说明 fileName 文件名称
    * 参数说明 response
    * 返回值说明: void
    ***********************************/
    void viewModelFile(String fileName, HttpServletResponse response) throws IOException;

    /**********************************
    * 用途说明: 删除模型文件
    * 参数说明 id 模型id
    * 参数说明 fileName 文件名称
    * 返回值说明: boolean
    ***********************************/
    boolean deleteModelFile(String id, String fileName);

    /**********************************
     * 用途说明: 获取当前该区域某站点的运行算法参数
     * 参数说明 sectionId 区域巡视主机编码
     * 参数说明 stationId 变电站编码
     * 参数说明 type
     * 返回值说明: void
     ***********************************/
    void getRecogParams(String sectionId, String stationId, String type);

    void getHistoryVersion(String sectionId, String stationId, String type, String algorithmManufacturer);

    void updateAlgorithmVersion(String sectionId, String stationId, String type, String version);
}
