diff --git a/nxhs-service/src/main/java/cc/yunxi/service/impl/FileServiceImpl.java b/nxhs-service/src/main/java/cc/yunxi/service/impl/FileServiceImpl.java index 686a01a..3d319d2 100644 --- a/nxhs-service/src/main/java/cc/yunxi/service/impl/FileServiceImpl.java +++ b/nxhs-service/src/main/java/cc/yunxi/service/impl/FileServiceImpl.java @@ -74,7 +74,10 @@ public class FileServiceImpl extends ServiceImpl implements IF * @return File */ private File getFileInfoByHashVal(String hashName) { - return new LambdaQueryChainWrapper<>(fileMapper).eq(File::getHashVal, hashName).one(); + return new LambdaQueryChainWrapper<>(fileMapper) + .eq(File::getHashVal, hashName) + .last("limit 1") + .one(); } @Override @@ -146,15 +149,17 @@ public class FileServiceImpl extends ServiceImpl implements IF // 判断文件来源 String userId = ObjectUtil.isNotEmpty(UserContext.getUser()) ? UserContext.getUser().getId() : ""; Integer source = StrUtil.isNotEmpty(userId) ? 1 : 2; - // 入库操作 - fileInfo = new File().setUrl(URI) - .setFilename(originalName) - .setHashVal(hashName) - .setSize(DataSizeUtil.format(file.getSize())) - .setSource(source) - .setCreatorTime(LocalDateTime.now()) - .setCreatorUserId(userId); - this.save(fileInfo); + if (fileInfo == null) { + // 入库操作 + fileInfo = new File().setUrl(URI) + .setFilename(originalName) + .setHashVal(hashName) + .setSize(DataSizeUtil.format(file.getSize())) + .setSource(source) + .setCreatorTime(LocalDateTime.now()) + .setCreatorUserId(userId); + this.save(fileInfo); + } } return uploadRespVO; } catch (IOException exception) {