From c0a5fb8e2621d2ec1f234eb97025817fc4b8b96d Mon Sep 17 00:00:00 2001 From: lxp <2770281812@qq.com> Date: Thu, 9 Jul 2026 10:40:03 +0800 Subject: [PATCH] =?UTF-8?q?cad=5Fmodel=5Fhistory=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=AD=97=E6=AE=B5topology=5Fpath?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/cad-model-annotation-api.md | 2 ++ .../java/com/cadlabel/dto/cad/CadModelHistoryResponse.java | 1 + src/main/java/com/cadlabel/entity/CadModelHistory.java | 3 +++ .../com/cadlabel/service/impl/CadModelServiceImpl.java | 1 + .../com/cadlabel/controller/CadModelControllerTest.java | 4 +++- .../service/impl/CadAnnotationServiceIntegrationTest.java | 1 + .../service/impl/CadModelServiceIntegrationTest.java | 7 +++++-- 7 files changed, 16 insertions(+), 3 deletions(-) diff --git a/docs/cad-model-annotation-api.md b/docs/cad-model-annotation-api.md index 8d41756..c822884 100644 --- a/docs/cad-model-annotation-api.md +++ b/docs/cad-model-annotation-api.md @@ -212,6 +212,7 @@ "operationType": "Extrude", "stepPath": "uploads/history/101.step", "glbPath": "uploads/history/101.glb", + "topologyPath": "uploads/history/101.topology.json", "convertStatus": "success", "createdAt": "2026-07-08 16:20:00", "updatedAt": "2026-07-08 16:20:00" @@ -701,6 +702,7 @@ | `operationType` | string | 操作类型 | | `stepPath` | string | STEP 文件路径 | | `glbPath` | string | GLB 文件路径 | +| `topologyPath` | string | 拓扑文件路径 | | `convertStatus` | string | 转换状态 | | `errorMessage` | string | 转换错误信息 | | `createdAt` | string | 创建时间 | diff --git a/src/main/java/com/cadlabel/dto/cad/CadModelHistoryResponse.java b/src/main/java/com/cadlabel/dto/cad/CadModelHistoryResponse.java index e8fee3f..58677e1 100644 --- a/src/main/java/com/cadlabel/dto/cad/CadModelHistoryResponse.java +++ b/src/main/java/com/cadlabel/dto/cad/CadModelHistoryResponse.java @@ -11,6 +11,7 @@ public record CadModelHistoryResponse( String operationType, String stepPath, String glbPath, + String topologyPath, String convertStatus, String errorMessage, LocalDateTime createdAt, diff --git a/src/main/java/com/cadlabel/entity/CadModelHistory.java b/src/main/java/com/cadlabel/entity/CadModelHistory.java index 473b7ad..9e7b5f5 100644 --- a/src/main/java/com/cadlabel/entity/CadModelHistory.java +++ b/src/main/java/com/cadlabel/entity/CadModelHistory.java @@ -35,6 +35,9 @@ public class CadModelHistory { /** GLB 文件路径。 */ private String glbPath; + /** 拓扑文件路径。 */ + private String topologyPath; + /** 转换状态。 */ private String convertStatus; diff --git a/src/main/java/com/cadlabel/service/impl/CadModelServiceImpl.java b/src/main/java/com/cadlabel/service/impl/CadModelServiceImpl.java index 37b3c17..50670ad 100644 --- a/src/main/java/com/cadlabel/service/impl/CadModelServiceImpl.java +++ b/src/main/java/com/cadlabel/service/impl/CadModelServiceImpl.java @@ -325,6 +325,7 @@ public class CadModelServiceImpl implements CadModelService { history.getOperationType(), history.getStepPath(), history.getGlbPath(), + history.getTopologyPath(), history.getConvertStatus(), history.getErrorMessage(), history.getCreatedAt(), diff --git a/src/test/java/com/cadlabel/controller/CadModelControllerTest.java b/src/test/java/com/cadlabel/controller/CadModelControllerTest.java index 44f8ee2..fa37db2 100644 --- a/src/test/java/com/cadlabel/controller/CadModelControllerTest.java +++ b/src/test/java/com/cadlabel/controller/CadModelControllerTest.java @@ -134,6 +134,7 @@ class CadModelControllerTest { "extrude_add", "steps/1.step", "glbs/1.glb", + "topologies/1.json", "success", null, LocalDateTime.of(2026, 7, 8, 10, 0, 0), @@ -146,7 +147,8 @@ class CadModelControllerTest { .andExpect(jsonPath("$.code").value("OK")) .andExpect(jsonPath("$.data[0].id").value(10)) .andExpect(jsonPath("$.data[0].historyIndex").value(1)) - .andExpect(jsonPath("$.data[0].historyName").value("凸台-拉伸1")); + .andExpect(jsonPath("$.data[0].historyName").value("凸台-拉伸1")) + .andExpect(jsonPath("$.data[0].topologyPath").value("topologies/1.json")); } private static CadModelResponse sampleModel(Long id, String modelName) { diff --git a/src/test/java/com/cadlabel/service/impl/CadAnnotationServiceIntegrationTest.java b/src/test/java/com/cadlabel/service/impl/CadAnnotationServiceIntegrationTest.java index c8b6943..9322eab 100644 --- a/src/test/java/com/cadlabel/service/impl/CadAnnotationServiceIntegrationTest.java +++ b/src/test/java/com/cadlabel/service/impl/CadAnnotationServiceIntegrationTest.java @@ -77,6 +77,7 @@ class CadAnnotationServiceIntegrationTest { operation_type VARCHAR(64) NOT NULL DEFAULT '', step_path VARCHAR(1024) NOT NULL DEFAULT '', glb_path VARCHAR(1024) NOT NULL DEFAULT '', + topology_path VARCHAR(1024) NOT NULL DEFAULT '', convert_status VARCHAR(32) NOT NULL DEFAULT 'pending', error_message TEXT, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, diff --git a/src/test/java/com/cadlabel/service/impl/CadModelServiceIntegrationTest.java b/src/test/java/com/cadlabel/service/impl/CadModelServiceIntegrationTest.java index 1f735b8..6539b9d 100644 --- a/src/test/java/com/cadlabel/service/impl/CadModelServiceIntegrationTest.java +++ b/src/test/java/com/cadlabel/service/impl/CadModelServiceIntegrationTest.java @@ -69,6 +69,7 @@ class CadModelServiceIntegrationTest { operation_type VARCHAR(64) NOT NULL DEFAULT '', step_path VARCHAR(1024) NOT NULL DEFAULT '', glb_path VARCHAR(1024) NOT NULL DEFAULT '', + topology_path VARCHAR(1024) NOT NULL DEFAULT '', convert_status VARCHAR(32) NOT NULL DEFAULT 'pending', error_message TEXT, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, @@ -215,6 +216,7 @@ class CadModelServiceIntegrationTest { assertThat(histories).extracting(CadModelHistoryResponse::id).containsExactly(10L, 11L); assertThat(histories).extracting(CadModelHistoryResponse::historyIndex).containsExactly(1, 2); + assertThat(histories.getFirst()).hasFieldOrPropertyWithValue("topologyPath", "topologies/1.json"); assertThatThrownBy(() -> cadModelService.listHistories(404L)) .isInstanceOf(BizException.class) @@ -254,9 +256,9 @@ class CadModelServiceIntegrationTest { jdbcTemplate.update(""" INSERT INTO cad_model_history ( id, model_id, source_feature_id, history_index, history_name, - operation_type, step_path, glb_path, convert_status, error_message, + operation_type, step_path, glb_path, topology_path, convert_status, error_message, created_at, updated_at - ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) """, id, modelId, @@ -266,6 +268,7 @@ class CadModelServiceIntegrationTest { "extrude_add", "steps/" + historyIndex + ".step", "glbs/" + historyIndex + ".glb", + "topologies/" + historyIndex + ".json", "success", null, "2026-07-08 10:00:00",