Browse Source

项目统计指标开发

dev_kxc
zhuyulei 1 year ago
parent
commit
28c0b3e4e0
  1. 2
      jwtech-system/src/main/java/com/kms/build/domain/dto/FileResponseDto.java
  2. 25
      jwtech-system/src/main/java/com/kms/build/service/FileService.java

2
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;
}

25
jwtech-system/src/main/java/com/kms/build/service/FileService.java

@ -42,40 +42,52 @@ public class FileService extends BaseService<FileMapper, FileDto> {
}
/**
* 处理文件列表信息将文件信息转换为文件响应DTO的列表
*
* @param fileDto 文件DTO包含文件的详细信息
* @return 返回一个文件响应DTO的列表每个DTO包含文件名阶段和上传日期等信息
*/
public List<FileResponseDto> handleFileList(FileDto fileDto) {
List<FileResponseDto> 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<FileInfo> fileInfoList = objectMapper.readValue(s, new TypeReference<List<FileInfo>>(){});
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<FileMapper, FileDto> {
}
public Boolean isEmpty(String name) {
if (name == null) {
return false;

Loading…
Cancel
Save