2025-12-04 优化改造

This commit is contained in:
2025-12-04 17:00:07 +08:00
parent be56324763
commit 4282a126ef
22 changed files with 5660 additions and 98 deletions

View File

@@ -6,6 +6,8 @@ import com.jeelowcode.service.infra.controller.vo.file.FilePageReqVO;
import com.jeelowcode.service.infra.controller.vo.file.FilePresignedUrlRespVO;
import com.jeelowcode.service.infra.entity.FileDO;
import java.io.File;
/**
* 文件 Service 接口
*
@@ -65,4 +67,7 @@ public interface IFileService {
//获取当天唯一名称
String getUniqueFileName(String fileName,String path);
//上传文件
String uploadFile(File file, Long tenantId, Long userId) throws Exception;
}

View File

@@ -3,6 +3,7 @@ package com.jeelowcode.service.infra.service.impl;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil;
import com.jeelowcode.tool.framework.common.pojo.PageResult;
import com.jeelowcode.tool.framework.common.util.io.FileUtil;
import com.jeelowcode.tool.framework.common.util.io.FileUtils;
import com.jeelowcode.tool.framework.common.util.object.BeanUtils;
import com.jeelowcode.tool.framework.file.core.client.FileClient;
@@ -17,10 +18,14 @@ import com.jeelowcode.service.infra.service.IFileConfigService;
import com.jeelowcode.service.infra.service.IFileService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.SneakyThrows;
import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.io.File;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import static com.jeelowcode.tool.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -174,4 +179,25 @@ public class FileServiceImpl implements IFileService {
}*/
// 上传文件
@Override
public String uploadFile(@NotNull File file, Long tenantId, Long userId) throws Exception {
String fileName = file.getName();
//微信图片_20230905094700.png
//每个文件放一个文件夹,防止乱码后找不到正确文件
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HHmmssSSS");
String timeString = now.format(formatter);
String publicPath = "upload/" + tenantId + "/" + userId + "/" + timeString + "/";
String path = publicPath + fileName;
fileName = getUniqueFileName(fileName, path);
// 解决信创环境下文件名中文乱码导致附件错乱的问题
//path = publicPath + IdUtil.simpleUUID() + (StrUtil.isEmpty(FileUtil.extName(fileName)) ? "" : ("." + FileUtil.extName(fileName)));
String fileUrl = createFile(fileName, path, FileUtil.toByteArray(file));
return fileUrl;
}
}