package com.vci.web.service;
|
|
import com.vci.dto.VciFileObjectDTO;
|
import com.vci.pagemodel.VciFileObjectVO;
|
import com.vci.starter.web.exception.VciBaseException;
|
import com.vci.starter.web.pagemodel.BaseResult;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import java.util.Collection;
|
|
/**
|
* 文件上传的服务
|
* 是指把文件上传到文件存储服务,不是web或者其他客户端上传到后台服务
|
* @author weidy
|
* @date 2020/3/11
|
*/
|
public interface VciFileUploadServiceI {
|
|
/**
|
* 上传单个文件。
|
* @param multipartFile 上传的媒体文件
|
* @param fileObjectDTO 文件的数据传输对象,其中文件支持文件对象或者二进制数组,谨慎使用二进制数组,因为占用内存太大
|
* @return 文件的显示对象
|
* @throws VciBaseException 上传文件出错的时候抛出异常
|
*/
|
BaseResult uploadFile(MultipartFile multipartFile, VciFileObjectDTO fileObjectDTO) throws VciBaseException;
|
|
/**
|
* 将原业务数据下的所有文件共享到其他的业务类型下
|
* @param sourceBtmName 原业务类型
|
* @param sourceBusinessOid 原业务数据主键
|
* @param btmName 业务类型
|
* @param businessOid 业务数据主键
|
* @return 共享后的文件显示对象
|
* @throws VciBaseException 参数为空或者保存出错的时候抛出异常
|
*/
|
BaseResult<VciFileObjectVO> shareFilesToBO(String sourceBtmName, String sourceBusinessOid, String btmName, String businessOid) throws VciBaseException;
|
|
/**
|
* 将文件共享到其他的业务类型下
|
* @param fileOid 文件主键
|
* @param btmName 业务类型
|
* @param businessOid 业务数据主键
|
* @return 共享后的文件显示对象
|
* @throws VciBaseException 参数为空或者保存出错的时候抛出异常
|
*/
|
BaseResult<VciFileObjectVO> shareFilesToBO(String fileOid, String btmName, String businessOid) throws VciBaseException;
|
|
/**
|
* 批量将文件共享到其他的业务类型下
|
* @param fileOidCollection 文件主键集合
|
* @param btmName 业务类型
|
* @param businessOid 业务数据主键
|
* @return 共享后的文件显示对象列表
|
* @throws VciBaseException 参数为空或者保存出错的时候抛出异常
|
*/
|
BaseResult<VciFileObjectVO> shareFilesToBO(Collection<String> fileOidCollection, String btmName, String businessOid) throws VciBaseException;
|
|
/**
|
* 分片上传。
|
* @param multipartFile 片文件
|
* @param offSet 文件偏移位置
|
* @param fileOid 文件主键
|
* @return
|
* @throws VciBaseException
|
*/
|
BaseResult<VciFileObjectVO> uploadFileForOtherService(MultipartFile multipartFile, long offSet, String fileOid) throws VciBaseException;
|
|
/**
|
* 其他服务上传文件之前初始化文件信息
|
* @param vciFileObjectDTOS 文件信息传输对象对象
|
* @return
|
* @throws VciBaseException
|
*/
|
BaseResult initUploadFileInfo(Collection<VciFileObjectDTO> vciFileObjectDTOS) throws VciBaseException;
|
|
/**
|
* 将原业务数据下的非表单相关文件共享到其他的业务类型下
|
* @param sourceBtmName 原业务类型
|
* @param sourceBusinessOid 原业务数据主键
|
* @param btmName 业务类型
|
* @param businessOid 业务数据主键
|
* @return 共享后的文件显示对象
|
* @throws VciBaseException 参数为空或者保存出错的时候抛出异常
|
*/
|
BaseResult<VciFileObjectVO> shareAnnexFilesToBO(String sourceBtmName, String sourceBusinessOid, String btmName, String businessOid) throws VciBaseException;
|
}
|