From 0e47e6bcd1cfc141177a40849dddc5f067b75696 Mon Sep 17 00:00:00 2001 From: limq <> Date: Sun, 7 May 2023 11:36:30 +0800 Subject: [PATCH 1/8] test --- .../flow/eda/web/third/CommonController.java | 30 +++++++++++++++++++ .../com/flow/eda/web/third/CommonMapper.java | 15 ++++++++++ .../com/flow/eda/web/third/CommonService.java | 19 ++++++++++++ .../src/main/resources/application.yaml | 2 +- 4 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 jiuyu-module-floweda/flow-eda-web/src/main/java/com/flow/eda/web/third/CommonController.java create mode 100644 jiuyu-module-floweda/flow-eda-web/src/main/java/com/flow/eda/web/third/CommonMapper.java create mode 100644 jiuyu-module-floweda/flow-eda-web/src/main/java/com/flow/eda/web/third/CommonService.java diff --git a/jiuyu-module-floweda/flow-eda-web/src/main/java/com/flow/eda/web/third/CommonController.java b/jiuyu-module-floweda/flow-eda-web/src/main/java/com/flow/eda/web/third/CommonController.java new file mode 100644 index 0000000..831ea73 --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-web/src/main/java/com/flow/eda/web/third/CommonController.java @@ -0,0 +1,30 @@ +package com.flow.eda.web.third; + +import com.flow.eda.web.flow.Flow; +import com.flow.eda.web.flow.FlowRequest; +import com.flow.eda.web.flow.FlowService; +import com.flow.eda.web.http.PageResult; +import com.flow.eda.web.log.OperationLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.security.Principal; +import java.util.List; +import java.util.Map; + +@RestController +@RequestMapping("/api/v1") +public class CommonController { + @Autowired + private CommonService commonService; + + @OperationLog + @GetMapping("/datasource") + public List> listFlow(FlowRequest request, Principal principal) { + List list = commonService.getAllDataSource(); + return list; + } + +} diff --git a/jiuyu-module-floweda/flow-eda-web/src/main/java/com/flow/eda/web/third/CommonMapper.java b/jiuyu-module-floweda/flow-eda-web/src/main/java/com/flow/eda/web/third/CommonMapper.java new file mode 100644 index 0000000..16628ab --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-web/src/main/java/com/flow/eda/web/third/CommonMapper.java @@ -0,0 +1,15 @@ +package com.flow.eda.web.third; + +import com.flow.eda.web.flow.Flow; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; +import java.util.Map; + +@Mapper +public interface CommonMapper { + + @Select(" SELECT code,remark, name FROM sys_data_source ") + List> selectAllDataSource( ); +} diff --git a/jiuyu-module-floweda/flow-eda-web/src/main/java/com/flow/eda/web/third/CommonService.java b/jiuyu-module-floweda/flow-eda-web/src/main/java/com/flow/eda/web/third/CommonService.java new file mode 100644 index 0000000..4ef6997 --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-web/src/main/java/com/flow/eda/web/third/CommonService.java @@ -0,0 +1,19 @@ +package com.flow.eda.web.third; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class CommonService { + + @Autowired + private CommonMapper commonMapper; + + public List getAllDataSource(){ + List list = commonMapper.selectAllDataSource(); + return list; + } + +} diff --git a/jiuyu-module-floweda/flow-eda-web/src/main/resources/application.yaml b/jiuyu-module-floweda/flow-eda-web/src/main/resources/application.yaml index 714d583..a37bce4 100644 --- a/jiuyu-module-floweda/flow-eda-web/src/main/resources/application.yaml +++ b/jiuyu-module-floweda/flow-eda-web/src/main/resources/application.yaml @@ -5,7 +5,7 @@ spring: name: flow-eda-web datasource: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://localhost:3306/flow_eda?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + url: jdbc:mysql://localhost:3306/jiuyu-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: root hikari: -- Gitee From b56396aaac4ff9e94975bede6d12a0e5a7862d63 Mon Sep 17 00:00:00 2001 From: limq <> Date: Wed, 10 May 2023 23:11:09 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E5=85=B3=E7=B3=BB=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=A1=A8=E8=BE=93=E5=85=A5=E8=8A=82=E7=82=B9=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jiuyu-boot-base/jiuyu-boot-base-api/pom.xml | 2 +- .../jiuyu-boot-base-groovy/pom.xml | 1 + .../dynamicApi/asptect/PageBeanAspect.java | 10 +- .../service/impl/PageBeanHander.java | 5 +- .../dynamicApi/utils/JdbcTemplateSupport.java | 125 ++++---- .../com/jiuyu/dynamicApi/utils/PageBean.java | 4 +- .../system/vo/DynamicDataSourceModel.java | 18 +- .../java/org/jeecg/common/util/ListUtils.java | 126 ++++++++ .../jeecg/common/util/db/DynamicDBUtil.java | 4 + jiuyu-boot-module-system/pom.xml | 11 + .../org/jeecg/JiuYuSystemApplication.java | 3 + .../system/service/impl/SysBaseApiImpl.java | 2 + .../src/main/resources/application-dev.yml | 21 +- .../src/test/java/org/jeecg/MyTest.java | 24 ++ .../src/main/resources/application.yaml | 4 +- jiuyu-module-floweda/flow-eda-runner/pom.xml | 13 + .../eda/runner/data/JiuyuBaseService.java | 18 ++ .../eda/runner/node/etl/DataColumnMeta.java | 14 + .../flow/eda/runner/node/etl/DataSetMeta.java | 16 + .../runner/node/etl/RdbTablePartitioner.java | 100 +++++++ .../etl/dataloader/RdbTableInputNode.java | 274 ++++++++++-------- .../node/etl/dataloader/ThredQuery.java | 48 +++ .../flow/eda/runner/runtime/FlowExecutor.java | 7 +- .../src/main/resources/application.yaml | 4 +- .../node/etl/RdbTableInputNodeTest.java | 34 +++ .../src/main/resources/application.yaml | 4 +- 26 files changed, 691 insertions(+), 201 deletions(-) create mode 100644 jiuyu-boot-base/jiuyu-boot-base-tools/src/main/java/org/jeecg/common/util/ListUtils.java create mode 100644 jiuyu-boot-module-system/src/test/java/org/jeecg/MyTest.java create mode 100644 jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/data/JiuyuBaseService.java create mode 100644 jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/DataColumnMeta.java create mode 100644 jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/DataSetMeta.java create mode 100644 jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/RdbTablePartitioner.java create mode 100644 jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThredQuery.java create mode 100644 jiuyu-module-floweda/flow-eda-runner/src/test/java/com/flow/eda/runner/node/etl/RdbTableInputNodeTest.java diff --git a/jiuyu-boot-base/jiuyu-boot-base-api/pom.xml b/jiuyu-boot-base/jiuyu-boot-base-api/pom.xml index f53f664..71c0c8c 100644 --- a/jiuyu-boot-base/jiuyu-boot-base-api/pom.xml +++ b/jiuyu-boot-base/jiuyu-boot-base-api/pom.xml @@ -18,7 +18,7 @@ com.jiuyu.boot - jiuyu-boot-base-core + jiuyu-boot-base-tools 3.0 diff --git a/jiuyu-boot-base/jiuyu-boot-base-groovy/pom.xml b/jiuyu-boot-base/jiuyu-boot-base-groovy/pom.xml index 5e6530e..a8723f9 100644 --- a/jiuyu-boot-base/jiuyu-boot-base-groovy/pom.xml +++ b/jiuyu-boot-base/jiuyu-boot-base-groovy/pom.xml @@ -79,6 +79,7 @@ + diff --git a/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/asptect/PageBeanAspect.java b/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/asptect/PageBeanAspect.java index 37ce4a1..e3c1b77 100644 --- a/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/asptect/PageBeanAspect.java +++ b/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/asptect/PageBeanAspect.java @@ -20,8 +20,8 @@ import java.lang.reflect.Parameter; import java.util.List; import java.util.Map; -@Aspect -@Component +//@Aspect +//@Component @Slf4j public class PageBeanAspect { @@ -55,6 +55,8 @@ public class PageBeanAspect { Integer pageNo = Integer.parseInt(paramsMap.getOrDefault("PAGENUM", "1" ) +""); Integer pageSize = Integer.parseInt(paramsMap.getOrDefault("PAGESIZE" , "10")+"" ); res = getQueryPageBean(paramsMap , map , sqlsr , pageNo, pageSize); + + log.info("pageNo55 = {}" , pageNo); }else { res = joinPoint.proceed(); } @@ -71,8 +73,8 @@ public class PageBeanAspect { PageBean queryForPage = null; String ds = map.get("DS")+""; String dyDBTYPE = map.get("DBTYPE")!=null ? map.get("DBTYPE").toString():null; - String dbType = null != dyDBTYPE ?dyDBTYPE : paramsMap.getOrDefault("dbType" , "1").toString() ; // 默认oracle - + String dbType = null != dyDBTYPE ?dyDBTYPE : paramsMap.getOrDefault("DBTYPE" , "1").toString() ; // 默认oracle + log.info("pageNo444 = {}" , pageNo); Page pagination = new Page(pageNo,pageSize); // PageBean queryForPage = null; diff --git a/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/service/impl/PageBeanHander.java b/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/service/impl/PageBeanHander.java index 8d45fa8..743f49c 100644 --- a/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/service/impl/PageBeanHander.java +++ b/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/service/impl/PageBeanHander.java @@ -23,11 +23,12 @@ public class PageBeanHander { @DynaicParameter - public PageBean getQueryPageBean(Map paramsMap , Map map , String sqlsr ){ + public PageBean getQueryPageBean(final Map paramsMap , Map map , String sqlsr ){ // log.info("PageBeanHander ........................."); - Integer pageNo = Integer.parseInt(paramsMap.getOrDefault("PAGENUM", "1" ) +""); + Integer pageNo = Integer.parseInt(paramsMap.getOrDefault("PAGENO", "1" ) +""); Integer pageSize = Integer.parseInt(paramsMap.getOrDefault("PAGESIZE" , "10")+"" ); + PageBean queryForPage = null; String ds = map.get("DS")+""; String dbType = paramsMap.getOrDefault("DBTYPE" , "1")+""; // 默认oracle diff --git a/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/utils/JdbcTemplateSupport.java b/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/utils/JdbcTemplateSupport.java index 7ccc1cb..e265356 100644 --- a/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/utils/JdbcTemplateSupport.java +++ b/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/utils/JdbcTemplateSupport.java @@ -19,81 +19,82 @@ import java.sql.SQLException; import java.util.HashMap; import java.util.List; import java.util.Map; + @Slf4j @Component -public class JdbcTemplateSupport { +public class JdbcTemplateSupport { /* @Autowired private JdbcTemplate jdbcTemplate;*/ - public PageBean queryForPage(String sql, Page pagination, String dbType , JdbcTemplate jdbcTemplate, Map map , Map parameterMap ) throws DataAccessException { + public PageBean queryForPage(String sql, Page pagination, String dbType, JdbcTemplate jdbcTemplate, Map map, Map parameterMap) throws DataAccessException { - if(map == null ){ + if (map == null) { map = new HashMap<>(); } - PageBean result= new PageBean(); + PageBean result = new PageBean(); long total = pagination.getTotal() == -1 ? 0 : pagination.getTotal(); long start = System.currentTimeMillis(); - if(total == 0 ){ + if (total == 0) { //获取记录条数 StringBuffer countSqlSb = new StringBuffer("select "); - if(null != map && map.containsKey("PAGE_QUERY_MODEL") && null != map.get("PAGE_QUERY_MODEL") && "1".equals(map.get("PAGE_QUERY_MODEL").toString())){ - if("mysql".equals(dbType) || "2".equals(dbType) || (map.containsKey("DBTYPE") && null != map.get("DBTYPE") && "mysql".equals( map.get("DBTYPE").toString()))){ - countSqlSb = convert2Count(sql , pagination.getCount_index_field() , "mysql") ; - }else if("oracle".equals(dbType) || "1".equals(dbType)){ - countSqlSb = convert2Count(sql , pagination.getCount_index_field() , "oracle") ; + if (null != map && map.containsKey("PAGE_QUERY_MODEL") && null != map.get("PAGE_QUERY_MODEL") && "1".equals(map.get("PAGE_QUERY_MODEL").toString())) { + if ("mysql".equals(dbType) || "2".equals(dbType) || (map.containsKey("DBTYPE") && null != map.get("DBTYPE") && "mysql".equals(map.get("DBTYPE").toString()))) { + countSqlSb = convert2Count(sql, pagination.getCount_index_field(), "mysql"); + } else if ("oracle".equals(dbType) || "1".equals(dbType)) { + countSqlSb = convert2Count(sql, pagination.getCount_index_field(), "oracle"); } - }else if(null != map && map.containsKey("PAGE_QUERY_MODEL") && null != map.get("PAGE_QUERY_MODEL") && "2".equals(map.get("PAGE_QUERY_MODEL").toString())){ + } else if (null != map && map.containsKey("PAGE_QUERY_MODEL") && null != map.get("PAGE_QUERY_MODEL") && "2".equals(map.get("PAGE_QUERY_MODEL").toString())) { // 完全自定义count查询 - countSqlSb = new StringBuffer(EnjoyTemplateUtils.parseTemplateContent(pagination.getCount_index_field() ,parameterMap) ); - } - else{ - if(null != pagination.getCount_index_field()){ + countSqlSb = new StringBuffer(EnjoyTemplateUtils.parseTemplateContent(pagination.getCount_index_field(), parameterMap)); + } else { + if (null != pagination.getCount_index_field()) { countSqlSb.append("count(").append(pagination.getCount_index_field()).append(")"); - }else { - countSqlSb.append("count(1)") ; + } else { + countSqlSb.append("count(1)"); } countSqlSb.append(" as count from ( ").append(sql).append(" ) temp "); } - if(log.isDebugEnabled()){ - log.debug("——————分页总数查询SQL: {}",countSqlSb); + if (log.isDebugEnabled()) { + log.debug("——————分页总数查询SQL: {}", countSqlSb); } - List countList= jdbcTemplate.query(countSqlSb.toString(), new RowMapper() { + List countList = jdbcTemplate.query(countSqlSb.toString(), new RowMapper() { public Integer mapRow(ResultSet resultSet, int i) throws SQLException { return new Integer(resultSet.getInt(1)); } }); - total = countList.get(0) ; + total = countList.get(0); } result.setTotal(total); - result.setSize( new Long(total).intValue()); + result.setSize(new Long(total).intValue()); result.setPageNum(pagination.getPageNum()); result.setPageSize(pagination.getPageSize()); long count_time = System.currentTimeMillis() - start; result.setQuery_count_cost_time(count_time); - long pageCount=result.getTotal()%result.getPageSize(); - int pages = Integer.parseInt(String.valueOf(pageCount==0?(result.getTotal()/result.getPageSize()):(result.getTotal()/result.getPageSize()+1))) ; + long pageCount = result.getTotal() % result.getPageSize(); + int pages = Integer.parseInt(String.valueOf(pageCount == 0 ? (result.getTotal() / result.getPageSize()) : (result.getTotal() / result.getPageSize() + 1))); result.setPages(pages); - if("mysql".equalsIgnoreCase(dbType) || "2".equals(dbType) || (map.containsKey("DBTYPE") && null != map.get("DBTYPE") && "mysql".equals( map.get("DBTYPE").toString()))){ - sql+=parseLimit(result); - }else if("oracle".equalsIgnoreCase(dbType) || "1".equals(dbType)){ - sql = pagingByOracel(sql , result); - }else{ + if ("mysql".equalsIgnoreCase(dbType) || "2".equals(dbType) || (map.containsKey("DBTYPE") && null != map.get("DBTYPE") && "mysql".equals(map.get("DBTYPE").toString()))) { + sql += parseLimit(result); + } else if ("oracle".equalsIgnoreCase(dbType) || "1".equals(dbType)) { + sql = pagingByOracel(sql, result); + } else { // throw new RuntimeException("错误的数据库类型dbType = "+ dbType ); - log.warn(" 错误的数据库类型 dbType = {}" , dbType); + log.warn(" 错误的数据库类型 dbType = {}", dbType); } - if(log.isDebugEnabled()){ - log.debug("——————分页列表查询SQL: {}",sql); + if (log.isDebugEnabled()) { + log.debug("——————分页列表查询SQL: {}", sql); } - List data= jdbcTemplate.queryForList(sql); + log.info("——————分页列表查询SQL: {}", sql); + List data = jdbcTemplate.queryForList(sql); result.setList(data); long list_time = System.currentTimeMillis() - start; @@ -103,74 +104,74 @@ public class JdbcTemplateSupport { } - public PageBean queryForPage(String sql, Page pagination, String dbType , JdbcTemplate jdbcTemplate) throws DataAccessException { + public PageBean queryForPage(String sql, Page pagination, String dbType, JdbcTemplate jdbcTemplate) throws DataAccessException { - return queryForPage(sql , pagination , dbType , jdbcTemplate, null,null) ; + return queryForPage(sql, pagination, dbType, jdbcTemplate, null, null); } - private String parseLimit(PageBean pagination ){ + private String parseLimit(PageBean pagination) { - StringBuffer stringBuffer=new StringBuffer(" "); + StringBuffer stringBuffer = new StringBuffer(" "); stringBuffer.append("limit"); stringBuffer.append(" "); - if(pagination.getPageNum() == 0) { + if (pagination.getPageNum() == 0) { stringBuffer.append("0"); - }else { - stringBuffer.append((pagination.getPageNum()-1)*pagination.getPageSize()); + } else { + stringBuffer.append((pagination.getPageNum() - 1) * pagination.getPageSize()); } stringBuffer.append(","); stringBuffer.append(pagination.getPageSize()); return stringBuffer.toString(); } - public String pagingByOracel(String sql,PageBean pagination){ - int start = (pagination.getPageNum()-1)*pagination.getPageSize(); + public String pagingByOracel(String sql, PageBean pagination) { + int start = (pagination.getPageNum() - 1) * pagination.getPageSize(); //当前页最大值 - int end = start+pagination.getPageSize(); - String endSql = "select * from ("+ - "select t.*,rownum row_ from (" +sql + ") t"+ - " where rownum<="+end+ - ") where row_>"+start; + int end = start + pagination.getPageSize(); + String endSql = "select * from (" + + "select t.*,rownum row_ from (" + sql + ") t" + + " where rownum<=" + end + + ") where row_>" + start; return endSql; } - public static StringBuffer convert2Count(String sql_str , String count_index , String dbType ){ - sql_str = formatSimpleSql(sql_str , dbType) ; + public static StringBuffer convert2Count(String sql_str, String count_index, String dbType) { + sql_str = formatSimpleSql(sql_str, dbType); String[] strs = sql_str.split("FROM"); StringBuffer sql = new StringBuffer("select "); - if(null != count_index ){ + if (null != count_index) { sql.append("count(").append(count_index).append(")"); - }else { - sql.append("count(1)") ; + } else { + sql.append("count(1)"); } for (int i = 0; i < strs.length; i++) { - if(i == 0 ){ - // sql.append(" "); - }else{ - sql.append( strs[i] ); + if (i == 0) { + // sql.append(" "); + } else { + sql.append(strs[i]); } - if(i < strs.length-1){ + if (i < strs.length - 1) { sql.append(" from "); } } - return sql ; + return sql; } - private static String formatSimpleSql(String sql ,String dbType){ + private static String formatSimpleSql(String sql, String dbType) { SQLSelectStatement statement = (SQLSelectStatement) parser(sql, dbType); SQLSelect select = statement.getSelect(); SQLSelectQueryBlock query = (SQLSelectQueryBlock) select.getQuery(); - List selectlist = query.getSelectList(); + List selectlist = query.getSelectList(); selectlist.clear(); String sql_str = query.toString(); //System.out.println(sql_str); - return sql_str ; + return sql_str; } - private static SQLStatement parser(String sql, String dbType) { + private static SQLStatement parser(String sql, String dbType) { List list = SQLUtils.parseStatements(sql, dbType); if (list.size() > 1) { throw new RuntimeException(" MultiQueries is not supported,use single query instead (不支持多个SQL ,请检查查询语句是否正确!)"); diff --git a/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/utils/PageBean.java b/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/utils/PageBean.java index af89aef..c76d597 100644 --- a/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/utils/PageBean.java +++ b/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/utils/PageBean.java @@ -2,8 +2,10 @@ package com.jiuyu.dynamicApi.utils; import lombok.Data; + import java.io.Serializable; import java.util.List; + @Data public class PageBean implements Serializable { @@ -18,7 +20,7 @@ public class PageBean implements Serializable { private long query_count_cost_time = 0; private long query_list_cost_time = 0; - public static int MAX_PAGE_SIZE = 100; + public static int MAX_PAGE_SIZE = 5000; public PageBean() {} /** diff --git a/jiuyu-boot-base/jiuyu-boot-base-tools/src/main/java/org/jeecg/common/system/vo/DynamicDataSourceModel.java b/jiuyu-boot-base/jiuyu-boot-base-tools/src/main/java/org/jeecg/common/system/vo/DynamicDataSourceModel.java index bcef541..62f1ed0 100644 --- a/jiuyu-boot-base/jiuyu-boot-base-tools/src/main/java/org/jeecg/common/system/vo/DynamicDataSourceModel.java +++ b/jiuyu-boot-base/jiuyu-boot-base-tools/src/main/java/org/jeecg/common/system/vo/DynamicDataSourceModel.java @@ -4,7 +4,7 @@ import lombok.Data; import org.springframework.beans.BeanUtils; @Data -public class DynamicDataSourceModel { +public class DynamicDataSourceModel implements java.io.Serializable { public DynamicDataSourceModel() { @@ -51,4 +51,20 @@ public class DynamicDataSourceModel { */ private String dbPassword; + /** + * 最大活动连接数 + */ + + private String maxActive ; + /** + * 最大等待超时的时间 + */ + + private String maxWait ; + + /** + * 初始化大小 + */ + private String initial_size ; + } \ No newline at end of file diff --git a/jiuyu-boot-base/jiuyu-boot-base-tools/src/main/java/org/jeecg/common/util/ListUtils.java b/jiuyu-boot-base/jiuyu-boot-base-tools/src/main/java/org/jeecg/common/util/ListUtils.java new file mode 100644 index 0000000..1b16d99 --- /dev/null +++ b/jiuyu-boot-base/jiuyu-boot-base-tools/src/main/java/org/jeecg/common/util/ListUtils.java @@ -0,0 +1,126 @@ +package org.jeecg.common.util; + +import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; + +import java.io.*; +import java.util.ArrayList; +import java.util.List; + +/** + * 描述:List工具类 + * @author songfayuan + * 2018年7月22日下午2:23:22 + */ +@Slf4j +public class ListUtils { + + /** + * 描述:list集合深拷贝 + * @param src + * @return + * @throws IOException + * @throws ClassNotFoundException + * @author songfayuan + * 2018年7月22日下午2:35:23 + */ + public static List deepCopy(List src) { + try { + ByteArrayOutputStream byteout = new ByteArrayOutputStream(); + ObjectOutputStream out = new ObjectOutputStream(byteout); + out.writeObject(src); + ByteArrayInputStream bytein = new ByteArrayInputStream(byteout.toByteArray()); + ObjectInputStream in = new ObjectInputStream(bytein); + @SuppressWarnings("unchecked") + List dest = (List) in.readObject(); + return dest; + } catch (ClassNotFoundException e) { + e.printStackTrace(); + return null; + } catch (IOException e) { + e.printStackTrace(); + return null; + } + } + /** + * 描述:对象深拷贝 + * @param src + * @return + * @throws IOException + * @throws ClassNotFoundException + * @author songfayuan + * 2018年12月14日 + */ + public static T objDeepCopy(T src) { + try { + ByteArrayOutputStream byteout = new ByteArrayOutputStream(); + ObjectOutputStream out = new ObjectOutputStream(byteout); + out.writeObject(src); + ByteArrayInputStream bytein = new ByteArrayInputStream(byteout.toByteArray()); + ObjectInputStream in = new ObjectInputStream(bytein); + @SuppressWarnings("unchecked") + T dest = (T) in.readObject(); + return dest; + } catch (ClassNotFoundException e) { + log.error("errMsg = {}", e); + return null; + } catch (IOException e) { + log.error("errMsg = {}", e); + return null; + } + } + + /** + * 将一个list均分成n个list,主要通过偏移量来实现的 + * @author songfayuan + * 2018年12月14日 + */ + public static List> averageAssign(List source, int n) { + List> result = new ArrayList>(); + int remaider = source.size() % n; //(先计算出余数) + int number = source.size() / n; //然后是商 + int offset = 0;//偏移量 + for (int i = 0; i < n; i++) { + List value = null; + if (remaider > 0) { + value = source.subList(i * number + offset, (i + 1) * number + offset + 1); + remaider--; + offset++; + } else { + value = source.subList(i * number + offset, (i + 1) * number + offset); + } + result.add(value); + } + return result; + } + + /** + * List按指定长度分割 + * @param list the list to return consecutive sublists of (需要分隔的list) + * @param size the desired size of each sublist (the last may be smaller) (分隔的长度) + * @author songfayuan + * @date 2019-07-07 21:37 + */ + public static List> partition(List list, int size){ + return Lists.partition(list, size); // 使用guava + } + + /** + * 测试 + * @param args + */ + public static void main(String[] args) { + List bigList = new ArrayList<>(); + for (int i = 0; i < 101; i++){ + bigList.add(i); + } + log.info("bigList长度为:{}", bigList.size()); + log.info("bigList为:{}", bigList); + List> smallists = partition(bigList, 20); + log.info("smallists长度为:{}", smallists.size()); + for (List smallist : smallists) { + log.info("拆分结果:{},长度为:{}", smallist, smallist.size()); + } + } + +} \ No newline at end of file diff --git a/jiuyu-boot-base/jiuyu-boot-base-tools/src/main/java/org/jeecg/common/util/db/DynamicDBUtil.java b/jiuyu-boot-base/jiuyu-boot-base-tools/src/main/java/org/jeecg/common/util/db/DynamicDBUtil.java index 2d175a4..2dce5ee 100644 --- a/jiuyu-boot-base/jiuyu-boot-base-tools/src/main/java/org/jeecg/common/util/db/DynamicDBUtil.java +++ b/jiuyu-boot-base/jiuyu-boot-base-tools/src/main/java/org/jeecg/common/util/db/DynamicDBUtil.java @@ -41,6 +41,10 @@ public class DynamicDBUtil { dataSource.setDriverClassName(driverClassName); dataSource.setUrl(url); //dataSource.setValidationQuery("SELECT 1 FROM DUAL"); + dataSource.setInitialSize(dbSource.getInitial_size() == null ? 15 : Integer.parseInt(dbSource.getInitial_size())); + dataSource.setMaxActive(dbSource.getMaxActive() == null ? 30 : Integer.parseInt(dbSource.getMaxActive())); + + dataSource.setTestWhileIdle(true); dataSource.setTestOnBorrow(false); dataSource.setTestOnReturn(false); diff --git a/jiuyu-boot-module-system/pom.xml b/jiuyu-boot-module-system/pom.xml index 8cfbec8..5b640df 100644 --- a/jiuyu-boot-module-system/pom.xml +++ b/jiuyu-boot-module-system/pom.xml @@ -110,6 +110,17 @@ + + org.apache.dubbo + dubbo-registry-nacos + 3.0.7 + + + org.apache.dubbo + dubbo-spring-boot-starter + 3.0.7 + + com.jiuyu.boot diff --git a/jiuyu-boot-module-system/src/main/java/org/jeecg/JiuYuSystemApplication.java b/jiuyu-boot-module-system/src/main/java/org/jeecg/JiuYuSystemApplication.java index fb89140..0d5bd73 100644 --- a/jiuyu-boot-module-system/src/main/java/org/jeecg/JiuYuSystemApplication.java +++ b/jiuyu-boot-module-system/src/main/java/org/jeecg/JiuYuSystemApplication.java @@ -3,6 +3,7 @@ package org.jeecg; import lombok.extern.slf4j.Slf4j; +import org.apache.dubbo.config.spring.context.annotation.DubboComponentScan; import org.jeecg.common.util.oConvertUtils; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; @@ -21,6 +22,7 @@ import java.net.UnknownHostException; /** * 单体启动类(采用此类启动为单体模式) */ +@DubboComponentScan(basePackages = "org.jeecg.modules.system.service.impl") @Slf4j @SpringBootApplication(scanBasePackages = {"org.jeecg", "com.nbcio"}) @MapperScan("com.nbcio.modules.**.mapper") @@ -32,6 +34,7 @@ public class JiuYuSystemApplication extends SpringBootServletInitializer { } public static void main(String[] args) throws UnknownHostException { + System.setProperty("user.home", "myhome"); ConfigurableApplicationContext application = SpringApplication.run(JiuYuSystemApplication.class, args); Environment env = application.getEnvironment(); String ip = InetAddress.getLocalHost().getHostAddress(); diff --git a/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java b/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java index e813270..fe04be7 100644 --- a/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java +++ b/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java @@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.base.Joiner; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; +import org.apache.dubbo.config.annotation.DubboService; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.dto.OnlineAuthDTO; import org.jeecg.common.api.dto.message.*; @@ -56,6 +57,7 @@ import java.util.*; */ @Slf4j @Service +@DubboService(interfaceClass = ISysBaseAPI.class) public class SysBaseApiImpl implements ISysBaseAPI { /** * 当前系统数据库类型 diff --git a/jiuyu-boot-module-system/src/main/resources/application-dev.yml b/jiuyu-boot-module-system/src/main/resources/application-dev.yml index 8e36ff9..89bf976 100644 --- a/jiuyu-boot-module-system/src/main/resources/application-dev.yml +++ b/jiuyu-boot-module-system/src/main/resources/application-dev.yml @@ -7,7 +7,7 @@ server: include-stacktrace: ALWAYS include-message: ALWAYS servlet: - context-path: /nbcio-boot + context-path: /jiuyu-boot compression: enabled: true min-response-size: 1024 @@ -338,4 +338,21 @@ flowable: annotation-font-name: 宋体 #消息链接基地址 message-base-url: http://localhost:9888/flowable/task/record/index - \ No newline at end of file + +dubbo: + application: + name: jiuyu-boot-base + qos-enable: false + qos-accept-foreign-ip: false + registry: + protocol: dubbo + address: nacos://localhost:8848 + username: nacos + password: nacos + protocol: + name: dubbo + port: 20885 + consumer: + check: false + timeout: 5000 + retries: 0 \ No newline at end of file diff --git a/jiuyu-boot-module-system/src/test/java/org/jeecg/MyTest.java b/jiuyu-boot-module-system/src/test/java/org/jeecg/MyTest.java new file mode 100644 index 0000000..4ffc19e --- /dev/null +++ b/jiuyu-boot-module-system/src/test/java/org/jeecg/MyTest.java @@ -0,0 +1,24 @@ +package org.jeecg; + +import org.jeecg.common.util.db.DynamicDBUtil; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.test.context.junit4.SpringRunner; + +import java.util.List; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,classes = JiuYuSystemApplication.class) +public class MyTest { + + @Test + public void testSelect() { + String countSql = " select * from sys_data_source " ; + JdbcTemplate template = new JdbcTemplate( DynamicDBUtil.getDbSourceByDbKey("prod_mysql")); + List list = template.queryForList(countSql) ; + System.out.println(list.size()); + + } +} diff --git a/jiuyu-module-floweda/flow-eda-logger/src/main/resources/application.yaml b/jiuyu-module-floweda/flow-eda-logger/src/main/resources/application.yaml index 5a0f229..b9f1e97 100644 --- a/jiuyu-module-floweda/flow-eda-logger/src/main/resources/application.yaml +++ b/jiuyu-module-floweda/flow-eda-logger/src/main/resources/application.yaml @@ -6,8 +6,8 @@ spring: rabbitmq: host: localhost port: 5672 - username: admin - password: admin + username: guest + password: guest dubbo: application: name: flow-eda-logger diff --git a/jiuyu-module-floweda/flow-eda-runner/pom.xml b/jiuyu-module-floweda/flow-eda-runner/pom.xml index 573643c..2072f45 100644 --- a/jiuyu-module-floweda/flow-eda-runner/pom.xml +++ b/jiuyu-module-floweda/flow-eda-runner/pom.xml @@ -25,6 +25,12 @@ 3.0 + + com.jiuyu.boot + jiuyu-system-local-api + 3.0 + + org.springframework.boot spring-boot-starter-test @@ -78,5 +84,12 @@ org.quartz-scheduler quartz + + + org.springframework.data + spring-data-mongodb + 3.0.3.RELEASE + + diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/data/JiuyuBaseService.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/data/JiuyuBaseService.java new file mode 100644 index 0000000..734286b --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/data/JiuyuBaseService.java @@ -0,0 +1,18 @@ +package com.flow.eda.runner.data; + +import org.apache.dubbo.config.annotation.DubboReference; +import org.jeecg.common.system.api.ISysBaseAPI; +import org.jeecg.common.system.vo.DynamicDataSourceModel; +import org.springframework.stereotype.Service; + +@Service +public class JiuyuBaseService { + + @DubboReference + private ISysBaseAPI sysBaseAPI; + + public DynamicDataSourceModel getDynamicDbSourceByCode(String code){ + DynamicDataSourceModel model = sysBaseAPI.getDynamicDbSourceByCode(code); + return model; + } +} diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/DataColumnMeta.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/DataColumnMeta.java new file mode 100644 index 0000000..63d44c7 --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/DataColumnMeta.java @@ -0,0 +1,14 @@ +package com.flow.eda.runner.node.etl; + +import lombok.Data; + +@Data +public class DataColumnMeta { + + private String dataColumnId; + private String columnName; + private String columnType; + private int precsn; + private int dataLength; + private String metaColumnId; +} diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/DataSetMeta.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/DataSetMeta.java new file mode 100644 index 0000000..afbdc9a --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/DataSetMeta.java @@ -0,0 +1,16 @@ +package com.flow.eda.runner.node.etl; + +import java.util.Collection; +import java.util.LinkedHashMap; +import java.util.Map; + +public class DataSetMeta { + + private Map dataColumnMetas = new LinkedHashMap(); + + public int getColumnCount() { return this.dataColumnMetas.size(); } + + public void addColumnMeta(DataColumnMeta columnMeta) { this.dataColumnMetas.put(columnMeta.getColumnName(), columnMeta); } + + public Collection getAllColumn() { return this.dataColumnMetas.values(); } +} diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/RdbTablePartitioner.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/RdbTablePartitioner.java new file mode 100644 index 0000000..889186b --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/RdbTablePartitioner.java @@ -0,0 +1,100 @@ +package com.flow.eda.runner.node.etl; + +import lombok.Data; + +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.Reader; +import java.sql.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Data +public class RdbTablePartitioner { + + protected Connection conn = null; + + protected PreparedStatement ps = null; + + protected String sql; + + protected int fetchSize; + + protected int limit = 0; // 只抽取多少条,不是总数 + + protected ResultSet rs = null; + + protected DataSetMeta rw = null; + + protected boolean isIncrement;//标识是否增量抽取 + + protected String insertTime; + + protected String updateTime; + + + protected List> dataList = new ArrayList<>(); + + + protected void dowork() throws Exception { + ps = conn.prepareStatement(sql, ResultSet.TYPE_FORWARD_ONLY, + ResultSet.CONCUR_READ_ONLY); + + if (limit > 0) { + ps.setMaxRows(limit); + } + + rs = ps.executeQuery(); + rs.setFetchSize(fetchSize); + + ResultSetMetaData resultSetMetaData = rs.getMetaData(); + rw = new DataSetMeta(); + for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) { + DataColumnMeta dc = new DataColumnMeta(); + dc.setColumnName(resultSetMetaData.getColumnName(i)); + dc.setColumnType(resultSetMetaData.getColumnTypeName(i)); + rw.addColumnMeta(dc); + } + + while (rs.next()) { + Map row = exec(rs, rw); + dataList.add(row); + } + } + + protected Map exec(ResultSet rs, DataSetMeta rw) throws Exception { + Map t = new HashMap(rw.getColumnCount()); + Reader is; + BufferedReader br; + String s; + StringBuffer sb = new StringBuffer(); + for (DataColumnMeta columnMeta : rw.getAllColumn()) { + Object object = rs.getObject(columnMeta.getColumnName()); + if (object instanceof Blob) { + Blob blob = (Blob) object; + InputStream in = blob.getBinaryStream(); + byte[] bytes = new byte[(int) blob.length()]; + in.read(bytes); + in.close(); + object = bytes; + } else if (object instanceof Clob) { + Clob clob = (Clob) object; + is = clob.getCharacterStream();// 得到流 + br = new BufferedReader(is); + s = br.readLine(); + while (s != null) { + sb.append(s); + s = br.readLine(); + } + object = sb.toString(); + sb.setLength(0); + br.close(); + is.close(); + } + t.put(columnMeta.getColumnName(), object); + } + return t; + } +} diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableInputNode.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableInputNode.java index 851f7ef..1207f48 100644 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableInputNode.java +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableInputNode.java @@ -1,32 +1,72 @@ package com.flow.eda.runner.node.etl.dataloader; +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.fastjson.JSON; import com.flow.eda.common.exception.FlowException; +import com.flow.eda.runner.data.JiuyuBaseService; import com.flow.eda.runner.node.AbstractNode; import com.flow.eda.runner.node.NodeFunction; import com.flow.eda.runner.node.NodeVerify; +import com.flow.eda.runner.node.etl.DataColumnMeta; +import com.flow.eda.runner.node.etl.DataSetMeta; +import com.jiuyu.dynamicApi.service.impl.PageBeanHander; +import com.jiuyu.dynamicApi.utils.Page; +import com.jiuyu.dynamicApi.utils.PageBean; +import lombok.extern.slf4j.Slf4j; import org.bson.Document; +import org.jeecg.common.system.vo.DynamicDataSourceModel; +import org.jeecg.common.util.SpringContextUtils; +import org.jeecg.common.util.db.DynamicDBUtil; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.convert.MongoConverter; +import org.springframework.jdbc.core.JdbcTemplate; import java.sql.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.concurrent.*; +@Slf4j public class RdbTableInputNode extends AbstractNode { - // 数据库类型 mysql , oracle - private String dbType ; - private String url; - private String username; - private String password; + + PageBeanHander pageBeanHander; + + // 数据库类型 mysql=2 , oracle=1 + private String dbType; + private String dbKey; private String sql; - // 单次抽取数据量大小 - private String batchSize ; + // 总条数 + private int totalCount; + + // 单个线程处理分页量 + private int pageSize = 1000; + // 当前第几页 + private int pageNo; + + // 执行线程数 + private int threadCount; + // 总共多少页,每页对应一个线程 + private int pageCount; // 增量字段,如 创建时间 private String increaseField; + // + JdbcTemplate jdbcTemplate; + // 动态数据源 + DruidDataSource ds = null; + DynamicDataSourceModel dynamicDataSourceModel; + // 字段元数据 + DataSetMeta dataSetMeta; + + MongoTemplate mongoTemplate; + + List result = new ArrayList<>();//返回结果 public RdbTableInputNode(Document params) { @@ -36,137 +76,131 @@ public class RdbTableInputNode extends AbstractNode { @Override public void run(NodeFunction callback) { - /* RedisUtils redisUtils = ApplicationContextUtil.getBean(RedisUtils.class); - redisUtils.set("name" , "limq"); - String name = (String)redisUtils.get("name"); - System.out.println(name);*/ - Connection connection = null; - try { - // 加载驱动 - DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver()); - try { - // 建立数据库连接 - connection = DriverManager.getConnection(url, username, password); - } catch (Exception e) { - throw new FlowException("Mysql connection failed. Please check url"); - } - // 开启事务 - connection.setAutoCommit(false); - Document result = new Document(); - - // 执行sql语句 - - Document resData = this.executeQuery(connection, this.sql); - result.append("sql", this.sql).append("result", resData.get("resData")).append("columns" , resData.get("columns")); - // 提交事务 - connection.commit(); - - // 输出结果 - setStatus(Status.FINISHED); - result.putAll(output()); - callback.callback(result); - } catch (Exception e) { - // 发生异常后回滚 - if (connection != null) { - try { - connection.rollback(); - } catch (SQLException ignored) { - } - } - throw new FlowException(e.getMessage()); - } finally { - // 关闭连接 - if (connection != null) { - try { - connection.close(); - } catch (SQLException ignored) { - } - } + Document document = new Document(); + //mongoTemplate = (MongoTemplate) SpringContextUtils.getBean("mongoTemplate"); + // mongoTemplate = new MongoTemplate(); + //使一个线程等待其他线程各自执行完毕后再执行 + List> tasks = new ArrayList>();//添加任务 + + int i = 0; + while (this.pageNo <= this.pageCount && i < this.threadCount) { + Callable qfe = new ThredQuery(pageBeanHander, pageNo, this.pageSize, this.totalCount, this.dbType, this.dbKey, this.sql); + tasks.add(qfe); + this.pageNo += 1; + i++; } - } - /** 执行sql查询语句 */ - private Document executeQuery(Connection connection, String sql) throws SQLException { - - List list = new ArrayList<>(); - // 执行sql语句 - PreparedStatement statement = connection.prepareStatement(sql); - ResultSet resultSet = statement.executeQuery(); - - List tableColumns = new ArrayList<>(); - // 解析结果 - while (resultSet.next()) { - Document result = new Document(); - ResultSetMetaData metaData = resultSet.getMetaData(); - int columnCount = metaData.getColumnCount(); - for (int i = 1; i <= columnCount; i++) { - String columnName = metaData.getColumnName(i); - Object value = resultSet.getObject(i); - if (value != null && !(value instanceof String)) { - result.append(columnName, value.toString()); - } else { - result.append(columnName, value); - } - - if(tableColumns.size() < columnCount){ - tableColumns.add(columnName); + CountDownLatch end = new CountDownLatch(i); + //定义固定长度的线程池 防止线程过多 + ExecutorService execservice = Executors.newFixedThreadPool(this.threadCount); + try { + List> futures = execservice.invokeAll(tasks); + // 处理线程返回结果 + if (futures != null && futures.size() > 0) { + for (Future future : futures) { + result.add( Document.parse(JSON.toJSONString(future.get())) ); } } - list.add(result); - } - - // 关闭statement - resultSet.close(); - statement.close(); - - // 返回结果 - Object resData; - if (list.isEmpty()) { - resData = "{}"; - } else if (list.size() == 1) { - resData = list.get(0); - } else { - resData = list; + execservice.shutdown(); // 关闭线程池 + } catch (Exception e) { + e.printStackTrace(); } - Document result = new Document(); - result.append("resData" , resData).append("columns" , tableColumns) ; - return result; + log.info("多线程查询完成 .... result.size = {} ", result.size()); + document.append("result" , result).append("threadNum" , i); + document.append("totalCount" , this.totalCount) + .append("dataSetMeta", Document.parse(JSON.toJSONString(dataSetMeta)) ); + document.append("pageNo_next" , this.pageNo).append("pageCount",this.pageCount).append("pageSize",this.pageSize); + document.append("dbKey",this.dbKey).append("dbType",this.dbType); + + // 输出结果 + setStatus(Status.FINISHED); + document.putAll(output()); + callback.callback(document); } - - @Override protected void verify(Document params) { - this.url = params.getString("url"); - NodeVerify.notBlank(url, "url"); - - // 关闭SSL,缩短建立连接所耗费的时间 - if (!url.contains("useSSL")) { - if (url.contains("?")) { - this.url = url + "&useSSL=false"; - } else { - this.url = url + "?useSSL=false"; - } - } - - this.username = params.getString("username"); - NodeVerify.notBlank(username, "username"); - - this.password = params.getString("password"); - NodeVerify.notBlank(password, "password"); - String sql = params.getString("sql"); NodeVerify.notBlank(sql, "sql"); - // 去除末尾分号 String semicolon = ";"; if (sql.endsWith(semicolon)) { sql = sql.substring(0, sql.length() - 1); } - this.sql = sql; - this.dbType = params.getString("dbType"); NodeVerify.notBlank(dbType, "dbType"); + this.dbKey = params.getString("dbKey"); + NodeVerify.notBlank(dbKey, "dbKey"); + + this.ds = DynamicDBUtil.getDbSourceByDbKey(dbKey); + pageBeanHander = (PageBeanHander) SpringContextUtils.getBean("pageBeanHander"); + + if (!params.containsKey("dbType")) { + jdbcTemplate = (JdbcTemplate) SpringContextUtils.getBean("jdbcTemplate"); + JiuyuBaseService jiuyuBaseService = (JiuyuBaseService) SpringContextUtils.getBean("jdbcTemplate"); + dynamicDataSourceModel = jiuyuBaseService.getDynamicDbSourceByCode(dbKey); + this.dbType = dynamicDataSourceModel.getDbType(); + } + + if (!params.containsKey("pageSize")) { + this.pageSize = 1000; + } else { + this.pageSize = Integer.parseInt(params.getString("pageSize")) ; + } + + + if (!params.containsKey("threadCount")) { + this.threadCount = 10; + } else { + this.threadCount = Integer.parseInt(params.getString("threadCount")) ; + } + + if (!params.containsKey("totalCount")) { + String countSql = " select count(1) count from (" + this.sql + " ) t "; + JdbcTemplate template = new JdbcTemplate(this.ds); + Map count_map = template.queryForMap(countSql); + this.totalCount = Integer.parseInt(count_map.get("count").toString()); + + this.pageCount = this.totalCount / this.pageSize; + + if (this.totalCount % this.pageSize != 0) { + this.pageCount = this.pageCount + 1; + } + log.info("数据库同步 第一次执行 , totalCount = {} , pageCount = {} ", totalCount, pageCount); + Connection con = null ; + PreparedStatement ps = null; + ResultSet rs = null; + try { + con = this.ds.getConnection() ; + ps = con.prepareStatement(this.sql); + ps.setMaxRows(1); + rs = ps.executeQuery(); + ResultSetMetaData resultSetMetaData = rs.getMetaData(); + dataSetMeta = new DataSetMeta(); + for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) { + DataColumnMeta dc = new DataColumnMeta(); + dc.setColumnName(resultSetMetaData.getColumnName(i)); + dc.setColumnType(resultSetMetaData.getColumnTypeName(i)); + dataSetMeta.addColumnMeta(dc); + } + } catch (SQLException e) { + e.printStackTrace(); + }finally { + try{ + if(con != null){ + con.close(); + } + }catch (Exception e){ + e.printStackTrace(); + } + } + } + + if (!params.containsKey("pageNo")) { + this.pageNo = 1; + } else { + this.pageNo = params.getInteger("pageNo") + 1; + } } } diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThredQuery.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThredQuery.java new file mode 100644 index 0000000..dfcc57d --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThredQuery.java @@ -0,0 +1,48 @@ +package com.flow.eda.runner.node.etl.dataloader; + +import com.jiuyu.dynamicApi.service.impl.PageBeanHander; +import com.jiuyu.dynamicApi.utils.PageBean; +import lombok.extern.slf4j.Slf4j; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.Callable; + +@Slf4j +public class ThredQuery implements Callable { + private PageBeanHander pageBeanHander;//需要通过够早方法把对应的业务service传进来 实际用的时候把类型变为对应的类型 + private String sql_str; + + private int pageNo;//分页index + private int pageSize;//数量 + private int totalCount ; // 总数 + private String dbType ; + private String ds_key ; // 动态数据源 code + + public ThredQuery(PageBeanHander pageBeanHander, int pageNo ,int pageSize, int totalCount, String dbType, String ds_key , String sql_str){ + this.pageBeanHander=pageBeanHander; + this.pageNo = pageNo; + this.pageSize = pageSize; + this.totalCount = totalCount; + this.dbType = dbType; + this.ds_key = ds_key; + this.sql_str = sql_str; + } + + @Override + public PageBean call() throws Exception { + Map paraMap = new HashMap<>(); + paraMap.put("PAGENO" , pageNo); + paraMap.put("PAGESIZE" , pageSize); + paraMap.put("TOTAL_COUNT" , totalCount); + paraMap.put("DBTYPE" , dbType); + + Map map = new HashMap<>(); + map.put("DS" , ds_key) ; + List> list =new ArrayList<>(); //myService.queryBySex(sex,bindex,num); + PageBean pageBean = pageBeanHander.getQueryPageBean(paraMap, map , sql_str); + return pageBean; + } +} \ No newline at end of file diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/runtime/FlowExecutor.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/runtime/FlowExecutor.java index 3bf3282..93c8e03 100644 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/runtime/FlowExecutor.java +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/runtime/FlowExecutor.java @@ -60,7 +60,8 @@ public class FlowExecutor { // 更新节点运行状态 if (nodeInstance.status() != null) { sendNodeStatus(currentNode, new Document("status", nodeInstance.status().name())); - info(flowId, "start running [{}] node. input:{}", nodeName, input); + //info(flowId, "start running [{}] node. input:{}", nodeName, input); + info(flowId, "start running [{}] node. input:{}", nodeName, "...参见 输出节点调试 "); } else { // 当前节点中断后,更新流程状态 flowStatusService.removeRunningNode(flowId, currentNode.getId()); @@ -73,7 +74,8 @@ public class FlowExecutor { // 执行节点 nodeInstance.run( (p) -> { - info(flowId, "run [{}] node finished. output:{}", nodeName, p.toJson()); + //info(flowId, "run [{}] node finished. output:{}", nodeName, p.toJson()); + info(flowId, "run [{}] node finished. output:{}", nodeName,".... 参见输出节点"); runNext(currentNode, nodeInstance, p); }); } catch (Exception e) { @@ -86,6 +88,7 @@ public class FlowExecutor { Document status = new Document("status", Node.Status.FAILED.name()); sendNodeStatus(currentNode, status.append("error", message)); FlowLogs.error(flowId, "run [{}] node failed. error:{}", nodeName, message); + e.printStackTrace(); } } diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/resources/application.yaml b/jiuyu-module-floweda/flow-eda-runner/src/main/resources/application.yaml index 8a29cda..4c1c583 100644 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/resources/application.yaml +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/resources/application.yaml @@ -34,8 +34,8 @@ spring: rabbitmq: host: localhost port: 5672 - username: admin - password: admin + username: guest + password: guest log_exchange: flow.log log_routing_key: flow.running.log main : diff --git a/jiuyu-module-floweda/flow-eda-runner/src/test/java/com/flow/eda/runner/node/etl/RdbTableInputNodeTest.java b/jiuyu-module-floweda/flow-eda-runner/src/test/java/com/flow/eda/runner/node/etl/RdbTableInputNodeTest.java new file mode 100644 index 0000000..29c5ef2 --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-runner/src/test/java/com/flow/eda/runner/node/etl/RdbTableInputNodeTest.java @@ -0,0 +1,34 @@ +package com.flow.eda.runner.node.etl; + +import com.flow.eda.runner.FlowEdaRunnerApplication; +import com.flow.eda.runner.node.etl.dataloader.RdbTableInputNode; +import org.bson.Document; +import org.junit.Test; +import org.junit.jupiter.api.Assertions; +import org.junit.runner.RunWith; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +import java.time.Instant; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = FlowEdaRunnerApplication.class) +public class RdbTableInputNodeTest { + + @Test + public void run() { + Document params = new Document("dbType", "2"); + params.append("dbKey", "prod_mysql"); + params.append("sql", "select * from dm_all_copy1"); + params.append("pageNo", 5); + + RdbTableInputNode delayNode = new RdbTableInputNode(params); + long t1 = Instant.now().toEpochMilli(); + // 延时1秒,误差控制在20ms内 + delayNode.run( + (p) -> { + long t = Instant.now().toEpochMilli() - t1; + Assertions.assertTrue(t - 1000 < 20); + }); + } +} diff --git a/jiuyu-module-floweda/flow-eda-web/src/main/resources/application.yaml b/jiuyu-module-floweda/flow-eda-web/src/main/resources/application.yaml index a37bce4..42af2be 100644 --- a/jiuyu-module-floweda/flow-eda-web/src/main/resources/application.yaml +++ b/jiuyu-module-floweda/flow-eda-web/src/main/resources/application.yaml @@ -17,8 +17,8 @@ spring: rabbitmq: host: localhost port: 5672 - username: admin - password: admin + username: guest + password: guest log_exchange: flow.log log_routing_key: flow.operation.log mybatis: -- Gitee From db18f11c28f4cc134c0e21ee673d59604611ee6e Mon Sep 17 00:00:00 2001 From: limq <> Date: Thu, 11 May 2023 09:51:36 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E5=85=B3=E7=B3=BB=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=A1=A8=E8=BE=93=E5=87=BA=E8=8A=82=E7=82=B9=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=EF=BC=8C=E4=B8=B4=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jiuyu-module-floweda/flow-eda-runner/pom.xml | 4 +- .../etl/dataloader/RdbTableInputNode.java | 15 +----- .../etl/dataloader/RdbTableOutputNode.java | 54 +++++++++++++++++++ 3 files changed, 58 insertions(+), 15 deletions(-) create mode 100644 jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableOutputNode.java diff --git a/jiuyu-module-floweda/flow-eda-runner/pom.xml b/jiuyu-module-floweda/flow-eda-runner/pom.xml index 2072f45..b54a642 100644 --- a/jiuyu-module-floweda/flow-eda-runner/pom.xml +++ b/jiuyu-module-floweda/flow-eda-runner/pom.xml @@ -85,11 +85,11 @@ quartz - + diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableInputNode.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableInputNode.java index 1207f48..39761f0 100644 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableInputNode.java +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableInputNode.java @@ -3,7 +3,6 @@ package com.flow.eda.runner.node.etl.dataloader; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.fastjson.JSON; -import com.flow.eda.common.exception.FlowException; import com.flow.eda.runner.data.JiuyuBaseService; import com.flow.eda.runner.node.AbstractNode; import com.flow.eda.runner.node.NodeFunction; @@ -11,28 +10,22 @@ import com.flow.eda.runner.node.NodeVerify; import com.flow.eda.runner.node.etl.DataColumnMeta; import com.flow.eda.runner.node.etl.DataSetMeta; import com.jiuyu.dynamicApi.service.impl.PageBeanHander; -import com.jiuyu.dynamicApi.utils.Page; import com.jiuyu.dynamicApi.utils.PageBean; import lombok.extern.slf4j.Slf4j; import org.bson.Document; import org.jeecg.common.system.vo.DynamicDataSourceModel; import org.jeecg.common.util.SpringContextUtils; import org.jeecg.common.util.db.DynamicDBUtil; -import org.springframework.data.mongodb.core.MongoTemplate; -import org.springframework.data.mongodb.core.convert.MongoConverter; import org.springframework.jdbc.core.JdbcTemplate; import java.sql.*; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.concurrent.*; @Slf4j public class RdbTableInputNode extends AbstractNode { - - PageBeanHander pageBeanHander; // 数据库类型 mysql=2 , oracle=1 @@ -64,7 +57,6 @@ public class RdbTableInputNode extends AbstractNode { // 字段元数据 DataSetMeta dataSetMeta; - MongoTemplate mongoTemplate; List result = new ArrayList<>();//返回结果 @@ -77,8 +69,6 @@ public class RdbTableInputNode extends AbstractNode { @Override public void run(NodeFunction callback) { Document document = new Document(); - //mongoTemplate = (MongoTemplate) SpringContextUtils.getBean("mongoTemplate"); - // mongoTemplate = new MongoTemplate(); //使一个线程等待其他线程各自执行完毕后再执行 List> tasks = new ArrayList>();//添加任务 @@ -110,7 +100,7 @@ public class RdbTableInputNode extends AbstractNode { document.append("totalCount" , this.totalCount) .append("dataSetMeta", Document.parse(JSON.toJSONString(dataSetMeta)) ); document.append("pageNo_next" , this.pageNo).append("pageCount",this.pageCount).append("pageSize",this.pageSize); - document.append("dbKey",this.dbKey).append("dbType",this.dbType); + document.append("source_dbKey",this.dbKey).append("source_dbType",this.dbType); // 输出结果 setStatus(Status.FINISHED); @@ -149,7 +139,6 @@ public class RdbTableInputNode extends AbstractNode { this.pageSize = Integer.parseInt(params.getString("pageSize")) ; } - if (!params.containsKey("threadCount")) { this.threadCount = 10; } else { @@ -200,7 +189,7 @@ public class RdbTableInputNode extends AbstractNode { if (!params.containsKey("pageNo")) { this.pageNo = 1; } else { - this.pageNo = params.getInteger("pageNo") + 1; + this.pageNo = params.getInteger("pageNo") ; } } } diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableOutputNode.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableOutputNode.java new file mode 100644 index 0000000..e02aba7 --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableOutputNode.java @@ -0,0 +1,54 @@ +package com.flow.eda.runner.node.etl.dataloader; + +import com.flow.eda.runner.node.AbstractNode; +import com.flow.eda.runner.node.NodeFunction; +import com.flow.eda.runner.node.NodeVerify; +import lombok.extern.slf4j.Slf4j; +import org.bson.Document; + +import java.util.List; +import java.util.Map; + +@Slf4j +public class RdbTableOutputNode extends AbstractNode { + + + String output_tableName ; + String output_dbkey; + String output_dbType; + + + public RdbTableOutputNode(Document params) { + super(params); + } + + @Override + protected void verify(Document params) { + List result = params.getList("result",Object.class); + NodeVerify.notNull(result , "result结果集"); + + output_tableName = params.getString("output_tableName") ; + NodeVerify.notNull(output_tableName , "output_tableName"); + + output_dbkey = params.getString("output_dbkey") ; + NodeVerify.notNull(output_dbkey , "output_dbkey"); + + output_dbType = params.getString("output_dbType") ; + NodeVerify.notNull(output_dbType , "output_dbType"); + + + for(int i = 0 ; i < result.size() ; i ++){ + Document doc = (Document) result.get(i) ; + List list = doc.getList("list" , Map.class); + for(Map map : list){ + log.info("map = ", map.toString()); + } + } + + } + + @Override + public void run(NodeFunction callback) { + + } +} -- Gitee From 56c0a8c6ef9a7c2658a69afb48e26840505bef21 Mon Sep 17 00:00:00 2001 From: "39315890@qq.com" <39315890@qq.com> Date: Thu, 11 May 2023 10:50:51 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E9=87=8D=E6=96=B0=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E5=8C=85=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jiuyu-boot-base-flowable}/.gitignore | 0 .../jiuyu-boot-base-flowable}/pom.xml | 6 +++--- .../jiuyu-boot-base-flowable}/readme.md | 0 .../flowable/apithird/business/entity/FlowMyBusiness.java | 0 .../apithird/business/entity/FlowMyBusinessDto.java | 0 .../apithird/business/mapper/FlowMyBusinessMapper.java | 0 .../apithird/business/mapper/xml/FlowMyBusinessMapper.xml | 0 .../apithird/business/service/IFlowMyBusinessService.java | 0 .../business/service/impl/FlowMyBusinessServiceImpl.java | 0 .../nbcio/modules/flowable/apithird/entity/ActStatus.java | 0 .../modules/flowable/apithird/entity/FlowBeforeParams.java | 0 .../modules/flowable/apithird/entity/FlowCategory.java | 0 .../nbcio/modules/flowable/apithird/entity/SysCategory.java | 0 .../com/nbcio/modules/flowable/apithird/entity/SysRole.java | 0 .../com/nbcio/modules/flowable/apithird/entity/SysUser.java | 0 .../flowable/apithird/service/FlowCallBackServiceI.java | 0 .../flowable/apithird/service/FlowCommonService.java | 0 .../flowable/apithird/service/IFlowThirdService.java | 0 .../modules/flowable/common/constant/ProcessConstants.java | 0 .../nbcio/modules/flowable/common/enums/FlowComment.java | 0 .../modules/flowable/common/exception/CustomException.java | 0 .../flowable/config/FlowableGlobalListenerConfig.java | 0 .../flowable/config/MyDefaultProcessDiagramCanvas.java | 0 .../modules/flowable/controller/BpmCommonComtroller.java | 0 .../flowable/controller/BpmToolTableBpmnInfoController.java | 0 .../modules/flowable/controller/FlowCategoryController.java | 0 .../nbcio/modules/flowable/controller/FlowCcController.java | 0 .../flowable/controller/FlowDefinitionController.java | 0 .../flowable/controller/FlowDeployOnlineController.java | 0 .../modules/flowable/controller/FlowInstanceController.java | 0 .../flowable/controller/FlowMyBusinessController.java | 0 .../modules/flowable/controller/FlowMyOnlineController.java | 0 .../flowable/controller/FlowOnlCgformHeadController.java | 0 .../modules/flowable/controller/FlowTaskController.java | 0 .../flowable/controller/SysCustomFormController.java | 0 .../flowable/controller/SysDeployFormController.java | 0 .../modules/flowable/controller/SysFormController.java | 0 .../nbcio/modules/flowable/domain/dto/FlowCommentDto.java | 0 .../modules/flowable/domain/dto/FlowCommentFileDto.java | 0 .../com/nbcio/modules/flowable/domain/dto/FlowNextDto.java | 0 .../nbcio/modules/flowable/domain/dto/FlowProcDefDto.java | 0 .../nbcio/modules/flowable/domain/dto/FlowSaveXmlVo.java | 0 .../com/nbcio/modules/flowable/domain/dto/FlowTaskDto.java | 0 .../nbcio/modules/flowable/domain/dto/FlowViewerDto.java | 0 .../com/nbcio/modules/flowable/domain/vo/CustomFormVo.java | 0 .../com/nbcio/modules/flowable/domain/vo/FlowTaskVo.java | 0 .../java/com/nbcio/modules/flowable/entity/BpmToolData.java | 0 .../com/nbcio/modules/flowable/entity/BpmToolDesigner.java | 0 .../java/com/nbcio/modules/flowable/entity/BpmToolRule.java | 0 .../com/nbcio/modules/flowable/entity/BpmToolTableBpmn.java | 0 .../com/nbcio/modules/flowable/entity/FlowCategory.java | 0 .../main/java/com/nbcio/modules/flowable/entity/FlowCc.java | 0 .../com/nbcio/modules/flowable/entity/FlowDeployOnline.java | 0 .../com/nbcio/modules/flowable/entity/FlowMyOnline.java | 0 .../nbcio/modules/flowable/entity/FlowOnlCgformHead.java | 0 .../com/nbcio/modules/flowable/entity/SysCustomForm.java | 0 .../com/nbcio/modules/flowable/entity/SysDeployForm.java | 0 .../java/com/nbcio/modules/flowable/entity/SysDict.java | 0 .../java/com/nbcio/modules/flowable/entity/SysDictItem.java | 0 .../java/com/nbcio/modules/flowable/entity/SysForm.java | 0 .../nbcio/modules/flowable/entity/vo/AnnouncementVo.java | 0 .../com/nbcio/modules/flowable/entity/vo/BpmToolDataVO.java | 0 .../modules/flowable/entity/vo/BpmToolTableBpmnVO.java | 0 .../nbcio/modules/flowable/entity/vo/LinkDownCateCode.java | 0 .../nbcio/modules/flowable/entity/vo/LinkDownDataVO.java | 0 .../nbcio/modules/flowable/entity/vo/OnlCgformDataVo.java | 0 .../modules/flowable/entity/vo/OnlCgformFieldRuleVO.java | 0 .../nbcio/modules/flowable/entity/vo/OnlCgformFieldVO.java | 0 .../nbcio/modules/flowable/entity/vo/OnlCgformHeadVO.java | 0 .../nbcio/modules/flowable/entity/vo/SwitchDataInfo.java | 0 .../nbcio/modules/flowable/entity/vo/SysCateDictCode.java | 0 .../nbcio/modules/flowable/factory/FlowServiceFactory.java | 0 .../modules/flowable/flow/CustomProcessDiagramCanvas.java | 0 .../flowable/flow/CustomProcessDiagramGenerator.java | 0 .../java/com/nbcio/modules/flowable/flow/ExpressionCmd.java | 0 .../com/nbcio/modules/flowable/flow/FindNextNodeUtil.java | 0 .../com/nbcio/modules/flowable/flow/FlowableConfig.java | 0 .../java/com/nbcio/modules/flowable/flow/FlowableUtils.java | 0 .../modules/flowable/listener/AutoSkipTaskListener.java | 0 .../modules/flowable/listener/MultiInstanceHandler.java | 0 .../flowable/listener/MutiInstanceExecutionListener.java | 0 .../modules/flowable/listener/MutiInstanceTaskListener.java | 0 .../modules/flowable/listener/ProcessCompleteListener.java | 0 .../modules/flowable/listener/SetAssigneeTaskListener.java | 0 .../nbcio/modules/flowable/listener/TaskCreateListener.java | 0 .../nbcio/modules/flowable/listener/UserTaskListener.java | 0 .../nbcio/modules/flowable/mapper/BpmToolDataMapper.java | 0 .../modules/flowable/mapper/BpmToolDesignerMapper.java | 0 .../nbcio/modules/flowable/mapper/BpmToolRuleMapper.java | 0 .../modules/flowable/mapper/BpmToolTableBpmnInfoMapper.java | 0 .../nbcio/modules/flowable/mapper/FlowCategoryMapper.java | 0 .../com/nbcio/modules/flowable/mapper/FlowCcMapper.java | 0 .../modules/flowable/mapper/FlowDeployOnlineMapper.java | 0 .../nbcio/modules/flowable/mapper/FlowMyOnlineMapper.java | 0 .../modules/flowable/mapper/FlowOnlCgformHeadMapper.java | 0 .../modules/flowable/mapper/HandongYZCommonMapper.java | 0 .../nbcio/modules/flowable/mapper/SysCustomFormMapper.java | 0 .../nbcio/modules/flowable/mapper/SysDeployFormMapper.java | 0 .../com/nbcio/modules/flowable/mapper/SysFormMapper.java | 0 .../nbcio/modules/flowable/mapper/xml/BpmToolDataMapper.xml | 0 .../modules/flowable/mapper/xml/BpmToolDesignerMapper.xml | 0 .../nbcio/modules/flowable/mapper/xml/BpmToolRuleMapper.xml | 0 .../flowable/mapper/xml/BpmToolTableBpmnInfoMapper.xml | 0 .../modules/flowable/mapper/xml/FlowCategoryMapper.xml | 0 .../com/nbcio/modules/flowable/mapper/xml/FlowCcMapper.xml | 0 .../modules/flowable/mapper/xml/FlowDeployOnlineMapper.xml | 0 .../modules/flowable/mapper/xml/FlowMyOnlineMapper.xml | 0 .../modules/flowable/mapper/xml/FlowOnlCgformHeadMapper.xml | 0 .../modules/flowable/mapper/xml/HandongYZCommonMapper.xml | 0 .../modules/flowable/mapper/xml/SysCustomFormMapper.xml | 0 .../modules/flowable/mapper/xml/SysDeployFormMapper.xml | 0 .../com/nbcio/modules/flowable/mapper/xml/SysFormMapper.xml | 0 .../modules/flowable/service/BpmToolDesignerService.java | 0 .../nbcio/modules/flowable/service/BpmToolRuleService.java | 0 .../modules/flowable/service/HanDongYZCommonService.java | 0 .../nbcio/modules/flowable/service/IBpmToolDataService.java | 0 .../flowable/service/IBpmToolTableBpmnInfoService.java | 0 .../modules/flowable/service/IFlowCategoryService.java | 0 .../com/nbcio/modules/flowable/service/IFlowCcService.java | 0 .../modules/flowable/service/IFlowDefinitionService.java | 0 .../modules/flowable/service/IFlowDeployOnlineService.java | 0 .../modules/flowable/service/IFlowInstanceService.java | 0 .../modules/flowable/service/IFlowMyOnlineService.java | 0 .../modules/flowable/service/IFlowOnlCgformHeadService.java | 0 .../nbcio/modules/flowable/service/IFlowTaskService.java | 0 .../modules/flowable/service/ISysCustomFormService.java | 0 .../modules/flowable/service/ISysDeployFormService.java | 0 .../com/nbcio/modules/flowable/service/ISysFormService.java | 0 .../flowable/service/impl/BpmToolDataServiceImpl.java | 0 .../flowable/service/impl/BpmToolDesignerServiceImpl.java | 0 .../flowable/service/impl/BpmToolRuleServiceImpl.java | 0 .../service/impl/BpmToolTableBpmnInfoServiceImpl.java | 0 .../flowable/service/impl/FlowCategoryServiceImpl.java | 0 .../modules/flowable/service/impl/FlowCcServiceImpl.java | 0 .../flowable/service/impl/FlowDefinitionServiceImpl.java | 0 .../flowable/service/impl/FlowDeployOnlineServiceImpl.java | 0 .../flowable/service/impl/FlowInstanceServiceImpl.java | 0 .../flowable/service/impl/FlowMyOnlineServiceImpl.java | 0 .../flowable/service/impl/FlowOnlCgformHeadServiceImpl.java | 0 .../modules/flowable/service/impl/FlowTaskServiceImpl.java | 0 .../flowable/service/impl/HanDongYZCommonServiceImpl.java | 0 .../flowable/service/impl/SysCustomFormServiceImpl.java | 0 .../flowable/service/impl/SysDeployFormServiceImpl.java | 0 .../modules/flowable/service/impl/SysFormServiceImpl.java | 0 .../modules/flowable/utils/CallExternalSystemDelegate.java | 0 .../modules/flowable/utils/MulitiInstanceCompleteTask.java | 0 .../java/com/nbcio/modules/flowable/utils/onlineUtils.java | 0 .../src/main/resources/application.yml | 0 jiuyu-module-demo/jiuyu-boot-module-demo/pom.xml | 2 +- jiuyu-module-demo/jiuyu-module-estar/pom.xml | 2 +- pom.xml | 3 +-- 151 files changed, 6 insertions(+), 7 deletions(-) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/.gitignore (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/pom.xml (95%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/readme.md (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/apithird/business/entity/FlowMyBusiness.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/apithird/business/entity/FlowMyBusinessDto.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/apithird/business/mapper/FlowMyBusinessMapper.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/apithird/business/mapper/xml/FlowMyBusinessMapper.xml (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/apithird/business/service/IFlowMyBusinessService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/apithird/business/service/impl/FlowMyBusinessServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/apithird/entity/ActStatus.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/apithird/entity/FlowBeforeParams.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/apithird/entity/FlowCategory.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/apithird/entity/SysCategory.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/apithird/entity/SysRole.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/apithird/entity/SysUser.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/apithird/service/FlowCallBackServiceI.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/apithird/service/FlowCommonService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/apithird/service/IFlowThirdService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/common/constant/ProcessConstants.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/common/enums/FlowComment.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/common/exception/CustomException.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/config/FlowableGlobalListenerConfig.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/config/MyDefaultProcessDiagramCanvas.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/controller/BpmCommonComtroller.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/controller/BpmToolTableBpmnInfoController.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/controller/FlowCategoryController.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/controller/FlowCcController.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/controller/FlowDefinitionController.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/controller/FlowDeployOnlineController.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/controller/FlowInstanceController.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/controller/FlowMyBusinessController.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/controller/FlowMyOnlineController.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/controller/FlowOnlCgformHeadController.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/controller/FlowTaskController.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/controller/SysCustomFormController.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/controller/SysDeployFormController.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/controller/SysFormController.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowCommentDto.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowCommentFileDto.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowNextDto.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowProcDefDto.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowSaveXmlVo.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowTaskDto.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowViewerDto.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/domain/vo/CustomFormVo.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/domain/vo/FlowTaskVo.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/BpmToolData.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/BpmToolDesigner.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/BpmToolRule.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/BpmToolTableBpmn.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/FlowCategory.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/FlowCc.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/FlowDeployOnline.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/FlowMyOnline.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/FlowOnlCgformHead.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/SysCustomForm.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/SysDeployForm.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/SysDict.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/SysDictItem.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/SysForm.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/vo/AnnouncementVo.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/vo/BpmToolDataVO.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/vo/BpmToolTableBpmnVO.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/vo/LinkDownCateCode.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/vo/LinkDownDataVO.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformDataVo.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformFieldRuleVO.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformFieldVO.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformHeadVO.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/vo/SwitchDataInfo.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/entity/vo/SysCateDictCode.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/factory/FlowServiceFactory.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/flow/CustomProcessDiagramCanvas.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/flow/CustomProcessDiagramGenerator.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/flow/ExpressionCmd.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/flow/FindNextNodeUtil.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/flow/FlowableConfig.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/flow/FlowableUtils.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/listener/AutoSkipTaskListener.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/listener/MultiInstanceHandler.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/listener/MutiInstanceExecutionListener.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/listener/MutiInstanceTaskListener.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/listener/ProcessCompleteListener.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/listener/SetAssigneeTaskListener.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/listener/TaskCreateListener.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/listener/UserTaskListener.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolDataMapper.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolDesignerMapper.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolRuleMapper.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolTableBpmnInfoMapper.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/FlowCategoryMapper.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/FlowCcMapper.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/FlowDeployOnlineMapper.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/FlowMyOnlineMapper.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/FlowOnlCgformHeadMapper.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/HandongYZCommonMapper.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/SysCustomFormMapper.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/SysDeployFormMapper.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/SysFormMapper.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolDataMapper.xml (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolDesignerMapper.xml (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolRuleMapper.xml (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolTableBpmnInfoMapper.xml (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowCategoryMapper.xml (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowCcMapper.xml (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowDeployOnlineMapper.xml (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowMyOnlineMapper.xml (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowOnlCgformHeadMapper.xml (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/xml/HandongYZCommonMapper.xml (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/xml/SysCustomFormMapper.xml (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/xml/SysDeployFormMapper.xml (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/mapper/xml/SysFormMapper.xml (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/BpmToolDesignerService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/BpmToolRuleService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/HanDongYZCommonService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/IBpmToolDataService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/IBpmToolTableBpmnInfoService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/IFlowCategoryService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/IFlowCcService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/IFlowDefinitionService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/IFlowDeployOnlineService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/IFlowInstanceService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/IFlowMyOnlineService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/IFlowOnlCgformHeadService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/IFlowTaskService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/ISysCustomFormService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/ISysDeployFormService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/ISysFormService.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolDataServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolDesignerServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolRuleServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolTableBpmnInfoServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/impl/FlowCategoryServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/impl/FlowCcServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/impl/FlowDefinitionServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/impl/FlowDeployOnlineServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/impl/FlowInstanceServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/impl/FlowMyOnlineServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/impl/FlowOnlCgformHeadServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/impl/FlowTaskServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/impl/HanDongYZCommonServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/impl/SysCustomFormServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/impl/SysDeployFormServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/service/impl/SysFormServiceImpl.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/utils/CallExternalSystemDelegate.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/utils/MulitiInstanceCompleteTask.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/java/com/nbcio/modules/flowable/utils/onlineUtils.java (100%) rename {jiuyu-boot-module-flowable => jiuyu-boot-base/jiuyu-boot-base-flowable}/src/main/resources/application.yml (100%) diff --git a/jiuyu-boot-module-flowable/.gitignore b/jiuyu-boot-base/jiuyu-boot-base-flowable/.gitignore similarity index 100% rename from jiuyu-boot-module-flowable/.gitignore rename to jiuyu-boot-base/jiuyu-boot-base-flowable/.gitignore diff --git a/jiuyu-boot-module-flowable/pom.xml b/jiuyu-boot-base/jiuyu-boot-base-flowable/pom.xml similarity index 95% rename from jiuyu-boot-module-flowable/pom.xml rename to jiuyu-boot-base/jiuyu-boot-base-flowable/pom.xml index 1c28f13..d2fec7b 100644 --- a/jiuyu-boot-module-flowable/pom.xml +++ b/jiuyu-boot-base/jiuyu-boot-base-flowable/pom.xml @@ -2,14 +2,14 @@ - - jiuyu-boot-parent + + jiuyu-boot-base com.jiuyu.boot 3.0 4.0.0 - jiuyu-boot-module-flowable + jiuyu-boot-base-flowable UTF-8 diff --git a/jiuyu-boot-module-flowable/readme.md b/jiuyu-boot-base/jiuyu-boot-base-flowable/readme.md similarity index 100% rename from jiuyu-boot-module-flowable/readme.md rename to jiuyu-boot-base/jiuyu-boot-base-flowable/readme.md diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/entity/FlowMyBusiness.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/entity/FlowMyBusiness.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/entity/FlowMyBusiness.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/entity/FlowMyBusiness.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/entity/FlowMyBusinessDto.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/entity/FlowMyBusinessDto.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/entity/FlowMyBusinessDto.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/entity/FlowMyBusinessDto.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/mapper/FlowMyBusinessMapper.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/mapper/FlowMyBusinessMapper.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/mapper/FlowMyBusinessMapper.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/mapper/FlowMyBusinessMapper.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/mapper/xml/FlowMyBusinessMapper.xml b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/mapper/xml/FlowMyBusinessMapper.xml similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/mapper/xml/FlowMyBusinessMapper.xml rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/mapper/xml/FlowMyBusinessMapper.xml diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/service/IFlowMyBusinessService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/service/IFlowMyBusinessService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/service/IFlowMyBusinessService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/service/IFlowMyBusinessService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/service/impl/FlowMyBusinessServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/service/impl/FlowMyBusinessServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/service/impl/FlowMyBusinessServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/business/service/impl/FlowMyBusinessServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/ActStatus.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/ActStatus.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/ActStatus.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/ActStatus.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/FlowBeforeParams.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/FlowBeforeParams.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/FlowBeforeParams.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/FlowBeforeParams.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/FlowCategory.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/FlowCategory.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/FlowCategory.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/FlowCategory.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/SysCategory.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/SysCategory.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/SysCategory.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/SysCategory.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/SysRole.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/SysRole.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/SysRole.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/SysRole.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/SysUser.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/SysUser.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/SysUser.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/entity/SysUser.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/service/FlowCallBackServiceI.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/service/FlowCallBackServiceI.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/service/FlowCallBackServiceI.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/service/FlowCallBackServiceI.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/service/FlowCommonService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/service/FlowCommonService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/service/FlowCommonService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/service/FlowCommonService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/service/IFlowThirdService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/service/IFlowThirdService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/apithird/service/IFlowThirdService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/apithird/service/IFlowThirdService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/common/constant/ProcessConstants.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/common/constant/ProcessConstants.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/common/constant/ProcessConstants.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/common/constant/ProcessConstants.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/common/enums/FlowComment.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/common/enums/FlowComment.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/common/enums/FlowComment.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/common/enums/FlowComment.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/common/exception/CustomException.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/common/exception/CustomException.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/common/exception/CustomException.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/common/exception/CustomException.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/config/FlowableGlobalListenerConfig.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/config/FlowableGlobalListenerConfig.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/config/FlowableGlobalListenerConfig.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/config/FlowableGlobalListenerConfig.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/config/MyDefaultProcessDiagramCanvas.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/config/MyDefaultProcessDiagramCanvas.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/config/MyDefaultProcessDiagramCanvas.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/config/MyDefaultProcessDiagramCanvas.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/BpmCommonComtroller.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/BpmCommonComtroller.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/BpmCommonComtroller.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/BpmCommonComtroller.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/BpmToolTableBpmnInfoController.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/BpmToolTableBpmnInfoController.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/BpmToolTableBpmnInfoController.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/BpmToolTableBpmnInfoController.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowCategoryController.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowCategoryController.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowCategoryController.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowCategoryController.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowCcController.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowCcController.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowCcController.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowCcController.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowDefinitionController.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowDefinitionController.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowDefinitionController.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowDefinitionController.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowDeployOnlineController.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowDeployOnlineController.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowDeployOnlineController.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowDeployOnlineController.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowInstanceController.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowInstanceController.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowInstanceController.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowInstanceController.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowMyBusinessController.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowMyBusinessController.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowMyBusinessController.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowMyBusinessController.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowMyOnlineController.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowMyOnlineController.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowMyOnlineController.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowMyOnlineController.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowOnlCgformHeadController.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowOnlCgformHeadController.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowOnlCgformHeadController.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowOnlCgformHeadController.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowTaskController.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowTaskController.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowTaskController.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/FlowTaskController.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/SysCustomFormController.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/SysCustomFormController.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/SysCustomFormController.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/SysCustomFormController.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/SysDeployFormController.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/SysDeployFormController.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/SysDeployFormController.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/SysDeployFormController.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/SysFormController.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/SysFormController.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/controller/SysFormController.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/controller/SysFormController.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowCommentDto.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowCommentDto.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowCommentDto.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowCommentDto.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowCommentFileDto.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowCommentFileDto.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowCommentFileDto.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowCommentFileDto.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowNextDto.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowNextDto.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowNextDto.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowNextDto.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowProcDefDto.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowProcDefDto.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowProcDefDto.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowProcDefDto.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowSaveXmlVo.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowSaveXmlVo.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowSaveXmlVo.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowSaveXmlVo.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowTaskDto.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowTaskDto.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowTaskDto.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowTaskDto.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowViewerDto.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowViewerDto.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowViewerDto.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/dto/FlowViewerDto.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/vo/CustomFormVo.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/vo/CustomFormVo.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/vo/CustomFormVo.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/vo/CustomFormVo.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/vo/FlowTaskVo.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/vo/FlowTaskVo.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/domain/vo/FlowTaskVo.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/domain/vo/FlowTaskVo.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/BpmToolData.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/BpmToolData.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/BpmToolData.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/BpmToolData.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/BpmToolDesigner.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/BpmToolDesigner.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/BpmToolDesigner.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/BpmToolDesigner.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/BpmToolRule.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/BpmToolRule.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/BpmToolRule.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/BpmToolRule.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/BpmToolTableBpmn.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/BpmToolTableBpmn.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/BpmToolTableBpmn.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/BpmToolTableBpmn.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowCategory.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowCategory.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowCategory.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowCategory.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowCc.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowCc.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowCc.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowCc.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowDeployOnline.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowDeployOnline.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowDeployOnline.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowDeployOnline.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowMyOnline.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowMyOnline.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowMyOnline.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowMyOnline.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowOnlCgformHead.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowOnlCgformHead.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowOnlCgformHead.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/FlowOnlCgformHead.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysCustomForm.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysCustomForm.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysCustomForm.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysCustomForm.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysDeployForm.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysDeployForm.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysDeployForm.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysDeployForm.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysDict.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysDict.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysDict.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysDict.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysDictItem.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysDictItem.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysDictItem.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysDictItem.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysForm.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysForm.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysForm.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/SysForm.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/AnnouncementVo.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/AnnouncementVo.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/AnnouncementVo.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/AnnouncementVo.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/BpmToolDataVO.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/BpmToolDataVO.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/BpmToolDataVO.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/BpmToolDataVO.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/BpmToolTableBpmnVO.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/BpmToolTableBpmnVO.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/BpmToolTableBpmnVO.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/BpmToolTableBpmnVO.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/LinkDownCateCode.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/LinkDownCateCode.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/LinkDownCateCode.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/LinkDownCateCode.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/LinkDownDataVO.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/LinkDownDataVO.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/LinkDownDataVO.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/LinkDownDataVO.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformDataVo.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformDataVo.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformDataVo.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformDataVo.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformFieldRuleVO.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformFieldRuleVO.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformFieldRuleVO.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformFieldRuleVO.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformFieldVO.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformFieldVO.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformFieldVO.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformFieldVO.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformHeadVO.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformHeadVO.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformHeadVO.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/OnlCgformHeadVO.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/SwitchDataInfo.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/SwitchDataInfo.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/SwitchDataInfo.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/SwitchDataInfo.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/SysCateDictCode.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/SysCateDictCode.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/SysCateDictCode.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/entity/vo/SysCateDictCode.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/factory/FlowServiceFactory.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/factory/FlowServiceFactory.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/factory/FlowServiceFactory.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/factory/FlowServiceFactory.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/flow/CustomProcessDiagramCanvas.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/flow/CustomProcessDiagramCanvas.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/flow/CustomProcessDiagramCanvas.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/flow/CustomProcessDiagramCanvas.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/flow/CustomProcessDiagramGenerator.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/flow/CustomProcessDiagramGenerator.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/flow/CustomProcessDiagramGenerator.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/flow/CustomProcessDiagramGenerator.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/flow/ExpressionCmd.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/flow/ExpressionCmd.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/flow/ExpressionCmd.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/flow/ExpressionCmd.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/flow/FindNextNodeUtil.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/flow/FindNextNodeUtil.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/flow/FindNextNodeUtil.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/flow/FindNextNodeUtil.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/flow/FlowableConfig.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/flow/FlowableConfig.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/flow/FlowableConfig.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/flow/FlowableConfig.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/flow/FlowableUtils.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/flow/FlowableUtils.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/flow/FlowableUtils.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/flow/FlowableUtils.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/listener/AutoSkipTaskListener.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/listener/AutoSkipTaskListener.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/listener/AutoSkipTaskListener.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/listener/AutoSkipTaskListener.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/listener/MultiInstanceHandler.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/listener/MultiInstanceHandler.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/listener/MultiInstanceHandler.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/listener/MultiInstanceHandler.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/listener/MutiInstanceExecutionListener.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/listener/MutiInstanceExecutionListener.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/listener/MutiInstanceExecutionListener.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/listener/MutiInstanceExecutionListener.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/listener/MutiInstanceTaskListener.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/listener/MutiInstanceTaskListener.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/listener/MutiInstanceTaskListener.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/listener/MutiInstanceTaskListener.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/listener/ProcessCompleteListener.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/listener/ProcessCompleteListener.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/listener/ProcessCompleteListener.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/listener/ProcessCompleteListener.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/listener/SetAssigneeTaskListener.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/listener/SetAssigneeTaskListener.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/listener/SetAssigneeTaskListener.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/listener/SetAssigneeTaskListener.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/listener/TaskCreateListener.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/listener/TaskCreateListener.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/listener/TaskCreateListener.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/listener/TaskCreateListener.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/listener/UserTaskListener.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/listener/UserTaskListener.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/listener/UserTaskListener.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/listener/UserTaskListener.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolDataMapper.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolDataMapper.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolDataMapper.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolDataMapper.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolDesignerMapper.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolDesignerMapper.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolDesignerMapper.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolDesignerMapper.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolRuleMapper.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolRuleMapper.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolRuleMapper.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolRuleMapper.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolTableBpmnInfoMapper.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolTableBpmnInfoMapper.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolTableBpmnInfoMapper.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/BpmToolTableBpmnInfoMapper.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowCategoryMapper.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowCategoryMapper.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowCategoryMapper.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowCategoryMapper.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowCcMapper.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowCcMapper.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowCcMapper.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowCcMapper.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowDeployOnlineMapper.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowDeployOnlineMapper.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowDeployOnlineMapper.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowDeployOnlineMapper.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowMyOnlineMapper.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowMyOnlineMapper.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowMyOnlineMapper.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowMyOnlineMapper.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowOnlCgformHeadMapper.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowOnlCgformHeadMapper.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowOnlCgformHeadMapper.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/FlowOnlCgformHeadMapper.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/HandongYZCommonMapper.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/HandongYZCommonMapper.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/HandongYZCommonMapper.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/HandongYZCommonMapper.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/SysCustomFormMapper.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/SysCustomFormMapper.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/SysCustomFormMapper.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/SysCustomFormMapper.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/SysDeployFormMapper.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/SysDeployFormMapper.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/SysDeployFormMapper.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/SysDeployFormMapper.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/SysFormMapper.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/SysFormMapper.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/SysFormMapper.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/SysFormMapper.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolDataMapper.xml b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolDataMapper.xml similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolDataMapper.xml rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolDataMapper.xml diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolDesignerMapper.xml b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolDesignerMapper.xml similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolDesignerMapper.xml rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolDesignerMapper.xml diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolRuleMapper.xml b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolRuleMapper.xml similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolRuleMapper.xml rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolRuleMapper.xml diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolTableBpmnInfoMapper.xml b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolTableBpmnInfoMapper.xml similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolTableBpmnInfoMapper.xml rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/BpmToolTableBpmnInfoMapper.xml diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowCategoryMapper.xml b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowCategoryMapper.xml similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowCategoryMapper.xml rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowCategoryMapper.xml diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowCcMapper.xml b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowCcMapper.xml similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowCcMapper.xml rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowCcMapper.xml diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowDeployOnlineMapper.xml b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowDeployOnlineMapper.xml similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowDeployOnlineMapper.xml rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowDeployOnlineMapper.xml diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowMyOnlineMapper.xml b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowMyOnlineMapper.xml similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowMyOnlineMapper.xml rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowMyOnlineMapper.xml diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowOnlCgformHeadMapper.xml b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowOnlCgformHeadMapper.xml similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowOnlCgformHeadMapper.xml rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/FlowOnlCgformHeadMapper.xml diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/HandongYZCommonMapper.xml b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/HandongYZCommonMapper.xml similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/HandongYZCommonMapper.xml rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/HandongYZCommonMapper.xml diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/SysCustomFormMapper.xml b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/SysCustomFormMapper.xml similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/SysCustomFormMapper.xml rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/SysCustomFormMapper.xml diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/SysDeployFormMapper.xml b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/SysDeployFormMapper.xml similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/SysDeployFormMapper.xml rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/SysDeployFormMapper.xml diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/SysFormMapper.xml b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/SysFormMapper.xml similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/SysFormMapper.xml rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/mapper/xml/SysFormMapper.xml diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/BpmToolDesignerService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/BpmToolDesignerService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/BpmToolDesignerService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/BpmToolDesignerService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/BpmToolRuleService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/BpmToolRuleService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/BpmToolRuleService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/BpmToolRuleService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/HanDongYZCommonService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/HanDongYZCommonService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/HanDongYZCommonService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/HanDongYZCommonService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IBpmToolDataService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IBpmToolDataService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IBpmToolDataService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IBpmToolDataService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IBpmToolTableBpmnInfoService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IBpmToolTableBpmnInfoService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IBpmToolTableBpmnInfoService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IBpmToolTableBpmnInfoService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowCategoryService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowCategoryService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowCategoryService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowCategoryService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowCcService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowCcService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowCcService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowCcService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowDefinitionService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowDefinitionService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowDefinitionService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowDefinitionService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowDeployOnlineService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowDeployOnlineService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowDeployOnlineService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowDeployOnlineService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowInstanceService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowInstanceService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowInstanceService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowInstanceService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowMyOnlineService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowMyOnlineService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowMyOnlineService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowMyOnlineService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowOnlCgformHeadService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowOnlCgformHeadService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowOnlCgformHeadService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowOnlCgformHeadService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowTaskService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowTaskService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowTaskService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/IFlowTaskService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/ISysCustomFormService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/ISysCustomFormService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/ISysCustomFormService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/ISysCustomFormService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/ISysDeployFormService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/ISysDeployFormService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/ISysDeployFormService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/ISysDeployFormService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/ISysFormService.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/ISysFormService.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/ISysFormService.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/ISysFormService.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolDataServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolDataServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolDataServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolDataServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolDesignerServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolDesignerServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolDesignerServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolDesignerServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolRuleServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolRuleServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolRuleServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolRuleServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolTableBpmnInfoServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolTableBpmnInfoServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolTableBpmnInfoServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/BpmToolTableBpmnInfoServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowCategoryServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowCategoryServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowCategoryServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowCategoryServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowCcServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowCcServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowCcServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowCcServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowDefinitionServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowDefinitionServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowDefinitionServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowDefinitionServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowDeployOnlineServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowDeployOnlineServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowDeployOnlineServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowDeployOnlineServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowInstanceServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowInstanceServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowInstanceServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowInstanceServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowMyOnlineServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowMyOnlineServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowMyOnlineServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowMyOnlineServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowOnlCgformHeadServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowOnlCgformHeadServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowOnlCgformHeadServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowOnlCgformHeadServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowTaskServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowTaskServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowTaskServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/FlowTaskServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/HanDongYZCommonServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/HanDongYZCommonServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/HanDongYZCommonServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/HanDongYZCommonServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/SysCustomFormServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/SysCustomFormServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/SysCustomFormServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/SysCustomFormServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/SysDeployFormServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/SysDeployFormServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/SysDeployFormServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/SysDeployFormServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/SysFormServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/SysFormServiceImpl.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/SysFormServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/service/impl/SysFormServiceImpl.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/utils/CallExternalSystemDelegate.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/utils/CallExternalSystemDelegate.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/utils/CallExternalSystemDelegate.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/utils/CallExternalSystemDelegate.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/utils/MulitiInstanceCompleteTask.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/utils/MulitiInstanceCompleteTask.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/utils/MulitiInstanceCompleteTask.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/utils/MulitiInstanceCompleteTask.java diff --git a/jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/utils/onlineUtils.java b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/utils/onlineUtils.java similarity index 100% rename from jiuyu-boot-module-flowable/src/main/java/com/nbcio/modules/flowable/utils/onlineUtils.java rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/java/com/nbcio/modules/flowable/utils/onlineUtils.java diff --git a/jiuyu-boot-module-flowable/src/main/resources/application.yml b/jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/resources/application.yml similarity index 100% rename from jiuyu-boot-module-flowable/src/main/resources/application.yml rename to jiuyu-boot-base/jiuyu-boot-base-flowable/src/main/resources/application.yml diff --git a/jiuyu-module-demo/jiuyu-boot-module-demo/pom.xml b/jiuyu-module-demo/jiuyu-boot-module-demo/pom.xml index be19981..5f545d3 100644 --- a/jiuyu-module-demo/jiuyu-boot-module-demo/pom.xml +++ b/jiuyu-module-demo/jiuyu-boot-module-demo/pom.xml @@ -28,7 +28,7 @@ com.jiuyu.boot - jiuyu-boot-module-flowable + jiuyu-boot-base-flowable 3.0 com.jiuyu.boot - jiuyu-boot-module-flowable + jiuyu-boot-base-flowable 3.0 diff --git a/pom.xml b/pom.xml index 55d751f..fbc5786 100644 --- a/pom.xml +++ b/pom.xml @@ -58,8 +58,7 @@ jiuyu-boot-base jiuyu-module-demo jiuyu-boot-module-system - jiuyu-boot-module-flowable - + -- Gitee From 87d809621de33d7e76a194e88542e5134a45d313 Mon Sep 17 00:00:00 2001 From: limq <> Date: Fri, 12 May 2023 15:58:22 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E5=85=B3=E7=B3=BB=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=A1=A8=E8=BE=93=E5=87=BA=E8=8A=82=E7=82=B9=E6=8F=90=E4=BA=A4?= =?UTF-8?q?=EF=BC=8C=E6=AD=A3=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + jiuyu-boot-base/jiuyu-boot-base-core/pom.xml | 6 - jiuyu-boot-module-system/pom.xml | 8 + .../flow/eda/runner/node/NodeTypeEnum.java | 8 + .../node/condition/ConditionDyNode.java | 108 ++++++++++++ .../node/etl/dataloader/RdbSQLBuilder.java | 23 +++ .../etl/dataloader/RdbTableInputNode.java | 106 +++++++----- .../etl/dataloader/RdbTableOutputNode.java | 138 ++++++++++++++-- .../node/etl/dataloader/ThreadWrite.java | 154 ++++++++++++++++++ .../node/etl/dataloader/ThredQuery.java | 6 +- .../flow/eda/runner/runtime/FlowExecutor.java | 1 + .../web/flow/node/type/NodeTypeService.java | 2 +- 12 files changed, 492 insertions(+), 69 deletions(-) create mode 100644 jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/condition/ConditionDyNode.java create mode 100644 jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbSQLBuilder.java create mode 100644 jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThreadWrite.java diff --git a/.gitignore b/.gitignore index c5e7300..1858967 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ out/ ### VS Code ### .vscode/ /logs/ +/myhome/ diff --git a/jiuyu-boot-base/jiuyu-boot-base-core/pom.xml b/jiuyu-boot-base/jiuyu-boot-base-core/pom.xml index 06af7c1..58a1d31 100644 --- a/jiuyu-boot-base/jiuyu-boot-base-core/pom.xml +++ b/jiuyu-boot-base/jiuyu-boot-base-core/pom.xml @@ -123,12 +123,6 @@ runtime - - - org.springframework.boot - spring-boot-starter-quartz - - com.auth0 diff --git a/jiuyu-boot-module-system/pom.xml b/jiuyu-boot-module-system/pom.xml index 5b640df..0e0b260 100644 --- a/jiuyu-boot-module-system/pom.xml +++ b/jiuyu-boot-module-system/pom.xml @@ -109,6 +109,14 @@ 1.2.15 + + + org.springframework.boot + spring-boot-starter-quartz + + + + org.apache.dubbo diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/NodeTypeEnum.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/NodeTypeEnum.java index 58237e6..f026d31 100644 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/NodeTypeEnum.java +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/NodeTypeEnum.java @@ -2,10 +2,12 @@ package com.flow.eda.runner.node; import com.flow.eda.common.dubbo.model.FlowData; import com.flow.eda.common.exception.InternalException; +import com.flow.eda.runner.node.condition.ConditionDyNode; import com.flow.eda.runner.node.condition.ConditionNode; import com.flow.eda.runner.node.delay.DelayNode; import com.flow.eda.runner.node.email.EmailNode; import com.flow.eda.runner.node.etl.dataloader.RdbTableInputNode; +import com.flow.eda.runner.node.etl.dataloader.RdbTableOutputNode; import com.flow.eda.runner.node.etl.transform.StringTransformNode; import com.flow.eda.runner.node.http.receive.HttpReceiveNode; import com.flow.eda.runner.node.http.request.HttpRequestNode; @@ -45,6 +47,9 @@ public enum NodeTypeEnum { /** 运算节点 */ CONDITION("condition", ConditionNode.class), + //动态判断节点 + CONDITIONDY("condition_dy", ConditionDyNode.class), + SEQUENCE("sequence", SequenceNode.class), SPLICE("splice", SpliceNode.class), SPLIT("split", SplitNode.class), @@ -80,6 +85,9 @@ public enum NodeTypeEnum { // ETL- 关系型数据库抽取节点 RdbTableInput("rdb_table_input", RdbTableInputNode.class), + // ETL- 关系型数据库写入节点 + RdbTableOutputNode("rdb_table_out", RdbTableOutputNode.class), + /** 数据转换 */ TRANSFORM("transfrom_string", StringTransformNode.class), diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/condition/ConditionDyNode.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/condition/ConditionDyNode.java new file mode 100644 index 0000000..81b43e6 --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/condition/ConditionDyNode.java @@ -0,0 +1,108 @@ +package com.flow.eda.runner.node.condition; + +import com.flow.eda.runner.node.AbstractNode; +import com.flow.eda.runner.node.NodeFunction; +import com.flow.eda.runner.node.NodeVerify; +import com.flow.eda.runner.utils.NodeParamsUtil; +import com.flow.eda.runner.utils.PlaceholderUtil; +import com.jayway.jsonpath.JsonPath; +import org.bson.Document; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +/** 条件节点,可使用多个条件节点进行组合使用,形成与或逻辑 */ +public class ConditionDyNode extends AbstractNode { + private String field; + private String condition; + private String value; + private Boolean passed; + private NodeParamsUtil nodeParams; + + private String json_params; + // 上一步数据 + Document inputDocment ; + public ConditionDyNode(Document params) { + super(params); + } + + @Override + public void run(NodeFunction callback) { + if (this.passed) { + Document output = this.nodeParams.output(this).get(); + setStatus(Status.FINISHED); + callback.callback(output); + } + } + + @Override + protected void verify(Document params) { + this.field = params.getString("field"); + NodeVerify.notNull(this.field, "field"); + this.condition = params.getString("condition"); + NodeVerify.notNull(this.condition, "condition"); + + this.value = params.getString("value"); + NodeVerify.notNull(this.value, "value"); + // 基于JsonPath 处理 + this.json_params = params.toJson(); + + this.field = JsonPath.read(this.json_params ,this.field)+""; + this.value = JsonPath.read(this.json_params ,this.value)+""; + + this.passed = this.dealConditions(this.field); + + if (this.passed) { + this.nodeParams = new NodeParamsUtil(params).remove("field", "condition", "value"); + } else { + // 条件未通过时,节点状态置为空 + setStatus(null); + } + } + + /** 解析条件表达式,返回条件判断结果 */ + private boolean meetConditions(Document params) { + try { + Document result = PlaceholderUtil.parse(params, Collections.singletonList(this.field)); + return this.dealConditions(result.get(this.field)); + } catch (Exception ignored) { + return false; + } + } + + /** 处理判断条件 */ + private boolean dealConditions(Object data) { + List list = Arrays.asList("null", "NULL", "Null"); + String equals = "="; + String notEquals = "!="; + if (list.contains(this.value)) { + if (equals.equals(this.condition)) { + return data == null; + } + if (notEquals.equals(this.condition)) { + return data != null; + } + return false; + } + if (data == null) { + return notEquals.equals(this.condition); + } + switch (this.condition) { + case "=": + return this.value.equals(data.toString()); + case "!=": + return !this.value.equals(data.toString()); + case ">": + return Double.parseDouble(data.toString()) > Double.parseDouble(this.value); + case "<": + return Double.parseDouble(data.toString()) < Double.parseDouble(this.value); + case ">=": + return Double.parseDouble(data.toString()) >= Double.parseDouble(this.value); + case "<=": + return Double.parseDouble(data.toString()) <= Double.parseDouble(this.value); + default: + return false; + } + } +} diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbSQLBuilder.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbSQLBuilder.java new file mode 100644 index 0000000..5546b50 --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbSQLBuilder.java @@ -0,0 +1,23 @@ +package com.flow.eda.runner.node.etl.dataloader; + +import java.sql.PreparedStatement; +import java.sql.SQLException; + +public class RdbSQLBuilder { + + private String tableName; + + + + /* public void assignStatement(PreparedStatement ps, IDataSet dataSet, int index) throws SQLException { + int i = 1; + for(String column : columnMappings.keySet()) { + ps.setObject(i++, dataSet.getCellValue(index, columnMappings.get(column))); + + } + } + + public String buildTruncateSQL() { + return "TRUNCATE TABLE " + tableName; + }*/ +} diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableInputNode.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableInputNode.java index 39761f0..f4dc323 100644 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableInputNode.java +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableInputNode.java @@ -37,7 +37,7 @@ public class RdbTableInputNode extends AbstractNode { private int totalCount; // 单个线程处理分页量 - private int pageSize = 1000; + private int pageSize ; // 当前第几页 private int pageNo; @@ -52,12 +52,12 @@ public class RdbTableInputNode extends AbstractNode { // JdbcTemplate jdbcTemplate; // 动态数据源 - DruidDataSource ds = null; + DruidDataSource ds ; DynamicDataSourceModel dynamicDataSourceModel; // 字段元数据 DataSetMeta dataSetMeta; - + Document document ; List result = new ArrayList<>();//返回结果 @@ -68,19 +68,17 @@ public class RdbTableInputNode extends AbstractNode { @Override public void run(NodeFunction callback) { - Document document = new Document(); //使一个线程等待其他线程各自执行完毕后再执行 List> tasks = new ArrayList>();//添加任务 - int i = 0; - while (this.pageNo <= this.pageCount && i < this.threadCount) { - Callable qfe = new ThredQuery(pageBeanHander, pageNo, this.pageSize, this.totalCount, this.dbType, this.dbKey, this.sql); + int times = this.pageCount <= this.threadCount ? this.pageCount : this.threadCount ; + CountDownLatch end = new CountDownLatch(times); + for(int i = 0 ; i < times; i++){ + Callable qfe = new ThredQuery(pageBeanHander, pageNo, this.pageSize, this.totalCount, this.dbType, this.dbKey, this.sql,end); tasks.add(qfe); this.pageNo += 1; - i++; } - CountDownLatch end = new CountDownLatch(i); //定义固定长度的线程池 防止线程过多 ExecutorService execservice = Executors.newFixedThreadPool(this.threadCount); try { @@ -91,16 +89,23 @@ public class RdbTableInputNode extends AbstractNode { result.add( Document.parse(JSON.toJSONString(future.get())) ); } } + end.await(); execservice.shutdown(); // 关闭线程池 } catch (Exception e) { e.printStackTrace(); } log.info("多线程查询完成 .... result.size = {} ", result.size()); - document.append("result" , result).append("threadNum" , i); - document.append("totalCount" , this.totalCount) - .append("dataSetMeta", Document.parse(JSON.toJSONString(dataSetMeta)) ); - document.append("pageNo_next" , this.pageNo).append("pageCount",this.pageCount).append("pageSize",this.pageSize); - document.append("source_dbKey",this.dbKey).append("source_dbType",this.dbType); + document.append("result" , result).append("exec_times" , times); + document.append("totalCount" , this.totalCount); + if(!document.containsKey("dataSetMeta")){ + document.append("dataSetMeta", Document.parse(JSON.toJSONString(dataSetMeta))); + } + + document.append("pageNo_next" , this.pageNo) + .append("pageCount",this.pageCount) + .append("pageSize",this.pageSize); + document.append("source_dbKey",this.dbKey) + .append("source_dbType",this.dbType); // 输出结果 setStatus(Status.FINISHED); @@ -110,6 +115,7 @@ public class RdbTableInputNode extends AbstractNode { @Override protected void verify(Document params) { + this.document = new Document(); String sql = params.getString("sql"); NodeVerify.notBlank(sql, "sql"); // 去除末尾分号 @@ -126,23 +132,27 @@ public class RdbTableInputNode extends AbstractNode { this.ds = DynamicDBUtil.getDbSourceByDbKey(dbKey); pageBeanHander = (PageBeanHander) SpringContextUtils.getBean("pageBeanHander"); - if (!params.containsKey("dbType")) { + if (!params.containsKey("dbType") && !params.containsKey("source_dbType")) { jdbcTemplate = (JdbcTemplate) SpringContextUtils.getBean("jdbcTemplate"); JiuyuBaseService jiuyuBaseService = (JiuyuBaseService) SpringContextUtils.getBean("jdbcTemplate"); dynamicDataSourceModel = jiuyuBaseService.getDynamicDbSourceByCode(dbKey); this.dbType = dynamicDataSourceModel.getDbType(); + }else if (params.containsKey("dbType")){ + this.dbType = params.getString("dbType"); + }else if (params.containsKey("source_dbType")){ + this.dbType = params.getString("source_dbType"); } if (!params.containsKey("pageSize")) { this.pageSize = 1000; } else { - this.pageSize = Integer.parseInt(params.getString("pageSize")) ; + this.pageSize = Integer.parseInt(params.get("pageSize")+"") ; } if (!params.containsKey("threadCount")) { this.threadCount = 10; } else { - this.threadCount = Integer.parseInt(params.getString("threadCount")) ; + this.threadCount = Integer.parseInt(params.get("threadCount")+"") ; } if (!params.containsKey("totalCount")) { @@ -152,44 +162,54 @@ public class RdbTableInputNode extends AbstractNode { this.totalCount = Integer.parseInt(count_map.get("count").toString()); this.pageCount = this.totalCount / this.pageSize; - if (this.totalCount % this.pageSize != 0) { this.pageCount = this.pageCount + 1; } + log.info("数据库同步 第一次执行 , totalCount = {} , pageCount = {} ", totalCount, pageCount); - Connection con = null ; - PreparedStatement ps = null; - ResultSet rs = null; - try { - con = this.ds.getConnection() ; - ps = con.prepareStatement(this.sql); - ps.setMaxRows(1); - rs = ps.executeQuery(); - ResultSetMetaData resultSetMetaData = rs.getMetaData(); - dataSetMeta = new DataSetMeta(); - for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) { - DataColumnMeta dc = new DataColumnMeta(); - dc.setColumnName(resultSetMetaData.getColumnName(i)); - dc.setColumnType(resultSetMetaData.getColumnTypeName(i)); - dataSetMeta.addColumnMeta(dc); - } - } catch (SQLException e) { - e.printStackTrace(); - }finally { - try{ - if(con != null){ - con.close(); + if(!params.containsKey("dataSetMeta")){ + Connection con = null ; + PreparedStatement ps = null; + ResultSet rs = null; + try { + con = this.ds.getConnection() ; + ps = con.prepareStatement(this.sql); + ps.setMaxRows(1); + rs = ps.executeQuery(); + ResultSetMetaData resultSetMetaData = rs.getMetaData(); + dataSetMeta = new DataSetMeta(); + for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) { + DataColumnMeta dc = new DataColumnMeta(); + dc.setColumnName(resultSetMetaData.getColumnName(i)); + dc.setColumnType(resultSetMetaData.getColumnTypeName(i)); + dataSetMeta.addColumnMeta(dc); } - }catch (Exception e){ + } catch (SQLException e) { e.printStackTrace(); + }finally { + try{ + if(con != null){ + con.close(); + } + }catch (Exception e){ + e.printStackTrace(); + } } } + }else{ + this.totalCount = Integer.parseInt(params.get("totalCount")+"") ; + this.pageCount = Integer.parseInt(params.get("pageCount")+"") ; + /* dataSetMeta = params.get("dataSetMeta" , DataSetMeta.class); + document.append("dataSetMeta",dataSetMeta);*/ + document.append("dataSetMeta",params.get("dataSetMeta")); } - if (!params.containsKey("pageNo")) { + if (!params.containsKey("pageNo_next")) { this.pageNo = 1; } else { - this.pageNo = params.getInteger("pageNo") ; + this.pageNo = Integer.parseInt(params.get("pageNo_next") +"") ; } + + } } diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableOutputNode.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableOutputNode.java index e02aba7..e1c61db 100644 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableOutputNode.java +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableOutputNode.java @@ -1,54 +1,156 @@ package com.flow.eda.runner.node.etl.dataloader; +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.fastjson.JSON; import com.flow.eda.runner.node.AbstractNode; import com.flow.eda.runner.node.NodeFunction; import com.flow.eda.runner.node.NodeVerify; +import com.flow.eda.runner.node.etl.DataColumnMeta; +import com.flow.eda.runner.node.etl.DataSetMeta; +import com.jiuyu.dynamicApi.utils.PageBean; import lombok.extern.slf4j.Slf4j; import org.bson.Document; +import org.jeecg.common.system.vo.DynamicDataSourceModel; +import org.jeecg.common.util.db.DynamicDBUtil; +import org.springframework.jdbc.core.JdbcTemplate; +import java.sql.*; +import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.concurrent.*; @Slf4j -public class RdbTableOutputNode extends AbstractNode { +public class RdbTableOutputNode extends AbstractNode { - String output_tableName ; + String output_tableName; String output_dbkey; String output_dbType; + int threadCount; + // + JdbcTemplate jdbcTemplate; + // 动态数据源 + DruidDataSource ds ; + DynamicDataSourceModel dynamicDataSourceModel; + // 字段元数据 + DataSetMeta dataSetMeta; + // 上一步数据 + Document inputDocment ; + + List dataList ; public RdbTableOutputNode(Document params) { super(params); } + @Override + public void run(NodeFunction callback) { + Document document = new Document(); + + int successCount = 0; + //使一个线程等待其他线程各自执行完毕后再执行 + List> tasks = new ArrayList>();//添加任务 + CountDownLatch end = new CountDownLatch(dataList.size()); + for (int i = 0; i < dataList.size(); i++) { + Map doc = (Map) dataList.get(i); + List datas = (List) doc.get("list"); + Callable qfe = new ThreadWrite(this.ds, this.dataSetMeta, datas, this.output_tableName, this.output_dbType,end); + tasks.add(qfe); + } + + + //定义固定长度的线程池 防止线程过多 + ExecutorService execservice = Executors.newFixedThreadPool(this.threadCount); + + try { + List> futures = execservice.invokeAll(tasks); + // 处理线程返回结果 + if (futures != null && futures.size() > 0) { + for (Future future : futures) { + successCount += future.get(); + } + } + end.await(); + execservice.shutdown(); // 关闭线程池 + } catch (Exception e) { + e.printStackTrace(); + } + + log.info("数据库写入完成 .... result.size = {} ", successCount); + document.append("success_write_count", successCount); + // 还需将上一步数据保存继续传递 + document.putAll(this.inputDocment); + // 输出结果 + setStatus(Status.FINISHED); + document.putAll(output()); + callback.callback(document); + } + + @Override protected void verify(Document params) { - List result = params.getList("result",Object.class); - NodeVerify.notNull(result , "result结果集"); + // List result = params.getList("result",Object.class); + // List> list_param = (List)params.get("transform"); + this.dataList = (List) params.get("result"); + //NodeVerify.notNull(result , "result结果集"); - output_tableName = params.getString("output_tableName") ; - NodeVerify.notNull(output_tableName , "output_tableName"); + output_tableName = params.getString("output_tableName"); + NodeVerify.notNull(output_tableName, "output_tableName"); - output_dbkey = params.getString("output_dbkey") ; - NodeVerify.notNull(output_dbkey , "output_dbkey"); + output_dbkey = params.getString("output_dbkey"); + NodeVerify.notNull(output_dbkey, "output_dbkey"); - output_dbType = params.getString("output_dbType") ; - NodeVerify.notNull(output_dbType , "output_dbType"); + output_dbType = params.getString("output_dbType"); + NodeVerify.notNull(output_dbType, "output_dbType"); + this.ds = DynamicDBUtil.getDbSourceByDbKey(output_dbkey); - for(int i = 0 ; i < result.size() ; i ++){ - Document doc = (Document) result.get(i) ; - List list = doc.getList("list" , Map.class); - for(Map map : list){ - log.info("map = ", map.toString()); + if (!params.containsKey("threadCount")) { + this.threadCount = 10; // 默认10个线程 + } else { + this.threadCount = Integer.parseInt(params.get("threadCount").toString()); + } + // 开始处理上一步信息 + inputDocment = new Document(); + inputDocment.append("totalCount",params.getInteger("totalCount")) + .append("dataSetMeta",params.get("dataSetMeta")) + .append("pageNo_next",params.getInteger("pageNo_next")) + .append("pageCount", params.getInteger("pageCount")) + .append("pageSize", params.getInteger("pageSize")) + .append("source_dbKey", params.getString("source_dbKey")) + .append("source_dbType", params.getString("source_dbType")) ; + + Connection con = null; + PreparedStatement ps = null; + ResultSet rs = null; + try { + con = this.ds.getConnection(); + ps = con.prepareStatement("select * from " + output_tableName); + ps.setMaxRows(1); + rs = ps.executeQuery(); + ResultSetMetaData resultSetMetaData = rs.getMetaData(); + dataSetMeta = new DataSetMeta(); + for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) { + DataColumnMeta dc = new DataColumnMeta(); + dc.setColumnName(resultSetMetaData.getColumnName(i)); + dc.setColumnType(resultSetMetaData.getColumnTypeName(i)); + dataSetMeta.addColumnMeta(dc); + } + } catch (SQLException e) { + e.printStackTrace(); + } finally { + try { + if (con != null) { + con.close(); + } + } catch (Exception e) { + e.printStackTrace(); } } } - @Override - public void run(NodeFunction callback) { - } } diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThreadWrite.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThreadWrite.java new file mode 100644 index 0000000..a204a49 --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThreadWrite.java @@ -0,0 +1,154 @@ +package com.flow.eda.runner.node.etl.dataloader; + +import com.alibaba.druid.pool.DruidDataSource; +import com.flow.eda.runner.node.etl.DataColumnMeta; +import com.flow.eda.runner.node.etl.DataSetMeta; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.util.DateUtils; + +import java.math.BigDecimal; +import java.sql.*; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.concurrent.Callable; +import java.util.concurrent.CountDownLatch; + +@Slf4j +public class ThreadWrite implements Callable { + + private String dbType; + + private String tableName; + + private DruidDataSource ds; + + private DataSetMeta target_dataSetMeta; + + private List> datas; // + + private CountDownLatch end ; + + public ThreadWrite(DruidDataSource ds, DataSetMeta dataSetMeta, List> datas, String tableName, String dataType , CountDownLatch end) { + this.ds = ds; + this.target_dataSetMeta = dataSetMeta; + this.datas = datas; + this.tableName = tableName; + this.dbType = dataType; + this.end = end; + } + + + @Override + public Integer call() throws Exception { + int execCount = exec(); + this.end.countDown(); + return execCount; + } + + private String insertSqlBuilder() { + StringBuffer sb = new StringBuffer("insert into "); + sb.append(tableName).append("("); + Collection columnMetas = target_dataSetMeta.getAllColumn(); + StringBuffer sb2 = new StringBuffer(); + int i = 0; + for (DataColumnMeta meta : columnMetas) { + sb.append(meta.getColumnName()); + sb2.append("?"); + if (++i < columnMetas.size()) { + sb.append(","); + sb2.append(","); + } + } + sb.append(") values ( ").append(sb2).append(" ) "); + log.info(""); + return sb.toString(); + } + + + private int exec() { + int execCount = 0; + Connection connection = null; + PreparedStatement pst = null; + try { + connection = this.ds.getConnection(); + connection.setAutoCommit(false); + pst = connection.prepareStatement(insertSqlBuilder()); + + for (Map map : datas) { + int i = 1; + for (DataColumnMeta meta : target_dataSetMeta.getAllColumn()) { + String columnName = meta.getColumnName(); + String str_value = map.get(columnName) == null ? "null" : map.get(columnName).toString(); + String columnType = meta.getColumnType().toUpperCase(); + if (!str_value.equals("null")) { + if (columnType.indexOf("CHAR") != -1) { + pst.setString(i++, str_value); + } else if (columnType.indexOf("DECIMAL") != -1 || + columnType.indexOf("NUMERIC") != -1) { + pst.setBigDecimal(i++, new BigDecimal(str_value)); + } else if (columnType.indexOf("BIT") != -1 || + columnType.indexOf("BOOLEAN") != -1) { + pst.setBoolean(i++, Boolean.parseBoolean(str_value)); + } else if (columnType.indexOf("INT") != -1 || + columnType.indexOf("INTEGER") != -1) { + pst.setInt(i++, Integer.parseInt(str_value)); + } else if (columnType.indexOf("TINYINT") != -1) { + pst.setByte(i++, Byte.parseByte(str_value)); + } else if (columnType.indexOf("SMALLINT") != -1) { + pst.setShort(i++, Short.parseShort(str_value)); + } else if (columnType.indexOf("BIGINT") != -1) { + pst.setLong(i++, Long.parseLong(str_value)); + } else if (columnType.indexOf("REAL") != -1) { + pst.setFloat(i++, Float.parseFloat(str_value)); + } else if (columnType.indexOf("FLOAT") != -1 || + columnType.indexOf("DOUBLE") != -1) { + pst.setDouble(i++, Double.parseDouble(str_value)); + } else if (columnType.indexOf("DATE") != -1) { + java.util.Date date = DateUtils.parseDate(str_value, "yyyy-MM-dd HH:mm:ss"); + //pst.setDate(i++, new Date(date.getTime())); + pst.setTimestamp( i++, new java.sql.Timestamp(date.getTime())); + } else { + pst.setString(i++, str_value); + } + + } else { + pst.setNull(i++, Types.NULL); + } + + } + pst.addBatch(); + ++execCount; + } + + pst.executeBatch(); + connection.commit(); + pst.clearBatch(); + + } catch (Exception e) { + e.printStackTrace(); + try { + connection.rollback(); + } catch (SQLException ex) { + ex.printStackTrace(); + } + } finally { + if (pst != null) { + try { + pst.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + if (connection != null) + try { + connection.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + return execCount; + } + +} diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThredQuery.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThredQuery.java index dfcc57d..5ca159d 100644 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThredQuery.java +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThredQuery.java @@ -9,6 +9,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.Callable; +import java.util.concurrent.CountDownLatch; @Slf4j public class ThredQuery implements Callable { @@ -20,8 +21,9 @@ public class ThredQuery implements Callable { private int totalCount ; // 总数 private String dbType ; private String ds_key ; // 动态数据源 code + private CountDownLatch end ; - public ThredQuery(PageBeanHander pageBeanHander, int pageNo ,int pageSize, int totalCount, String dbType, String ds_key , String sql_str){ + public ThredQuery(PageBeanHander pageBeanHander, int pageNo ,int pageSize, int totalCount, String dbType, String ds_key , String sql_str ,CountDownLatch end){ this.pageBeanHander=pageBeanHander; this.pageNo = pageNo; this.pageSize = pageSize; @@ -29,6 +31,7 @@ public class ThredQuery implements Callable { this.dbType = dbType; this.ds_key = ds_key; this.sql_str = sql_str; + this.end = end ; } @Override @@ -43,6 +46,7 @@ public class ThredQuery implements Callable { map.put("DS" , ds_key) ; List> list =new ArrayList<>(); //myService.queryBySex(sex,bindex,num); PageBean pageBean = pageBeanHander.getQueryPageBean(paraMap, map , sql_str); + this.end.countDown(); return pageBean; } } \ No newline at end of file diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/runtime/FlowExecutor.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/runtime/FlowExecutor.java index 93c8e03..9fcd5a8 100644 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/runtime/FlowExecutor.java +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/runtime/FlowExecutor.java @@ -124,6 +124,7 @@ public class FlowExecutor { params.putAll(currentNode.getParams()); return clazz.getConstructor(Document.class).newInstance(params); } catch (Exception e) { + e.printStackTrace(); throw FlowException.wrap(e); } } diff --git a/jiuyu-module-floweda/flow-eda-web/src/main/java/com/flow/eda/web/flow/node/type/NodeTypeService.java b/jiuyu-module-floweda/flow-eda-web/src/main/java/com/flow/eda/web/flow/node/type/NodeTypeService.java index fbf0166..4e572b6 100644 --- a/jiuyu-module-floweda/flow-eda-web/src/main/java/com/flow/eda/web/flow/node/type/NodeTypeService.java +++ b/jiuyu-module-floweda/flow-eda-web/src/main/java/com/flow/eda/web/flow/node/type/NodeTypeService.java @@ -22,7 +22,7 @@ public class NodeTypeService { @Autowired private NodeTypeMapper nodeTypeMapper; @Autowired private NodeTypeParamMapper nodeTypeParamMapper; - @Cacheable(value = "default", key = "#name != null ? #name : 'null'") +// @Cacheable(value = "default", key = "#name != null ? #name : 'null'") public Map> getNodeTypes(String name) { Map> map = new LinkedHashMap<>(); List list = nodeTypeMapper.findByName(name); -- Gitee From c3b8acea5c8ad877a99a4190255745a4bd2c589c Mon Sep 17 00:00:00 2001 From: limq <> Date: Sat, 13 May 2023 08:33:59 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E5=85=B3=E7=B3=BB=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E8=8A=82=E7=82=B9=EF=BC=8C=E4=B8=B4=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../runner/node/etl/RdbTablePartitioner.java | 100 ------------------ .../node/etl/dataloader/RdbSQLBuilder.java | 23 ---- .../node/etl/dataloader/ThreadWrite.java | 1 - .../eda/runner/node/etl/transform/StrDoc.java | 13 --- .../etl/transform/StringTransformNode.java | 51 +++++---- 5 files changed, 33 insertions(+), 155 deletions(-) delete mode 100644 jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/RdbTablePartitioner.java delete mode 100644 jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbSQLBuilder.java delete mode 100644 jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/transform/StrDoc.java diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/RdbTablePartitioner.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/RdbTablePartitioner.java deleted file mode 100644 index 889186b..0000000 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/RdbTablePartitioner.java +++ /dev/null @@ -1,100 +0,0 @@ -package com.flow.eda.runner.node.etl; - -import lombok.Data; - -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.Reader; -import java.sql.*; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -@Data -public class RdbTablePartitioner { - - protected Connection conn = null; - - protected PreparedStatement ps = null; - - protected String sql; - - protected int fetchSize; - - protected int limit = 0; // 只抽取多少条,不是总数 - - protected ResultSet rs = null; - - protected DataSetMeta rw = null; - - protected boolean isIncrement;//标识是否增量抽取 - - protected String insertTime; - - protected String updateTime; - - - protected List> dataList = new ArrayList<>(); - - - protected void dowork() throws Exception { - ps = conn.prepareStatement(sql, ResultSet.TYPE_FORWARD_ONLY, - ResultSet.CONCUR_READ_ONLY); - - if (limit > 0) { - ps.setMaxRows(limit); - } - - rs = ps.executeQuery(); - rs.setFetchSize(fetchSize); - - ResultSetMetaData resultSetMetaData = rs.getMetaData(); - rw = new DataSetMeta(); - for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) { - DataColumnMeta dc = new DataColumnMeta(); - dc.setColumnName(resultSetMetaData.getColumnName(i)); - dc.setColumnType(resultSetMetaData.getColumnTypeName(i)); - rw.addColumnMeta(dc); - } - - while (rs.next()) { - Map row = exec(rs, rw); - dataList.add(row); - } - } - - protected Map exec(ResultSet rs, DataSetMeta rw) throws Exception { - Map t = new HashMap(rw.getColumnCount()); - Reader is; - BufferedReader br; - String s; - StringBuffer sb = new StringBuffer(); - for (DataColumnMeta columnMeta : rw.getAllColumn()) { - Object object = rs.getObject(columnMeta.getColumnName()); - if (object instanceof Blob) { - Blob blob = (Blob) object; - InputStream in = blob.getBinaryStream(); - byte[] bytes = new byte[(int) blob.length()]; - in.read(bytes); - in.close(); - object = bytes; - } else if (object instanceof Clob) { - Clob clob = (Clob) object; - is = clob.getCharacterStream();// 得到流 - br = new BufferedReader(is); - s = br.readLine(); - while (s != null) { - sb.append(s); - s = br.readLine(); - } - object = sb.toString(); - sb.setLength(0); - br.close(); - is.close(); - } - t.put(columnMeta.getColumnName(), object); - } - return t; - } -} diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbSQLBuilder.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbSQLBuilder.java deleted file mode 100644 index 5546b50..0000000 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbSQLBuilder.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.flow.eda.runner.node.etl.dataloader; - -import java.sql.PreparedStatement; -import java.sql.SQLException; - -public class RdbSQLBuilder { - - private String tableName; - - - - /* public void assignStatement(PreparedStatement ps, IDataSet dataSet, int index) throws SQLException { - int i = 1; - for(String column : columnMappings.keySet()) { - ps.setObject(i++, dataSet.getCellValue(index, columnMappings.get(column))); - - } - } - - public String buildTruncateSQL() { - return "TRUNCATE TABLE " + tableName; - }*/ -} diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThreadWrite.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThreadWrite.java index a204a49..f1c43cf 100644 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThreadWrite.java +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThreadWrite.java @@ -61,7 +61,6 @@ public class ThreadWrite implements Callable { } } sb.append(") values ( ").append(sb2).append(" ) "); - log.info(""); return sb.toString(); } diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/transform/StrDoc.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/transform/StrDoc.java deleted file mode 100644 index 5791e6e..0000000 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/transform/StrDoc.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.flow.eda.runner.node.etl.transform; - -import lombok.Data; - -@Data -public class StrDoc { - String sourceItemName ; // - String targetItemName; // 如果为空,则在原字段修改,否则新增一个字段 - String transTrim; // 去空 yes , no - String transCase; // 大小写转换 upper , lower - String removSpecialStr ; // 删除特殊字符串 SPACE,TAB - -} diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/transform/StringTransformNode.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/transform/StringTransformNode.java index 46a8b01..84d98e1 100644 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/transform/StringTransformNode.java +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/transform/StringTransformNode.java @@ -1,25 +1,21 @@ package com.flow.eda.runner.node.etl.transform; -import com.alibaba.fastjson.JSONObject; import com.flow.eda.runner.node.AbstractNode; import com.flow.eda.runner.node.NodeFunction; import com.flow.eda.runner.node.NodeVerify; -import com.flow.eda.runner.utils.PlaceholderUtil; +import org.apache.commons.lang.StringUtils; import org.bson.Document; - -import java.util.Arrays; -import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; public class StringTransformNode extends AbstractNode { - private String columns; + // 上一步数据 + List dataList; - private List array; + List transformList; - private List itemList; + private Document payload; public StringTransformNode(Document params) { super(params); @@ -29,22 +25,41 @@ public class StringTransformNode extends AbstractNode { public void run(NodeFunction callback) { // 对数组进行处理 - // 节点运行完成 setStatus(Status.FINISHED); - - // 调用回调函数,输出结果 - // callback.callback(new Document("result", this.list)); + callback.callback(payload); } @Override protected void verify(Document params) { // 获取字段名 NodeVerify.notNull(params.get("transform"), "transform"); - List> list_param = (List)params.get("transform"); + this.transformList = (List) params.get("transform"); - itemList = list_param.stream().map( m -> { - StrDoc doc = JSONObject.parseObject(JSONObject.toJSONString(m), StrDoc.class) ; - return doc; - }).collect(Collectors.toList()); + this.dataList = (List) params.get("result"); + this.payload = new Document(params); + + this.transformList.forEach(map -> { + if (map.containsKey("fillString") && map.containsKey("source")) { + fillEmptyColumnByStr(map.get("source") + "", map.get("fillString") + ""); + } + }); } + + + /** + * 用指定字符串替换为空的字段 + */ + private void fillEmptyColumnByStr(String source, String fillString) { + if (StringUtils.isNotEmpty(source) && StringUtils.isNotEmpty(fillString)) + this.dataList.forEach(m -> { + ((List) m.get("list")).forEach(m1 -> { + if (m1.containsKey(source)) { + if (StringUtils.isEmpty(m1.get(source) + "")) { + m1.put(source, fillString); + } + } + }); + }); + } + } -- Gitee From 32f090dd814f1f87e225f4a97291f8d5330443d4 Mon Sep 17 00:00:00 2001 From: limq <> Date: Sat, 13 May 2023 15:20:54 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=85=B1=E4=BA=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...73\345\212\240\350\257\264\346\230\216.md" | 35 ++++ .../common/aspect/annotation/AutoLog.java | 47 ------ .../jeecg/common/aspect/annotation/Dict.java | 42 ----- .../common/aspect/annotation/OnlineAuth.java | 19 --- .../aspect/annotation/PermissionData.java | 31 ---- .../common/constant/enums/CgformEnum.java | 150 ------------------ .../common/constant/enums/ModuleType.java | 17 -- .../constant/enums/RoleIndexConfigEnum.java | 99 ------------ .../service/impl/FlowServiceImpl.java | 2 +- jiuyu-boot-module-system/pom.xml | 12 +- .../org/jeecg/JiuYuSystemApplication.java | 5 +- .../controller/SysDataSourceController.java | 5 - .../modules/system/entity/SysDataSource.java | 120 -------------- .../system/mapper/SysDataSourceMapper.java | 14 -- .../system/service/ISysDataSourceService.java | 14 -- .../system/service/impl/SysBaseApiImpl.java | 18 ++- .../impl/SysDataSourceServiceImpl.java | 18 --- .../src/main/resources/application-dev.yml | 42 +++-- jiuyu-module-floweda/flow-eda-runner/pom.xml | 7 + .../eda/runner/FlowEdaRunnerApplication.java | 2 + .../eda/runner/data/JiuyuBaseService.java | 10 +- .../src/main/resources/application.yaml | 4 +- 22 files changed, 103 insertions(+), 610 deletions(-) create mode 100644 "doc/Dubbo\346\267\273\345\212\240\350\257\264\346\230\216.md" delete mode 100644 jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/AutoLog.java delete mode 100644 jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/Dict.java delete mode 100644 jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/OnlineAuth.java delete mode 100644 jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/PermissionData.java delete mode 100644 jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/constant/enums/CgformEnum.java delete mode 100644 jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/constant/enums/ModuleType.java delete mode 100644 jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/constant/enums/RoleIndexConfigEnum.java delete mode 100644 jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysDataSource.java delete mode 100644 jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDataSourceMapper.java delete mode 100644 jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDataSourceService.java delete mode 100644 jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java diff --git "a/doc/Dubbo\346\267\273\345\212\240\350\257\264\346\230\216.md" "b/doc/Dubbo\346\267\273\345\212\240\350\257\264\346\230\216.md" new file mode 100644 index 0000000..517acc8 --- /dev/null +++ "b/doc/Dubbo\346\267\273\345\212\240\350\257\264\346\230\216.md" @@ -0,0 +1,35 @@ +1 JiuYuSystemApplication 添加: @DubboComponentScan(basePackages = "org.jeecg.modules.system.service.impl") + +2 application-dev.yml: +dubbo: + application: + name: jiuyu-boot-base + qos-enable: false + qos-accept-foreign-ip: false + registry: + protocol: dubbo + address: nacos://localhost:8848 + username: nacos + password: nacos + protocol: + name: dubbo + port: 20885 + consumer: + check: false + timeout: 5000 + retries: 0 + +3 pom.xml + + org.apache.dubbo + dubbo-registry-nacos + 3.0.7 + + + org.apache.dubbo + dubbo-spring-boot-starter + 3.0.7 + + +4 : SysBaseApiImpl.java +@DubboService(interfaceClass = ISysBaseAPI.class) \ No newline at end of file diff --git a/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/AutoLog.java b/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/AutoLog.java deleted file mode 100644 index 8c6d25f..0000000 --- a/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/AutoLog.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.jeecg.common.aspect.annotation; - -import org.jeecg.common.constant.CommonConstant; -import org.jeecg.common.constant.enums.ModuleType; - -import java.lang.annotation.*; - -/** - * 系统日志注解 - * - * @Author scott - * @email jeecgos@163.com - * @Date 2019年1月14日 - */ -@Target(ElementType.METHOD) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface AutoLog { - - /** - * 日志内容 - * - * @return - */ - String value() default ""; - - /** - * 日志类型 - * - * @return 0:操作日志;1:登录日志;2:定时任务; - */ - int logType() default CommonConstant.LOG_TYPE_2; - - /** - * 操作日志类型 - * - * @return (1查询,2添加,3修改,4删除) - */ - int operateType() default 0; - - /** - * 模块类型 默认为common - * - * @return - */ - ModuleType module() default ModuleType.COMMON; -} diff --git a/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/Dict.java b/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/Dict.java deleted file mode 100644 index 1e625fc..0000000 --- a/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/Dict.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.jeecg.common.aspect.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 类描述: 字典注解 - * 作 者: dangzhenghui - * 日 期: 2019年03月17日-下午9:37:16 - */ -@Target(ElementType.FIELD) -@Retention(RetentionPolicy.RUNTIME) -public @interface Dict { - /** - * 方法描述: 数据code - * 作 者: dangzhenghui - * 日 期: 2019年03月17日-下午9:37:16 - * - * @return 返回类型: String - */ - String dicCode(); - - /** - * 方法描述: 数据Text - * 作 者: dangzhenghui - * 日 期: 2019年03月17日-下午9:37:16 - * - * @return 返回类型: String - */ - String dicText() default ""; - - /** - * 方法描述: 数据字典表 - * 作 者: dangzhenghui - * 日 期: 2019年03月17日-下午9:37:16 - * - * @return 返回类型: String - */ - String dictTable() default ""; -} diff --git a/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/OnlineAuth.java b/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/OnlineAuth.java deleted file mode 100644 index b9acb91..0000000 --- a/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/OnlineAuth.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.jeecg.common.aspect.annotation; - -import java.lang.annotation.*; - -/** - * online请求拦截专用注解 - */ -@Retention(RetentionPolicy.RUNTIME) -@Target({ElementType.TYPE, ElementType.METHOD}) -@Documented -public @interface OnlineAuth { - - /** - * 请求关键字,在xxx/code之前的字符串 - * - * @return - */ - String value(); -} diff --git a/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/PermissionData.java b/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/PermissionData.java deleted file mode 100644 index 2b53e78..0000000 --- a/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/aspect/annotation/PermissionData.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.jeecg.common.aspect.annotation; - -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * 数据权限注解 - * - * @Author taoyan - * @Date 2019年4月11日 - */ -@Retention(RetentionPolicy.RUNTIME) -@Target({ElementType.TYPE, ElementType.METHOD}) -@Documented -public @interface PermissionData { - /** - * 暂时没用 - * - * @return - */ - String value() default ""; - - - /** - * 配置菜单的组件路径,用于数据权限 - */ - String pageComponent() default ""; -} \ No newline at end of file diff --git a/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/constant/enums/CgformEnum.java b/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/constant/enums/CgformEnum.java deleted file mode 100644 index 963c444..0000000 --- a/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/constant/enums/CgformEnum.java +++ /dev/null @@ -1,150 +0,0 @@ -package org.jeecg.common.constant.enums; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * online表单枚举 代码生成器用到 - */ -public enum CgformEnum { - - /** - * 单表 - */ - ONE(1, "one", "/jeecg/code-template-online", "default.one", "经典风格"), - /** - * 多表 - */ - MANY(2, "many", "/jeecg/code-template-online", "default.onetomany", "经典风格"), - /** - * 多表 - */ - ERP(2, "erp", "/jeecg/code-template-online", "erp.onetomany", "ERP风格"), - /** - * 多表(jvxe风格) - */ - JVXE_TABLE(2, "jvxe", "/jeecg/code-template-online", "jvxe.onetomany", "JVXE风格"), - /** - * 多表(内嵌子表风格) - */ - INNER_TABLE(2, "innerTable", "/jeecg/code-template-online", "inner-table.onetomany", "内嵌子表风格"), - /** - * 多表(tab风格) - */ - TAB(2, "tab", "/jeecg/code-template-online", "tab.onetomany", "Tab风格"), - /** - * 树形列表 - */ - TREE(3, "tree", "/jeecg/code-template-online", "default.tree", "树形列表"); - - /** - * 类型 1/单表 2/一对多 3/树 - */ - int type; - /** - * 编码标识 - */ - String code; - /** - * 代码生成器模板路径 - */ - String templatePath; - /** - * 代码生成器模板路径 - */ - String stylePath; - /** - * 模板风格名称 - */ - String note; - - /** - * 构造器 - * - * @param type 类型 1/单表 2/一对多 3/树 - * @param code 模板编码 - * @param templatePath 模板路径 - * @param stylePath 模板子路径 - * @param note - */ - CgformEnum(int type, String code, String templatePath, String stylePath, String note) { - this.type = type; - this.code = code; - this.templatePath = templatePath; - this.stylePath = stylePath; - this.note = note; - } - - /** - * 根据code获取模板路径 - * - * @param code - * @return - */ - public static String getTemplatePathByConfig(String code) { - return getCgformEnumByConfig(code).templatePath; - } - - - public int getType() { - return type; - } - - public void setType(int type) { - this.type = type; - } - - public String getTemplatePath() { - return templatePath; - } - - public void setTemplatePath(String templatePath) { - this.templatePath = templatePath; - } - - public String getStylePath() { - return stylePath; - } - - public void setStylePath(String stylePath) { - this.stylePath = stylePath; - } - - /** - * 根据code找枚举 - * - * @param code - * @return - */ - public static CgformEnum getCgformEnumByConfig(String code) { - for (CgformEnum e : CgformEnum.values()) { - if (e.code.equals(code)) { - return e; - } - } - return null; - } - - /** - * 根据类型找所有 - * - * @param type - * @return - */ - public static List> getJspModelList(int type) { - List> ls = new ArrayList>(); - for (CgformEnum e : CgformEnum.values()) { - if (e.type == type) { - Map map = new HashMap(); - map.put("code", e.code); - map.put("note", e.note); - ls.add(map); - } - } - return ls; - } - - -} diff --git a/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/constant/enums/ModuleType.java b/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/constant/enums/ModuleType.java deleted file mode 100644 index e6cd765..0000000 --- a/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/constant/enums/ModuleType.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.jeecg.common.constant.enums; - -/** - * 日志按模块分类 - */ -public enum ModuleType { - - /** - * 普通 - */ - COMMON, - - /** - * online - */ - ONLINE; -} diff --git a/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/constant/enums/RoleIndexConfigEnum.java b/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/constant/enums/RoleIndexConfigEnum.java deleted file mode 100644 index 3738c02..0000000 --- a/jiuyu-boot-base/jiuyu-boot-base-core/src/main/java/org/jeecg/common/constant/enums/RoleIndexConfigEnum.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.jeecg.common.constant.enums; - -import java.util.List; - -/** - * 首页自定义 - * 通过角色编码与首页组件路径配置 - */ -public enum RoleIndexConfigEnum { - /** - * 管理员 - */ - ADMIN("admin1", "dashboard/Analysis2"), - /** - * 测试 - */ - TEST("test", "dashboard/Analysis"), - /** - * hr - */ - HR("hr", "dashboard/IndexTask"); //add by nbacheng - - /** - * 角色编码 - */ - String roleCode; - /** - * 路由index - */ - String componentUrl; - - /** - * 构造器 - * - * @param roleCode 角色编码 - * @param componentUrl 首页组件路径(规则跟菜单配置一样) - */ - RoleIndexConfigEnum(String roleCode, String componentUrl) { - this.roleCode = roleCode; - this.componentUrl = componentUrl; - } - - /** - * 根据code找枚举 - * - * @param roleCode 角色编码 - * @return - */ - public static RoleIndexConfigEnum getEnumByCode(String roleCode) { - for (RoleIndexConfigEnum e : RoleIndexConfigEnum.values()) { - if (e.roleCode.equals(roleCode)) { - return e; - } - } - return null; - } - - /** - * 根据code找index - * - * @param roleCode 角色编码 - * @return - */ - public static String getIndexByCode(String roleCode) { - for (RoleIndexConfigEnum e : RoleIndexConfigEnum.values()) { - if (e.roleCode.equals(roleCode)) { - return e.componentUrl; - } - } - return null; - } - - public static String getIndexByRoles(List roles) { - for (String role : roles) { - for (RoleIndexConfigEnum e : RoleIndexConfigEnum.values()) { - if (e.roleCode.equals(role)) { - return e.componentUrl; - } - } - } - return null; - } - - public String getRoleCode() { - return roleCode; - } - - public void setRoleCode(String roleCode) { - this.roleCode = roleCode; - } - - public String getComponentUrl() { - return componentUrl; - } - - public void setComponentUrl(String componentUrl) { - this.componentUrl = componentUrl; - } -} diff --git a/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/service/impl/FlowServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/service/impl/FlowServiceImpl.java index 43282dc..26748a3 100644 --- a/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/service/impl/FlowServiceImpl.java +++ b/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/service/impl/FlowServiceImpl.java @@ -34,7 +34,7 @@ public class FlowServiceImpl { @Autowired JdbcTemplate jdbcTemplate ; - ch.qos.logback.classic.Logger vLogger = loggerContext.getLogger("com.dragonsoft.commonQuery"); + ch.qos.logback.classic.Logger vLogger = loggerContext.getLogger("com.jiuyu"); ch.qos.logback.classic.Logger vLogger2 = loggerContext.getLogger("org.jeecg"); public Object getCachedResult(String queryKey , String sub_system , Map paraMap , List subFlowList , LinkedList nextStep ){ diff --git a/jiuyu-boot-module-system/pom.xml b/jiuyu-boot-module-system/pom.xml index 0e0b260..e80acb5 100644 --- a/jiuyu-boot-module-system/pom.xml +++ b/jiuyu-boot-module-system/pom.xml @@ -89,6 +89,14 @@ jiuyu-boot-base-core 3.0 + + + com.jiuyu.boot + jiuyu-boot-base-modules + 3.0 + + + com.taobao.top top-api-sdk-dev @@ -118,7 +126,7 @@ - + com.jiuyu.boot diff --git a/jiuyu-boot-module-system/src/main/java/org/jeecg/JiuYuSystemApplication.java b/jiuyu-boot-module-system/src/main/java/org/jeecg/JiuYuSystemApplication.java index 0d5bd73..1aa7252 100644 --- a/jiuyu-boot-module-system/src/main/java/org/jeecg/JiuYuSystemApplication.java +++ b/jiuyu-boot-module-system/src/main/java/org/jeecg/JiuYuSystemApplication.java @@ -3,7 +3,7 @@ package org.jeecg; import lombok.extern.slf4j.Slf4j; -import org.apache.dubbo.config.spring.context.annotation.DubboComponentScan; +//import org.apache.dubbo.config.spring.context.annotation.DubboComponentScan; import org.jeecg.common.util.oConvertUtils; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; @@ -22,10 +22,11 @@ import java.net.UnknownHostException; /** * 单体启动类(采用此类启动为单体模式) */ -@DubboComponentScan(basePackages = "org.jeecg.modules.system.service.impl") +//@DubboComponentScan(basePackages = "org.jeecg.modules.system.service.impl") @Slf4j @SpringBootApplication(scanBasePackages = {"org.jeecg", "com.nbcio"}) @MapperScan("com.nbcio.modules.**.mapper") + public class JiuYuSystemApplication extends SpringBootServletInitializer { @Override diff --git a/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDataSourceController.java b/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDataSourceController.java index cc85f12..73d9d3d 100644 --- a/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDataSourceController.java +++ b/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDataSourceController.java @@ -1,10 +1,5 @@ package org.jeecg.modules.system.controller; -import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.HexUtil; -import cn.hutool.crypto.SecureUtil; -import cn.hutool.crypto.symmetric.SymmetricAlgorithm; -import cn.hutool.crypto.symmetric.SymmetricCrypto; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; diff --git a/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysDataSource.java b/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysDataSource.java deleted file mode 100644 index ad34ea0..0000000 --- a/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysDataSource.java +++ /dev/null @@ -1,120 +0,0 @@ -package org.jeecg.modules.system.entity; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.annotation.JsonFormat; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.experimental.Accessors; -import org.jeecg.common.aspect.annotation.Dict; -import org.jeecgframework.poi.excel.annotation.Excel; -import org.springframework.format.annotation.DateTimeFormat; - -/** - * @Description: 多数据源管理 - * @Author: nbacheng - * @Date: 2019-12-25 - * @Version: V1.0 - */ -@Data -@TableName("sys_data_source") -@EqualsAndHashCode(callSuper = false) -@Accessors(chain = true) -@ApiModel(value = "sys_data_source对象", description = "多数据源管理") -public class SysDataSource { - - /** - * id - */ - @TableId(type = IdType.ASSIGN_ID) - @ApiModelProperty(value = "id") - private java.lang.String id; - /** - * 数据源编码 - */ - @Excel(name = "数据源编码", width = 15) - @ApiModelProperty(value = "数据源编码") - private java.lang.String code; - /** - * 数据源名称 - */ - @Excel(name = "数据源名称", width = 15) - @ApiModelProperty(value = "数据源名称") - private java.lang.String name; - /** - * 描述 - */ - @Excel(name = "备注", width = 15) - @ApiModelProperty(value = "备注") - private java.lang.String remark; - /** - * 数据库类型 - */ - @Dict(dicCode = "database_type") - @Excel(name = "数据库类型", width = 15, dicCode = "database_type") - @ApiModelProperty(value = "数据库类型") - private java.lang.String dbType; - /** - * 驱动类 - */ - @Excel(name = "驱动类", width = 15) - @ApiModelProperty(value = "驱动类") - private java.lang.String dbDriver; - /** - * 数据源地址 - */ - @Excel(name = "数据源地址", width = 15) - @ApiModelProperty(value = "数据源地址") - private java.lang.String dbUrl; - /** - * 数据库名称 - */ - @Excel(name = "数据库名称", width = 15) - @ApiModelProperty(value = "数据库名称") - private java.lang.String dbName; - /** - * 用户名 - */ - @Excel(name = "用户名", width = 15) - @ApiModelProperty(value = "用户名") - private java.lang.String dbUsername; - /** - * 密码 - */ - @Excel(name = "密码", width = 15) - @ApiModelProperty(value = "密码") - private java.lang.String dbPassword; - /** - * 创建人 - */ - @ApiModelProperty(value = "创建人") - private java.lang.String createBy; - /** - * 创建日期 - */ - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value = "创建日期") - private java.util.Date createTime; - /** - * 更新人 - */ - @ApiModelProperty(value = "更新人") - private java.lang.String updateBy; - /** - * 更新日期 - */ - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value = "更新日期") - private java.util.Date updateTime; - /** - * 所属部门 - */ - @Excel(name = "所属部门", width = 15) - @ApiModelProperty(value = "所属部门") - private java.lang.String sysOrgCode; -} diff --git a/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDataSourceMapper.java b/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDataSourceMapper.java deleted file mode 100644 index 4716f15..0000000 --- a/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDataSourceMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.jeecg.modules.system.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.jeecg.modules.system.entity.SysDataSource; - -/** - * @Description: 多数据源管理 - * @Author: nbacheng - * @Date: 2019-12-25 - * @Version: V1.0 - */ -public interface SysDataSourceMapper extends BaseMapper { - -} diff --git a/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDataSourceService.java b/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDataSourceService.java deleted file mode 100644 index a52b597..0000000 --- a/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDataSourceService.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.jeecg.modules.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import org.jeecg.modules.system.entity.SysDataSource; - -/** - * @Description: 多数据源管理 - * @Author: nbacheng - * @Date: 2019-12-25 - * @Version: V1.0 - */ -public interface ISysDataSourceService extends IService { - -} diff --git a/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java b/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java index fe04be7..57b4bf4 100644 --- a/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java +++ b/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java @@ -11,7 +11,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.base.Joiner; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; -import org.apache.dubbo.config.annotation.DubboService; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.dto.OnlineAuthDTO; import org.jeecg.common.api.dto.message.*; @@ -57,7 +56,7 @@ import java.util.*; */ @Slf4j @Service -@DubboService(interfaceClass = ISysBaseAPI.class) +//@DubboService(interfaceClass = ISysBaseAPI.class) public class SysBaseApiImpl implements ISysBaseAPI { /** * 当前系统数据库类型 @@ -96,7 +95,8 @@ public class SysBaseApiImpl implements ISysBaseAPI { private SysPermissionMapper sysPermissionMapper; @Autowired private ISysPermissionDataRuleService sysPermissionDataRuleService; - + @Autowired + private ISysDataSourceService sysDataSourceService; @Autowired private ThirdAppWechatEnterpriseServiceImpl wechatEnterpriseService; @Autowired @@ -688,24 +688,28 @@ public class SysBaseApiImpl implements ISysBaseAPI { @Override public DynamicDataSourceModel getDynamicDbSourceById(String dbSourceId) { - SysDataSource dbSource = dataSourceService.getById(dbSourceId); + /* SysDataSource dbSource = dataSourceService.getById(dbSourceId); if (dbSource != null && StringUtils.isNotBlank(dbSource.getDbPassword())) { String dbPassword = dbSource.getDbPassword(); String decodedStr = SecurityUtil.jiemi(dbPassword); dbSource.setDbPassword(decodedStr); } - return new DynamicDataSourceModel(dbSource); + return new DynamicDataSourceModel(dbSource);*/ + + return sysDataSourceService.getDynamicDbSourceById(dbSourceId); } @Override public DynamicDataSourceModel getDynamicDbSourceByCode(String dbSourceCode) { - SysDataSource dbSource = dataSourceService.getOne(new LambdaQueryWrapper().eq(SysDataSource::getCode, dbSourceCode)); + /* SysDataSource dbSource = dataSourceService.getOne(new LambdaQueryWrapper().eq(SysDataSource::getCode, dbSourceCode)); if (dbSource != null && StringUtils.isNotBlank(dbSource.getDbPassword())) { String dbPassword = dbSource.getDbPassword(); String decodedStr = SecurityUtil.jiemi(dbPassword); dbSource.setDbPassword(decodedStr); } - return new DynamicDataSourceModel(dbSource); + return new DynamicDataSourceModel(dbSource);*/ + + return sysDataSourceService.getDynamicDbSourceById(dbSourceCode) ; } @Override diff --git a/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java b/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java deleted file mode 100644 index eabf8c2..0000000 --- a/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.jeecg.modules.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.jeecg.modules.system.entity.SysDataSource; -import org.jeecg.modules.system.mapper.SysDataSourceMapper; -import org.jeecg.modules.system.service.ISysDataSourceService; -import org.springframework.stereotype.Service; - -/** - * @Description: 多数据源管理 - * @Author: nbacheng - * @Date: 2019-12-25 - * @Version: V1.0 - */ -@Service -public class SysDataSourceServiceImpl extends ServiceImpl implements ISysDataSourceService { - -} diff --git a/jiuyu-boot-module-system/src/main/resources/application-dev.yml b/jiuyu-boot-module-system/src/main/resources/application-dev.yml index 89bf976..316a135 100644 --- a/jiuyu-boot-module-system/src/main/resources/application-dev.yml +++ b/jiuyu-boot-module-system/src/main/resources/application-dev.yml @@ -271,6 +271,13 @@ cas: logging: level: org.jeecg.modules.system.mapper: info + springfox: + documentation: + spring: + web: + readers: + operation: + CachingOperationNameGenerator: warn #swagger knife4j: #开启增强配置 @@ -339,20 +346,21 @@ flowable: #消息链接基地址 message-base-url: http://localhost:9888/flowable/task/record/index -dubbo: - application: - name: jiuyu-boot-base - qos-enable: false - qos-accept-foreign-ip: false - registry: - protocol: dubbo - address: nacos://localhost:8848 - username: nacos - password: nacos - protocol: - name: dubbo - port: 20885 - consumer: - check: false - timeout: 5000 - retries: 0 \ No newline at end of file +#dubbo: +# application: +# name: jiuyu-boot-base +# qos-enable: false +# qos-accept-foreign-ip: false +# registry: +# protocol: dubbo +# address: nacos://localhost:8848 +# username: nacos +# password: nacos +# protocol: +# name: dubbo +# port: 20885 +# consumer: +# check: false +# timeout: 5000 +# retries: 0 + diff --git a/jiuyu-module-floweda/flow-eda-runner/pom.xml b/jiuyu-module-floweda/flow-eda-runner/pom.xml index b54a642..ab3d8ef 100644 --- a/jiuyu-module-floweda/flow-eda-runner/pom.xml +++ b/jiuyu-module-floweda/flow-eda-runner/pom.xml @@ -31,6 +31,13 @@ 3.0 + + com.jiuyu.boot + jiuyu-boot-base-modules + 3.0 + + + org.springframework.boot spring-boot-starter-test diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/FlowEdaRunnerApplication.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/FlowEdaRunnerApplication.java index b90108a..86202ef 100644 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/FlowEdaRunnerApplication.java +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/FlowEdaRunnerApplication.java @@ -4,6 +4,7 @@ import com.flow.eda.runner.node.http.HttpDispatcherServlet; import com.flow.eda.runner.utils.ApplicationContextUtil; import org.apache.dubbo.config.spring.context.annotation.DubboComponentScan; import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; +import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -23,6 +24,7 @@ import org.springframework.web.servlet.DispatcherServlet; @SpringBootApplication(exclude = { MongoAutoConfiguration.class , FreeMarkerAutoConfiguration.class , GroovyTemplateAutoConfiguration.class}) @ComponentScan(basePackages = {"com.flow.eda", "com.jiuyu", "org.jeecg"} , excludeFilters = {@ComponentScan.Filter(type = FilterType.REGEX, pattern = { "org.jeecg.config.shiro.ShiroConfig"})}) +@MapperScan("com.nbcio.modules.**.mapper , org.jeecg.modules.**.mapper") public class FlowEdaRunnerApplication { public static void main(String[] args) { diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/data/JiuyuBaseService.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/data/JiuyuBaseService.java index 734286b..48edbbd 100644 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/data/JiuyuBaseService.java +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/data/JiuyuBaseService.java @@ -3,16 +3,20 @@ package com.flow.eda.runner.data; import org.apache.dubbo.config.annotation.DubboReference; import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.vo.DynamicDataSourceModel; +import org.jeecg.modules.system.service.ISysDataSourceService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class JiuyuBaseService { - @DubboReference - private ISysBaseAPI sysBaseAPI; + /* @DubboReference + private ISysBaseAPI sysBaseAPI;*/ + @Autowired + private ISysDataSourceService sysDataSourceService; public DynamicDataSourceModel getDynamicDbSourceByCode(String code){ - DynamicDataSourceModel model = sysBaseAPI.getDynamicDbSourceByCode(code); + DynamicDataSourceModel model = sysDataSourceService.getDynamicDbSourceByCode(code); return model; } } diff --git a/jiuyu-module-floweda/flow-eda-runner/src/main/resources/application.yaml b/jiuyu-module-floweda/flow-eda-runner/src/main/resources/application.yaml index 4c1c583..8ea19d7 100644 --- a/jiuyu-module-floweda/flow-eda-runner/src/main/resources/application.yaml +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/resources/application.yaml @@ -57,7 +57,7 @@ spring: org: quartz: scheduler: - instanceName: DragonScheduler + instanceName: JiuyuScheduler instanceId: AUTO jobStore: class: org.quartz.impl.jdbcjobstore.JobStoreTX @@ -172,7 +172,7 @@ spring: checkTemplateLocation: false #mybatis plus 设置 mybatis-plus: - mapper-locations: classpath*:org/jeecg/modules/**/xml/*Mapper.xml,classpath*:com/dragonsoft/modules/**/xml/*Mapper.xml,classpath*:com/dragonsoft/frontConfig/**/xml/*Mapper.xml,classpath*:com/dragonsoft/**/xml/*Mapper.xml + mapper-locations: classpath*:org/jeecg/modules/**/xml/*Mapper.xml global-config: # 关闭MP3.0自带的banner banner: false -- Gitee From e5d32264afc210b4d93e4dfedb7db27ae39d2319 Mon Sep 17 00:00:00 2001 From: limq <> Date: Sat, 13 May 2023 18:37:17 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=85=B1=E4=BA=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/system/entity/SysDataSource.java | 120 ++++++++++++++++++ .../system/mapper/SysDataSourceMapper.java | 14 ++ .../system/mapper/xml/SysDataSourceMapper.xml | 5 + .../system/service/ISysDataSourceService.java | 18 +++ .../impl/SysDataSourceServiceImpl.java | 42 ++++++ 5 files changed, 199 insertions(+) create mode 100644 jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/entity/SysDataSource.java create mode 100644 jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/mapper/SysDataSourceMapper.java create mode 100644 jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/mapper/xml/SysDataSourceMapper.xml create mode 100644 jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/service/ISysDataSourceService.java create mode 100644 jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java diff --git a/jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/entity/SysDataSource.java b/jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/entity/SysDataSource.java new file mode 100644 index 0000000..ad34ea0 --- /dev/null +++ b/jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/entity/SysDataSource.java @@ -0,0 +1,120 @@ +package org.jeecg.modules.system.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * @Description: 多数据源管理 + * @Author: nbacheng + * @Date: 2019-12-25 + * @Version: V1.0 + */ +@Data +@TableName("sys_data_source") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "sys_data_source对象", description = "多数据源管理") +public class SysDataSource { + + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.String id; + /** + * 数据源编码 + */ + @Excel(name = "数据源编码", width = 15) + @ApiModelProperty(value = "数据源编码") + private java.lang.String code; + /** + * 数据源名称 + */ + @Excel(name = "数据源名称", width = 15) + @ApiModelProperty(value = "数据源名称") + private java.lang.String name; + /** + * 描述 + */ + @Excel(name = "备注", width = 15) + @ApiModelProperty(value = "备注") + private java.lang.String remark; + /** + * 数据库类型 + */ + @Dict(dicCode = "database_type") + @Excel(name = "数据库类型", width = 15, dicCode = "database_type") + @ApiModelProperty(value = "数据库类型") + private java.lang.String dbType; + /** + * 驱动类 + */ + @Excel(name = "驱动类", width = 15) + @ApiModelProperty(value = "驱动类") + private java.lang.String dbDriver; + /** + * 数据源地址 + */ + @Excel(name = "数据源地址", width = 15) + @ApiModelProperty(value = "数据源地址") + private java.lang.String dbUrl; + /** + * 数据库名称 + */ + @Excel(name = "数据库名称", width = 15) + @ApiModelProperty(value = "数据库名称") + private java.lang.String dbName; + /** + * 用户名 + */ + @Excel(name = "用户名", width = 15) + @ApiModelProperty(value = "用户名") + private java.lang.String dbUsername; + /** + * 密码 + */ + @Excel(name = "密码", width = 15) + @ApiModelProperty(value = "密码") + private java.lang.String dbPassword; + /** + * 创建人 + */ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + /** + * 创建日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + /** + * 更新人 + */ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + /** + * 更新日期 + */ + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + /** + * 所属部门 + */ + @Excel(name = "所属部门", width = 15) + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; +} diff --git a/jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/mapper/SysDataSourceMapper.java b/jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/mapper/SysDataSourceMapper.java new file mode 100644 index 0000000..4716f15 --- /dev/null +++ b/jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/mapper/SysDataSourceMapper.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.system.entity.SysDataSource; + +/** + * @Description: 多数据源管理 + * @Author: nbacheng + * @Date: 2019-12-25 + * @Version: V1.0 + */ +public interface SysDataSourceMapper extends BaseMapper { + +} diff --git a/jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/mapper/xml/SysDataSourceMapper.xml b/jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/mapper/xml/SysDataSourceMapper.xml new file mode 100644 index 0000000..e05c9e2 --- /dev/null +++ b/jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/mapper/xml/SysDataSourceMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/service/ISysDataSourceService.java b/jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/service/ISysDataSourceService.java new file mode 100644 index 0000000..be9dbac --- /dev/null +++ b/jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/service/ISysDataSourceService.java @@ -0,0 +1,18 @@ +package org.jeecg.modules.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.common.system.vo.DynamicDataSourceModel; +import org.jeecg.modules.system.entity.SysDataSource; + +/** + * @Description: 多数据源管理 + * @Author: nbacheng + * @Date: 2019-12-25 + * @Version: V1.0 + */ +public interface ISysDataSourceService extends IService { + + public DynamicDataSourceModel getDynamicDbSourceById(String dbSourceId) ; + + public DynamicDataSourceModel getDynamicDbSourceByCode(String dbSourceCode); +} diff --git a/jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java new file mode 100644 index 0000000..1c617dc --- /dev/null +++ b/jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java @@ -0,0 +1,42 @@ +package org.jeecg.modules.system.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang.StringUtils; +import org.jeecg.common.system.vo.DynamicDataSourceModel; +import org.jeecg.modules.system.entity.SysDataSource; +import org.jeecg.modules.system.mapper.SysDataSourceMapper; +import org.jeecg.modules.system.service.ISysDataSourceService; +import org.jeecg.modules.system.util.SecurityUtil; +import org.springframework.stereotype.Service; + +/** + * @Description: 多数据源管理 + * @Author: nbacheng + * @Date: 2019-12-25 + * @Version: V1.0 + */ +@Service +public class SysDataSourceServiceImpl extends ServiceImpl implements ISysDataSourceService { + + public DynamicDataSourceModel getDynamicDbSourceById(String dbSourceId) { + SysDataSource dbSource = getById(dbSourceId); + if (dbSource != null && StringUtils.isNotBlank(dbSource.getDbPassword())) { + String dbPassword = dbSource.getDbPassword(); + String decodedStr = SecurityUtil.jiemi(dbPassword); + dbSource.setDbPassword(decodedStr); + } + return new DynamicDataSourceModel(dbSource); + } + + public DynamicDataSourceModel getDynamicDbSourceByCode(String dbSourceCode) { + SysDataSource dbSource = getOne(new LambdaQueryWrapper().eq(SysDataSource::getCode, dbSourceCode)); + if (dbSource != null && StringUtils.isNotBlank(dbSource.getDbPassword())) { + String dbPassword = dbSource.getDbPassword(); + String decodedStr = SecurityUtil.jiemi(dbPassword); + dbSource.setDbPassword(decodedStr); + } + return new DynamicDataSourceModel(dbSource); + } + +} -- Gitee