diff --git a/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java index 1ab1bb2c..45b0d37b 100644 --- a/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java @@ -71,8 +71,7 @@ import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; -import static com.sdm.project.service.impl.NodeServiceImpl.getTagProperty; -import static com.sdm.project.service.impl.NodeServiceImpl.setTagProperty; +import static com.sdm.project.service.impl.NodeServiceImpl.*; @Slf4j @Service @@ -2596,7 +2595,8 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { createDirReq.setDirName(dirName); createDirReq.setDirType(DirTypeEnum.PROJECT_NODE_DIR.getValue()); TagReq tagReq = new TagReq(); - BeanUtils.copyProperties(taskNode,tagReq); + // 将TaskNode的List tag转换为TagReq的String tag + copyTagListToString(taskNode, tagReq); if (NodeTypeEnum.TASK.getValue().equals(uuidOwnType)) { tagReq.setTaskId(uuid); } @@ -2606,6 +2606,22 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { log.info("创建项目阶段时,调用创建文件夹的返回值为:{}", response); } + /** + * 将TaskNode的List类型tag复制到TagReq的String类型tag + */ + private void copyTagListToString(TaskNode source, TagReq target) { + for (int i = 1; i <= 10; i++) { + try { + List tagList = getTagListProperty(source, "tag" + i); + if (tagList != null && !tagList.isEmpty()) { + setTagProperty(target, "tag" + i, String.join(",", tagList)); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + } + } + // 重命名文件夹 public void renameDirNew(String uuid, String newDirName) { RenameDirReq req = new RenameDirReq();