From 6f161de3475154a8e74e09518ec8b91c81d9230a Mon Sep 17 00:00:00 2001 From: lizw-2015 <1183409807@qq.com> Date: Mon, 23 Jun 2025 13:57:41 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat(workbench):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=88=96=E6=9B=B4=E6=96=B0=E4=B8=96=E7=95=8C=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 LccModelManager 中新增 addOrUpdateWorld 方法,实现添加或更新世界模型的功能 - 在前端 FileMenu 中添加保存世界模型的逻辑,调用后端新增的接口 - 优化了世界模型的数据处理,支持目录数据和其他自定义数据的保存 --- .../yvan/workbench/controller/LccModelManager.java | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/servo/src/main/java/com/yvan/workbench/controller/LccModelManager.java b/servo/src/main/java/com/yvan/workbench/controller/LccModelManager.java index 4bbe39a..6ed4349 100644 --- a/servo/src/main/java/com/yvan/workbench/controller/LccModelManager.java +++ b/servo/src/main/java/com/yvan/workbench/controller/LccModelManager.java @@ -6,6 +6,7 @@ import org.apache.commons.lang3.StringUtils; import org.clever.core.Assert; import org.clever.core.Conv; import org.clever.core.id.SnowFlake; +import org.clever.core.mapper.JacksonMapper; import org.clever.core.model.request.QueryByPage; import org.clever.core.model.request.page.Page; import org.clever.core.model.response.R; @@ -111,6 +112,33 @@ public class LccModelManager { return QUERY_DSL.selectFrom(lccModelWorld).where(lccModelWorld.id.eq(project.getId())).fetchOne(); } + @Transactional + public static R addOrUpdateWorld(@RequestBody LccModelWorld params) { + Assert.isNotBlank(params.getProjectUuid(), "项目编号必填"); + long count = QUERY_DSL.selectFrom(lccModelWorld) + .where(lccModelWorld.projectUuid.eq(params.getProjectUuid())) + .where(lccModelWorld.projectVersion.eq(1L)) + .fetchCount(); + if (count >= 1) { + QUERY_DSL.update(lccModelWorld) + .set(lccModelWorld.otherData, params.getOtherData()) + .set(lccModelWorld.directoryData, params.getDirectoryData()) + .where(lccModelWorld.projectUuid.eq(params.getProjectUuid())) + .where(lccModelWorld.projectVersion.eq(1L)) + .execute(); + } else { + //noinspection unchecked + Map map = JacksonMapper.getInstance().fromJson(params.getOtherData(), Map.class); + params.setId(SnowFlake.SNOW_FLAKE.nextId()); + params.setProjectVersion(1L); + params.setProjectLabel(Conv.asString(map.get("project_label"))); + params.setServer(Conv.asString(map.get("server"))); + // params.setCreateBy(); + QUERY_DSL.insert(lccModelWorld).populate(params).execute(); + } + return R.success(); + } + public static LccModelFloor getFloor(@RequestParam Map params) { String catalogCode = Conv.asString(params.get("catalogCode")); String project_uuid = Conv.asString(params.get("project_uuid")); From 1773e994215305a9591768547690c7016fe0aa5e Mon Sep 17 00:00:00 2001 From: lizw-2015 <1183409807@qq.com> Date: Mon, 23 Jun 2025 14:17:44 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat(router):=20=E6=B7=BB=E5=8A=A0=E8=B7=AF?= =?UTF-8?q?=E7=94=B1=E5=AE=88=E5=8D=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在路由配置中添加了 beforeEach 守卫,用于检查用户登录状态 - 如果用户未登录且目标路由不是登录页,将重定向到登录页 - 移除了部分注释代码,清理了路由配置 --- yvan-rcs-dev/.lck | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 yvan-rcs-dev/.lck diff --git a/yvan-rcs-dev/.lck b/yvan-rcs-dev/.lck new file mode 100644 index 0000000..e69de29