huangtf 2 жил өмнө
parent
commit
adffe35217

+ 14 - 12
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ArchiveTreeContractController.java

@@ -139,18 +139,6 @@ public class ArchiveTreeContractController extends BladeController {
 	}
 
 
-	/**
-	 * 初始化归档树根节点
-	 */
-	@PostMapping("/init")
-	@ApiOperationSupport(order = 1)
-	@ApiOperation(value = "初始化项目级归档树", notes = "传入token")
-	public R<ArchiveTree> init() {
-
-
-		return R.fail(200, "初始化创建失败");
-	}
-
 	/**
 	 * 懒加载树形结构
 	 */
@@ -255,4 +243,18 @@ public class ArchiveTreeContractController extends BladeController {
 	}
 
 
+	/**
+	 * 初始化归档树根节点
+	 */
+	@PostMapping("/initTree")
+	@ApiOperationSupport(order = 10)
+	@ApiOperation(value = "初始化项目级归档树", notes = "传入token")
+	@ApiImplicitParams(value = {
+			@ApiImplicitParam(name = "projectId", value = "项目id", required = true)
+	})
+	public R<ArchiveTree> initTree(Long projectId) {
+		List<ArchiveTree> trees = archiveTreeService.treeList(AuthUtil.getTenantId(), null, null);
+		archiveTreeContractService.initTree(AuthUtil.getTenantId(), projectId,trees);
+		return R.fail(200, "初始化创建成功");
+	}
 }

+ 19 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArchiveTreeContractServiceImpl.java

@@ -50,13 +50,17 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
 	}
 	@Override
 	public boolean initTree(String tenantId, Long projectId, List<ArchiveTree> trees){
+
+		//清理旧的项目归档树,待补充
+		clearProjectTree(tenantId,projectId);
+
+		//建立父子关系,祖先关系
 		List<ArchiveTreeContract> archiveTreeContracts = new ArrayList<>();
 		Map<Long,Long> oldNewMap = new LinkedHashMap<>();
-		Map<Long,Long> idPidMap = new LinkedHashMap<>();
+
 		Map<Long,ArchiveTree> archiveMap = new LinkedHashMap<>();
 
 		for (ArchiveTree archiveTreeVO :trees) {
-			idPidMap.put(archiveTreeVO.getId(),archiveTreeVO.getParentId());
 			oldNewMap.put(archiveTreeVO.getId(), SnowFlakeUtil.getId());
 			archiveMap.put(archiveTreeVO.getId(), archiveTreeVO);
 		}
@@ -93,6 +97,10 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
 			archiveTreeContracts.add(archiveTree);
 		}
 
+		//扩展动态节点
+
+		//处理丽娟规则
+
 		this.saveBatch(archiveTreeContracts);
 		return true;
 	}
@@ -247,4 +255,13 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
 		return false;
 	}
 
+	/**
+	 * 清理旧的项目归档树
+	 * @param tenantId
+	 * @param projectId
+	 */
+	void clearProjectTree(String tenantId, Long projectId){
+
+	}
+
 }