1 changed files with 76 additions and 2 deletions
@ -1,20 +1,94 @@ |
|||||
package com.yvan.workbench.controller; |
package com.yvan.workbench.controller; |
||||
|
|
||||
import com.yvan.workbench.model.entity.LccModelWorld; |
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.QueryByPage; |
||||
import org.clever.core.model.request.page.Page; |
import org.clever.core.model.request.page.Page; |
||||
import org.clever.data.jdbc.DaoFactory; |
import org.clever.data.jdbc.DaoFactory; |
||||
import org.clever.data.jdbc.QueryDSL; |
import org.clever.data.jdbc.QueryDSL; |
||||
import org.clever.data.jdbc.querydsl.utils.QueryDslUtils; |
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 { |
public class LccModelManager { |
||||
private static final QueryDSL QUERY_DSL = DaoFactory.getQueryDSL(); |
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() { |
public static Page<LccModelWorld> projectList() { |
||||
return QueryDslUtils.queryByPage( |
return QueryDslUtils.queryByPage( |
||||
QUERY_DSL.selectFrom(QLccModelWorld.lccModelWorld), |
QUERY_DSL.selectFrom(lccModelWorld), |
||||
QueryByPage.getCurrent() |
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…
Reference in new issue