From e720c9e235fdff7a98f7e8c1c4d2f59a26c7e2e3 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Mon, 1 Jun 2026 09:39:44 +0800 Subject: [PATCH] =?UTF-8?q?cad=E5=90=8C=E6=AD=A5=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E9=83=A8=E4=BB=B6hash=E8=AE=A1=E7=AE=97=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../factory/WebCadOrderImportFactory.java | 27 +++++++------------ 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java index 7e3f83db5..574e73ea0 100644 --- a/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java +++ b/cf-module-prod-plan/cf-module-prod-plan-biz/src/main/java/com/cf/imes/module/plan/service/orderImport/factory/WebCadOrderImportFactory.java @@ -549,12 +549,14 @@ public class WebCadOrderImportFactory { for (WebCadDataComponentGroupReqVO node : list) { - // 递归转换 - OrderComponentTreeCompareVO root = - convertNode(node); + OrderComponentTreeCompareVO root = convertNode(node); - // 递归生成 hash - computeHashRecursively(root); + // 仅给根节点计算 hash + root.setStructureHash( + DigestUtil.sha256Hex( + buildStructureString(root) + ) + ); roots.add(root); } @@ -614,7 +616,7 @@ public class WebCadOrderImportFactory { * * @return 当前节点结构字符串 */ - private String computeHashRecursively( + private String buildStructureString( OrderComponentTreeCompareVO node) { StringBuilder sb = new StringBuilder(); @@ -626,7 +628,6 @@ public class WebCadOrderImportFactory { if (CollUtil.isNotEmpty(children)) { - // 排序保证 hash 稳定 children.sort( Comparator.comparing( OrderComponentTreeCompareVO::getName @@ -641,9 +642,8 @@ public class WebCadOrderImportFactory { sb.append(","); } - // 递归子节点 sb.append( - computeHashRecursively( + buildStructureString( children.get(i) ) ); @@ -652,14 +652,7 @@ public class WebCadOrderImportFactory { sb.append(")"); } - String structureStr = sb.toString(); - - // 当前节点 hash - node.setStructureHash( - DigestUtil.sha256Hex(structureStr) - ); - - return structureStr; + return sb.toString(); } /**