设为首页 加入收藏

TOP

第2-3-7章 个人网盘服务接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss(八)
2023-07-25 21:33:33 】 浏览:139
Tags:2-3-7 文件存 储服务 -nginx/fastDFS/minio/ oss/ 牛云 oss
(folderName); file.setGrade(grade); file.setTreePath(treePath); super.save(file); return file; } @Override public File upload(MultipartFile simpleFile, Long folderId, String source, Long userId) { FileAttrDO fileAttrDO = this.getFileAttrDo(folderId); String treePath = fileAttrDO.getTreePath(); String folderName = fileAttrDO.getFolderName(); Integer grade = fileAttrDO.getGrade(); File file = fileStrategy.upload(simpleFile); file.setFolderId(folderId); file.setFolderName(folderName); file.setGrade(grade); file.setTreePath(treePath); file.setSource(source); if (userId != null) { file.setCreateUser(userId); } super.save(file); return file; } @Override public FileAttrDO getFileAttrDo(Long folderId) { String treePath = DEF_ROOT_PATH; String folderName = ""; Integer grade = 1; if (folderId == null || folderId <= 0) { return new FileAttrDO(treePath, grade, folderName, DEF_PARENT_ID); } File folder = this.getById(folderId); if (folder != null && !folder.getIsDelete() && DataType.DIR.eq(folder.getDataType())) { folderName = folder.getSubmittedFileName(); treePath = StringUtils.join(folder.getTreePath(), folder.getId(), DEF_ROOT_PATH); grade = folder.getGrade() + 1; } BizAssert.isTrue(grade <= 10, BASE_VALID_PARAM.build("文件夹层级不能超过10层")); return new FileAttrDO(treePath, grade, folderName, folderId); } @Override public FolderDTO saveFolder(FolderSaveDTO folderSaveDto) { File folder = dozerUtils.map2(folderSaveDto, File.class); if (folderSaveDto.getFolderId() == null || folderSaveDto.getFolderId() <= 0) { folder.setFolderId(DEF_PARENT_ID); folder.setTreePath(DEF_ROOT_PATH); folder.setGrade(1); } else { File parent = super.getById(folderSaveDto.getFolderId()); BizAssert.notNull(parent, BASE_VALID_PARAM.build("父文件夹不能为空")); BizAssert.isFalse(parent.getIsDelete(), BASE_VALID_PARAM.build("父文件夹已经被删除")); BizAssert.equals(DataType.DIR.name(), parent.getDataType().name(), BASE_VALID_PARAM.build("父文件夹不存在")); BizAssert.isTrue(parent.getGrade() < 10, BASE_VALID_PARAM.build("文件夹层级不能超过10层")); folder.setFolderName(parent.getSubmittedFileName()); folder.setTreePath(StringUtils.join(parent.getTreePath(), parent.getId(), DEF_ROOT_PATH)); folder.setGrade(parent.getGrade() + 1); } if (folderSaveDto.getOrderNum() == null) { folderSaveDto.setOrderNum(0); } folder.setIsDelete(false); folder.setDataType(DataType.DIR); folder.setIcon(IconType.DIR.getIcon()); setDate(folder); super.save(folder); return dozerUtils.map2(folder, FolderDTO.class); } private void setDate(File file) { LocalDateTime now = LocalDateTime.now(); file.setCreateMonth(DateUtils.formatAsYearMonthEn(now)) .setCreateWeek(DateUtils.formatAsYearWeekEn(now)) .setCreateDay(DateUtils.formatAsDateEn(now)); } public boolean removeFile(Long[] ids, Long userId) { LbuWrapper<File> lambdaUpdate = Wraps.<File>lbU() .in(File::getId, ids) .eq(File::getCreateUser, userId); File file = File.builder().isDelete(Boolean.TRUE).build(); return super.update(file, lambdaUpdate); } @Override public Boolean removeList(Long userId, Long[] ids) { if
首页 上一页 5 6 7 8 9 10 11 下一页 尾页 8/11/11
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Mybatis 入门实战(2)--简单使用 下一篇框架进行时——SpringMVC流程简析..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目