package vip.xiaonuo.disk.service;

import com.baomidou.mybatisplus.extension.service.IService;
import vip.xiaonuo.disk.domain.FileBean;
import vip.xiaonuo.disk.domain.ResourceFile;
import vip.xiaonuo.disk.dto.file.DownloadFileDTO;
import vip.xiaonuo.disk.dto.file.EachOtherExchangeDTO;
import vip.xiaonuo.disk.dto.file.PreviewDTO;
import vip.xiaonuo.disk.dto.file.UploadFileDTO;
import vip.xiaonuo.disk.vo.file.UploadFileVo;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface ResourceFileService extends IService<ResourceFile> {

    UploadFileVo uploadFileSpeed(HttpServletRequest request,String userId,UploadFileDTO uploadFileDTO);

    UploadFileVo uploadFile(HttpServletRequest request, UploadFileDTO UploadFileDto, String userId);

    void downloadFile(HttpServletResponse httpServletResponse, DownloadFileDTO downloadFileDTO);

    void downloadUserFileList(HttpServletResponse httpServletResponse, String filePath, String fileName, List<String> userFileIds);

    void previewPictureFile(HttpServletResponse httpServletResponse, PreviewDTO previewDTO);

    void previewFile(HttpServletResponse httpServletResponse, PreviewDTO previewDTO);

    UploadFileVo eachOtherExchange(HttpServletRequest request, EachOtherExchangeDTO UploadFileDto, String userId);


    Long selectStorageSizeByUserId(String userId);
}
