package com.hdkj.lt.io.service;

import com.hdkj.attachments.client.entity.Attachment;
import com.hdkj.attachments.client.entity.AttachmentsParam;
import com.hdkj.attachments.client.response.ResponseData;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @Description
 * @Author wcx
 * @Date 2025/6/4 8:47
 * @Version 1.0
 */
public interface IFileService {

    void download(Long id, HttpServletResponse response) throws Exception;

    void downloadZip(List<Long> ids, HttpServletResponse response) throws Exception;

    ResponseData<List<Attachment>> list(AttachmentsParam attachmentsParam) throws Exception;

    ResponseData<Attachment> detail(Long id) throws Exception;

    ResponseData<List<Attachment>> uploads(MultipartFile[] multipartFiles) throws Exception;

    ResponseData<Attachment> upload(MultipartFile multipartFile) throws Exception;

    ResponseData<Void> delete(Long id) throws Exception;

    ResponseData<byte[]> getFileById(Long id) throws Exception;

}
