Browse Source

init

master
lizw-2015 6 months ago
parent
commit
7f9b79662c
  1. 78
      servo/src/main/java/com/yvan/workbench/controller/LccModelManager.java

78
servo/src/main/java/com/yvan/workbench/controller/LccModelManager.java

@ -1,20 +1,94 @@
package com.yvan.workbench.controller;
import com.yvan.workbench.model.entity.LccModelWorld;
import com.yvan.workbench.model.query.QLccModelWorld;
import org.apache.commons.lang3.StringUtils;
import org.clever.core.Assert;
import org.clever.core.id.SnowFlake;
import org.clever.core.model.request.QueryByPage;
import org.clever.core.model.request.page.Page;
import org.clever.data.jdbc.DaoFactory;
import org.clever.data.jdbc.QueryDSL;
import org.clever.data.jdbc.querydsl.utils.QueryDslUtils;
import org.clever.web.mvc.annotation.RequestBody;
import org.clever.web.mvc.annotation.Transactional;
import static com.yvan.workbench.model.query.QLccModelWorld.lccModelWorld;
public class LccModelManager {
private static final QueryDSL QUERY_DSL = DaoFactory.getQueryDSL();
private static String getOtherData(String projectUuid, String projectLabel) {
return StringUtils.trim(String.format("""
{
"project_uuid": "%s",
"project_label": "%s",
"project_version": 0,
"server": "demo",
"Tool": {
"Group": [],
"GlobalVariables": [],
"UserCommand": [],
"Dashboard": [],
"DataTable": [],
"Trigger": [
{
"name": "OnOpen",
"fn": ""
},
{
"name": "OnReset",
"fn": ""
},
{
"name": "OnStart",
"fn": ""
},
{
"name": "OnStop",
"fn": ""
}
],
"gridHelper": {
"axesEnabled": true,
"axesSize": 5,
"axesColor": 14540253,
"axesWidth": 2,
"gridEnabled": true,
"gridSize": 1000,
"gridDivisions": 1000,
"gridColor": 14540253,
"gridOpacity": 1,
"backgroundColor": 16119285,
"snapEnabled": true,
"snapDistance": 0.25
}
},
"elevator": [],
"wall": [],
"pillar": []
}""".stripIndent(), projectUuid, projectLabel));
}
public static Page<LccModelWorld> projectList() {
return QueryDslUtils.queryByPage(
QUERY_DSL.selectFrom(QLccModelWorld.lccModelWorld),
QUERY_DSL.selectFrom(lccModelWorld),
QueryByPage.getCurrent()
);
}
@Transactional
public static LccModelWorld addProject(@RequestBody LccModelWorld project) {
Assert.isNotBlank(project.getProjectUuid(), "项目编号必填");
Assert.isNotBlank(project.getProjectLabel(), "项目标题必填");
Assert.isTrue(
QUERY_DSL.selectFrom(lccModelWorld).where(lccModelWorld.projectUuid.eq(project.getProjectUuid())).fetchCount() <= 0,
"项目编号重复"
);
project.setProjectVersion(1L);
project.setId(SnowFlake.SNOW_FLAKE.nextId());
project.setDirectoryData("[]");
project.setOtherData(getOtherData(project.getProjectUuid(), project.getProjectLabel()));
QUERY_DSL.insert(lccModelWorld).populate(project).execute();
return QUERY_DSL.selectFrom(lccModelWorld).where(lccModelWorld.id.eq(project.getId())).fetchOne();
}
}

Loading…
Cancel
Save