Browse Source

feat(workbench): 添加或更新世界模型功能

- 在 LccModelManager 中新增 addOrUpdateWorld 方法,实现添加或更新世界模型的功能
- 在前端 FileMenu 中添加保存世界模型的逻辑,调用后端新增的接口
- 优化了世界模型的数据处理,支持目录数据和其他自定义数据的保存
master
lizw-2015 6 months ago
parent
commit
6f161de347
  1. 28
      servo/src/main/java/com/yvan/workbench/controller/LccModelManager.java

28
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.Assert;
import org.clever.core.Conv; import org.clever.core.Conv;
import org.clever.core.id.SnowFlake; 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.QueryByPage;
import org.clever.core.model.request.page.Page; import org.clever.core.model.request.page.Page;
import org.clever.core.model.response.R; 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(); 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<String, Object> 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<String, Object> params) { public static LccModelFloor getFloor(@RequestParam Map<String, Object> params) {
String catalogCode = Conv.asString(params.get("catalogCode")); String catalogCode = Conv.asString(params.get("catalogCode"));
String project_uuid = Conv.asString(params.get("project_uuid")); String project_uuid = Conv.asString(params.get("project_uuid"));

Loading…
Cancel
Save