From 84ff2987102299d2632850221716b1b9d4eedb64 Mon Sep 17 00:00:00 2001 From: tianliyong Date: Wed, 21 Dec 2022 11:10:40 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=94=E5=9B=9E=E6=96=87=E4=BB=B6=E6=B5=81?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=85=BC=E5=AE=B9fileKey=E5=80=BC=E4=B8=BAur?= =?UTF-8?q?l=E6=83=85=E5=86=B5=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/cn/axzo/oss/dal/repository/FileDao.java | 2 ++ .../cn/axzo/oss/dal/repository/impl/FileDaoImpl.java | 9 +++++++++ .../java/cn/axzo/oss/service/impl/FileServiceImpl.java | 8 +++++++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/oss-dal/src/main/java/cn/axzo/oss/dal/repository/FileDao.java b/oss-dal/src/main/java/cn/axzo/oss/dal/repository/FileDao.java index badfa26..3fe45a8 100644 --- a/oss-dal/src/main/java/cn/axzo/oss/dal/repository/FileDao.java +++ b/oss-dal/src/main/java/cn/axzo/oss/dal/repository/FileDao.java @@ -28,4 +28,6 @@ public interface FileDao extends IService { List getByFileUuids(List fileKey); List getByUrlMd5s(List urlMd5List); + + File getByUrlMd5(String urlMd5); } diff --git a/oss-dal/src/main/java/cn/axzo/oss/dal/repository/impl/FileDaoImpl.java b/oss-dal/src/main/java/cn/axzo/oss/dal/repository/impl/FileDaoImpl.java index e7c5efe..b2a43ad 100644 --- a/oss-dal/src/main/java/cn/axzo/oss/dal/repository/impl/FileDaoImpl.java +++ b/oss-dal/src/main/java/cn/axzo/oss/dal/repository/impl/FileDaoImpl.java @@ -53,4 +53,13 @@ public class FileDaoImpl extends ServiceImpl implements FileDa .eq(File::getIsDelete, TableDelete.UN_DELETED) .list(); } + + @Override + public File getByUrlMd5(String urlMd5) { + return lambdaQuery().eq(File::getUrlMd5, urlMd5) + .eq(File::getStatus, FileStatus.SUCCESS) + .eq(File::getIsDelete, TableDelete.UN_DELETED) + .last("limit 1") + .one(); + } } diff --git a/oss-service/src/main/java/cn/axzo/oss/service/impl/FileServiceImpl.java b/oss-service/src/main/java/cn/axzo/oss/service/impl/FileServiceImpl.java index 8ce72c3..d35afbd 100644 --- a/oss-service/src/main/java/cn/axzo/oss/service/impl/FileServiceImpl.java +++ b/oss-service/src/main/java/cn/axzo/oss/service/impl/FileServiceImpl.java @@ -157,8 +157,14 @@ public class FileServiceImpl implements FileService { @Override public ServerFileDownloadResponse download(ServerFileDownloadDto dto) { log.info("file download dto = {}", JsonUtil.obj2Str(dto)); + File file = null; String fileKey = dto.getFileKey(); - File file = fileDao.getByFileUuid(fileKey); + if (fileKey.contains(IS_URL)) { + String urlMd5 = Utility.getMd5(fileKey); + file = fileDao.getByUrlMd5(urlMd5); + } else { + file = fileDao.getByFileUuid(fileKey); + } if (Utility.objIsNull(file)) { log.warn("file download is null, fileKey = {}", fileKey); BizException.error(Utility.objIsNotNull(file), CodeEnum.FILE_NOT_FOUND);