From ad935c07a6cabf05fed9c615c7bd4f67f6d65293 Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Thu, 04 Jun 2026 23:37:33 +0800
Subject: [PATCH] feat(common): 添加通用列表类型处理器支持数据库存储

---
 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/wrapper/GdTaskResultWrapper.java |   49 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 47 insertions(+), 2 deletions(-)

diff --git a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/wrapper/GdTaskResultWrapper.java b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/wrapper/GdTaskResultWrapper.java
index 32b7fb1..ab5e42b 100644
--- a/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/wrapper/GdTaskResultWrapper.java
+++ b/drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/wrapper/GdTaskResultWrapper.java
@@ -24,6 +24,7 @@
 
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * 成果表 包装类,返回视图层所需的字段
@@ -39,12 +40,56 @@
 
 	@Override
 	public GdTaskResultVO entityVO(GdTaskResultEntity gdTaskResult) {
-
 		return Objects.requireNonNull(BeanUtil.copy(gdTaskResult, GdTaskResultVO.class));
 	}
 
+	/**
+	 * 将DTO列表转换为Entity列表
+	 *
+	 * @param gdTaskResultDTOList DTO列表
+	 * @return Entity列表
+	 */
 	public List<GdTaskResultEntity> listEntity(List<GdTaskResultDTO> gdTaskResultDTOList) {
-		return BeanUtil.copyWithConvert(gdTaskResultDTOList, GdTaskResultEntity.class);
+		return gdTaskResultDTOList.stream()
+				.map(this::convertDtoToEntity)
+				.collect(Collectors.toList());
+	}
+
+	/**
+	 * 将单个DTO转换为Entity
+	 *
+	 * @param dto DTO对象
+	 * @return Entity对象
+	 */
+	private GdTaskResultEntity convertDtoToEntity(GdTaskResultDTO dto) {
+		GdTaskResultEntity entity = BeanUtil.copy(dto, GdTaskResultEntity.class);
+
+		if (dto.getFileType() != null) {
+			entity.setAttachmentType(dto.getDateType());
+		}
+
+		return entity;
+	}
+
+	/**
+	 * 将文件类型字符串转换为附件类型编码
+	 *
+	 * @param fileType 文件类型字符串(图片/视频/照片)
+	 * @return 附件类型编码:0-图片,1-视频,2-其他
+	 */
+	private Integer convertFileTypeToAttachmentType(String fileType) {
+		if (fileType == null) {
+			return 2;
+		}
+		switch (fileType.trim()) {
+			case "图片":
+			case "照片":
+				return 0;
+			case "视频":
+				return 1;
+			default:
+				return 2;
+		}
 	}
 
 }

--
Gitblit v1.9.3