package top.imwork.commons.core.service;

import org.springframework.web.multipart.MultipartFile;
import top.imwork.commons.core.pojo.FileUploadRequest;
import top.imwork.commons.core.pojo.FileUploadResponse;

import java.util.List;

/**
 * Copyright (C), 2015-2026
 * FileName: FilesUploadService
 * Author<作者姓名>:   silos
 * CreateTime<创建时间>:   2026/1/15 22:03
 * UpdateTime<修改时间>:   2026/1/15 22:03
 * Description〈功能简述〉: 文件上传接口
 * History<历史描述>:
 * Since<版本号>: 1.0.0
 */
public interface FileUploadService {
    /**
     * 上传单个文件
     */
    FileUploadResponse uploadSingleFile(MultipartFile file,
                                        String businessType,
                                        Long userId,
                                        String description);

    /**
     * 上传多个文件
     */
    FileUploadResponse uploadMultipleFiles(List<MultipartFile> files,
                                           String businessType,
                                           Long userId,
                                           String description);

    /**
     * 通用上传方法
     */
    FileUploadResponse upload(FileUploadRequest request);
}