package com.fjhx.service;

import com.fjhx.base.BaseService;
import com.fjhx.entity.FileInfo;
import com.fjhx.params.FileInfoParam;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 文件 服务类
 * </p>
 *
 * @author ${author}
 * @since 2022-07-07
 */
public interface FileInfoService extends BaseService<FileInfo> {

    /**
     * 文件上传
     */
    FileInfo uploadFile(MultipartFile file);

    /**
     * 获取文件列表
     */
    List<FileInfo> getFileList(Map<String, String> condition);

    /**
     * 绑定文件
     */
    void bindingFile(String applicationName, Long businessId, Integer businessType, List<FileInfo> paramList);

    /**
     * 重新绑定文件
     */
    void againBindingFile(String applicationName, Long businessId, Integer businessType, List<FileInfo> paramList);

    /**
     * 解除绑定文件
     */
    void relieveBindingFile(Long businessId);

    /**
     * 获取文件信息
     *
     * @param businessIdList 业务id list
     */
    List<FileInfo> getFileInfo(List<Long> businessIdList);

}
