进度+文件上传重构+文件权限控制

This commit is contained in:
2025-05-10 22:17:04 +08:00
parent ca3724ff32
commit 9825e0ba1d
49 changed files with 758 additions and 664 deletions

View File

@@ -49,4 +49,8 @@ public class SysOss extends BaseEntity {
private String createBy;
private Long ownerId;
private Long isPublic;
}

View File

@@ -24,10 +24,11 @@ public interface ISysOssService {
SysOssVo getById(Long ossId);
SysOssVo upload(MultipartFile file);
SysOssVo upload(MultipartFile file, Long isPublic);
void download(Long ossId, HttpServletResponse response) throws IOException;
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
String insertFiles(List<String> fileUrls);
}

View File

@@ -11,6 +11,7 @@ import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.service.OssService;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.BeanCopyUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.FileUtils;
@@ -120,7 +121,7 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
}
@Override
public SysOssVo upload(MultipartFile file) {
public SysOssVo upload(MultipartFile file, Long isPublic) {
String originalfileName = file.getOriginalFilename();
String suffix = StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length());
OssClient storage = OssFactory.instance();
@@ -137,6 +138,9 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
oss.setFileName(uploadResult.getFilename());
oss.setOriginalName(originalfileName);
oss.setService(storage.getConfigKey());
oss.setCreateBy(LoginHelper.getNickName());
oss.setOwnerId(LoginHelper.getUserId());
oss.setIsPublic(isPublic == null ? 0 : isPublic);
baseMapper.insert(oss);
SysOssVo sysOssVo = new SysOssVo();
BeanCopyUtils.copy(oss, sysOssVo);
@@ -156,6 +160,22 @@ public class SysOssServiceImpl implements ISysOssService, OssService {
return baseMapper.deleteBatchIds(ids) > 0;
}
@Override
public String insertFiles(List<String> fileUrls) {
List<Long> fileIds = new ArrayList<>();
for (String fileUrl : fileUrls) {
SysOss sysOss = new SysOss();
sysOss.setUrl(fileUrl);
sysOss.setCreateBy(LoginHelper.getNickName());
baseMapper.insert(sysOss);
fileIds.add(sysOss.getOssId());
}
return fileIds.stream()
.map(String::valueOf)
.collect(Collectors.joining(","));
}
/**
* 匹配Url
*