From be109eceec9c7a39b63e528a48d862f96d475e16 Mon Sep 17 00:00:00 2001 From: zhouhongfa Date: Mon, 5 Aug 2019 15:44:06 +0800 Subject: [PATCH] =?UTF-8?q?add:=20writer=20=E5=A2=9E=E5=8A=A0=20preSql=20?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E6=9E=84=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/wugui/dataxweb/dto/DataxJsonDto.java | 1 + .../wugui/dataxweb/service/impl/DataxJsonServiceImpl.java | 1 + .../main/java/com/wugui/tool/datax/DataxJsonHelper.java | 7 +++++++ .../java/com/wugui/tool/datax/writer/BaseWriterPlugin.java | 3 +++ .../src/main/java/com/wugui/tool/pojo/DataxPluginPojo.java | 5 +++++ 5 files changed, 17 insertions(+) diff --git a/datax-web/src/main/java/com/wugui/dataxweb/dto/DataxJsonDto.java b/datax-web/src/main/java/com/wugui/dataxweb/dto/DataxJsonDto.java index 2967beb3..e7d9c387 100644 --- a/datax-web/src/main/java/com/wugui/dataxweb/dto/DataxJsonDto.java +++ b/datax-web/src/main/java/com/wugui/dataxweb/dto/DataxJsonDto.java @@ -34,4 +34,5 @@ public class DataxJsonDto implements Serializable { private String querySql; + private String preSql; } diff --git a/datax-web/src/main/java/com/wugui/dataxweb/service/impl/DataxJsonServiceImpl.java b/datax-web/src/main/java/com/wugui/dataxweb/service/impl/DataxJsonServiceImpl.java index 5378e466..2c46e595 100644 --- a/datax-web/src/main/java/com/wugui/dataxweb/service/impl/DataxJsonServiceImpl.java +++ b/datax-web/src/main/java/com/wugui/dataxweb/service/impl/DataxJsonServiceImpl.java @@ -50,6 +50,7 @@ public class DataxJsonServiceImpl implements DataxJsonService { } else { JobJdbcDatasource writerDatasource = jobJdbcDatasourceService.getById(dataxJsonDto.getWriterDatasourceId()); dataxJsonHelper.initWriter(writerDatasource, dataxJsonDto.getWriterTables(), dataxJsonDto.getWriterColumns()); + dataxJsonHelper.setPreSql(dataxJsonDto.getPreSql()); } return JSON.toJSONString(dataxJsonHelper.buildJob()); diff --git a/datax-web/src/main/java/com/wugui/tool/datax/DataxJsonHelper.java b/datax-web/src/main/java/com/wugui/tool/datax/DataxJsonHelper.java index 8443f18a..bc592ce5 100644 --- a/datax-web/src/main/java/com/wugui/tool/datax/DataxJsonHelper.java +++ b/datax-web/src/main/java/com/wugui/tool/datax/DataxJsonHelper.java @@ -63,6 +63,8 @@ public class DataxJsonHelper implements DataxJsonInterface { private String querySql; + private String preSql; + private BaseDataxPlugin readerPlugin; private BaseDataxPlugin writerPlugin; @@ -156,6 +158,7 @@ public class DataxJsonHelper implements DataxJsonInterface { dataxPluginPojo.setJdbcDatasource(writerDatasource); dataxPluginPojo.setTables(writerTables); dataxPluginPojo.setColumns(writerColumns); + dataxPluginPojo.setPreSql(preSql); return writerPlugin.build(dataxPluginPojo); } @@ -171,4 +174,8 @@ public class DataxJsonHelper implements DataxJsonInterface { public void setQuerySql(String querySql) { this.querySql = querySql; } + + public void setPreSql(String preSql) { + this.preSql = preSql; + } } diff --git a/datax-web/src/main/java/com/wugui/tool/datax/writer/BaseWriterPlugin.java b/datax-web/src/main/java/com/wugui/tool/datax/writer/BaseWriterPlugin.java index 9f7083c8..6ed4399e 100644 --- a/datax-web/src/main/java/com/wugui/tool/datax/writer/BaseWriterPlugin.java +++ b/datax-web/src/main/java/com/wugui/tool/datax/writer/BaseWriterPlugin.java @@ -31,6 +31,9 @@ public abstract class BaseWriterPlugin extends BaseDataxPlugin { parameterObj.put("column", dataxPluginPojo.getColumns()); + // preSql + parameterObj.put("preSql", ImmutableList.of(dataxPluginPojo.getPreSql())); + Map connectionObj = Maps.newLinkedHashMap(); connectionObj.put("table", dataxPluginPojo.getTables()); diff --git a/datax-web/src/main/java/com/wugui/tool/pojo/DataxPluginPojo.java b/datax-web/src/main/java/com/wugui/tool/pojo/DataxPluginPojo.java index 712d9e25..f6d46664 100644 --- a/datax-web/src/main/java/com/wugui/tool/pojo/DataxPluginPojo.java +++ b/datax-web/src/main/java/com/wugui/tool/pojo/DataxPluginPojo.java @@ -35,4 +35,9 @@ public class DataxPluginPojo { * querySql 属性,如果指定了,则优先于columns参数 */ private String querySql; + + /** + * preSql 属性 + */ + private String preSql; }