From 28c0b3e4e0b520468c133cfd8819e9583ee9b6af Mon Sep 17 00:00:00 2001 From: zhuyulei <1843199800@qq.com> Date: Thu, 21 Mar 2024 14:28:23 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=BB=9F=E8=AE=A1=E6=8C=87?= =?UTF-8?q?=E6=A0=87=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kms/build/domain/dto/FileResponseDto.java | 2 ++ .../com/kms/build/service/FileService.java | 25 ++++++++++++++----- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/jwtech-system/src/main/java/com/kms/build/domain/dto/FileResponseDto.java b/jwtech-system/src/main/java/com/kms/build/domain/dto/FileResponseDto.java index 9becd114..b5a9a060 100644 --- a/jwtech-system/src/main/java/com/kms/build/domain/dto/FileResponseDto.java +++ b/jwtech-system/src/main/java/com/kms/build/domain/dto/FileResponseDto.java @@ -17,4 +17,6 @@ public class FileResponseDto { private String fileNo; private String fileStage; + + private String fileUrl; } diff --git a/jwtech-system/src/main/java/com/kms/build/service/FileService.java b/jwtech-system/src/main/java/com/kms/build/service/FileService.java index afeaac65..5d5b23f3 100644 --- a/jwtech-system/src/main/java/com/kms/build/service/FileService.java +++ b/jwtech-system/src/main/java/com/kms/build/service/FileService.java @@ -42,40 +42,52 @@ public class FileService extends BaseService { } + /** + * 处理文件列表信息,将文件信息转换为文件响应DTO的列表。 + * + * @param fileDto 文件DTO,包含文件的详细信息。 + * @return 返回一个文件响应DTO的列表,每个DTO包含文件名、阶段和上传日期等信息。 + */ public List handleFileList(FileDto fileDto) { List list = new ArrayList<>(); + // 获取fileDto对象的所有声明字段 Field[] fields = fileDto.getClass().getDeclaredFields(); + // 遍历所有字段 for (Field field : fields) { - field.setAccessible(true); + field.setAccessible(true); // 允许访问私有字段 try { + // 检查字段值是否为空 if (isEmpty((String) field.get(fileDto))) { + // 处理字段值,移除特定字符串并分割 String trim = ((String) field.get(fileDto)).replace(", []", "").replace("[]", "").trim(); - String[] split = trim.split("\\$ "); - + // 获取字段上的Stage注解 Stage annotation = field.getAnnotation(Stage.class); FileResponseDto responseDto = new FileResponseDto(); for (String s : split) { ObjectMapper objectMapper = new ObjectMapper(); if (s.equals("")) { - continue; + continue; // 跳过空字符串 } + // 将字符串反序列化为文件信息列表 List fileInfoList = objectMapper.readValue(s, new TypeReference>(){}); for (FileInfo fileInfo : fileInfoList) { + // 设置文件名、阶段和上传日期 responseDto.setFileName(fileInfo.getName()); + responseDto.setFileUrl(fileInfo.getUrl()); responseDto.setFileStage(annotation.value()); if (fileInfo.getFileName() == null) { responseDto.setUploadDate(null); }else { + // 从文件名中提取上传日期 responseDto.setUploadDate(fileInfo.getFileName().substring(9, 19)); - } - list.add(responseDto); + list.add(responseDto); // 添加到列表中 } } @@ -94,6 +106,7 @@ public class FileService extends BaseService { } + public Boolean isEmpty(String name) { if (name == null) { return false;