diff --git a/.gitignore b/.gitignore index c5e7300ae5a430e86213f767af68e7e65ec4b3e7..1858967d63d50d343500577ef4f39a129c76386d 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ out/ ### VS Code ### .vscode/ /logs/ +/myhome/ 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 0000000000000000000000000000000000000000..517acc81fc6dfdb85daa724174367c047c73afca --- /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-api/pom.xml b/jiuyu-boot-base/jiuyu-boot-base-api/pom.xml index f53f6648c4ed61b9121753513f792ac235a0c0eb..71c0c8c6fa16987b4bc27529e47a134c3e909b84 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-core/pom.xml b/jiuyu-boot-base/jiuyu-boot-base-core/pom.xml index 06af7c1cf7b9095ac648aa7e3994922ee1428ab8..58a1d310bd84ec86ac09bfe69fa8e2983abce826 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-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 8c6d25f6193e5c9ecf8c1cfa96e20c6aac5492e7..0000000000000000000000000000000000000000 --- 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 1e625fc8b4c1f28e8bee554df4983e8a0a30fd78..0000000000000000000000000000000000000000 --- 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 b9acb912a03d3e9ac927899e7dfca63e8285373d..0000000000000000000000000000000000000000 --- 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 2b53e7852792a5e451977b0db9e541c9eaf586db..0000000000000000000000000000000000000000 --- 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 963c444fb1bec26c634e6dca93e7d4ca9494efe2..0000000000000000000000000000000000000000 --- 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 e6cd765003362e327c74cc34c019ecdea86a6525..0000000000000000000000000000000000000000 --- 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 3738c021974bea3a86ca641d74e77e99e2e5225d..0000000000000000000000000000000000000000 --- 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-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 1c28f13c8c76fdb9abae78461d61513cf3894a76..d2fec7b1a4961a58b4fd1164f301676525969279 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-boot-base/jiuyu-boot-base-groovy/pom.xml b/jiuyu-boot-base/jiuyu-boot-base-groovy/pom.xml index 5e6530e456d076669328fa57a78b442ce2a98e93..a8723f90a1f2bdee8cda7ee0dae161a0cc398e7f 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 37ce4a10729ba8a31278101085c88fe36c0fe19b..e3c1b7711e93b7b883abb08a766db144ce677cfd 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/FlowServiceImpl.java b/jiuyu-boot-base/jiuyu-boot-base-groovy/src/main/java/com/jiuyu/dynamicApi/service/impl/FlowServiceImpl.java index 43282dc126d5af5d408d47aabe14e014734d59f5..26748a36e39afb6c22217fc7d063ed218efe7765 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-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 8d45fa83d241d4df2745b9d1f3101dc5bee3f28e..743f49cfcd8a41d16cfb7c51c8d4f2a7414647e7 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 7ccc1cb18f75c2e3744cba8f54bc5db0f1892d81..e2653562a4fdd44d8ab58f8ba6c6b5b1be31d888 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 af89aef61ebbd5514bcc20fd415a9844d8427f04..c76d5971f6b6e2017c07a2ee041bbea4a0fbf173 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-module-system/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 similarity index 100% rename from jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/entity/SysDataSource.java rename to jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/entity/SysDataSource.java diff --git a/jiuyu-boot-module-system/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 similarity index 100% rename from jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/mapper/SysDataSourceMapper.java rename to jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/mapper/SysDataSourceMapper.java 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 0000000000000000000000000000000000000000..e05c9e2c885b905afee05c4524c9bff9f948cc1e --- /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-module-system/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 similarity index 60% rename from jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysDataSourceService.java rename to jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/service/ISysDataSourceService.java index a52b597d13bf2374cb36193eda39d819ba45670f..be9dbace30a867280284b1c7fb9510de5101ffc0 100644 --- a/jiuyu-boot-module-system/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 @@ -1,6 +1,7 @@ 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; /** @@ -11,4 +12,7 @@ import org.jeecg.modules.system.entity.SysDataSource; */ public interface ISysDataSourceService extends IService { + public DynamicDataSourceModel getDynamicDbSourceById(String dbSourceId) ; + + public DynamicDataSourceModel getDynamicDbSourceByCode(String dbSourceCode); } diff --git a/jiuyu-boot-module-system/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 similarity index 32% rename from jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java rename to jiuyu-boot-base/jiuyu-boot-base-modules/src/main/java/org/jeecg/modules/system/service/impl/SysDataSourceServiceImpl.java index eabf8c2de2ffda8b1f156d698d55a214b62ae1a4..1c617dc7d35ca21960c9cf5a446227ebf36a25cb 100644 --- a/jiuyu-boot-module-system/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 @@ -1,9 +1,13 @@ 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; /** @@ -15,4 +19,24 @@ import org.springframework.stereotype.Service; @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); + } + } 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 bcef5412bc618eb9f61e5374a05065a6ce645c69..62f1ed0230b229e176119c543acbfef128865e46 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 0000000000000000000000000000000000000000..1b16d99c170b2160b2df3444b2288a96491ce911 --- /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 2d175a4aedfc315d6d01319a847e50313716a40a..2dce5ee3584e0883e8ea05e8c9a4316546556735 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 8cfbec8c606e0a0b71737a61e78bffc2515c421b..e80acb54be6647eca3be5c4baf6a989e54d5ede2 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 @@ -109,7 +117,26 @@ 1.2.15 + + + org.springframework.boot + spring-boot-starter-quartz + + + + + 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 fb89140eedd19a0b18493c022a9d49aab9ed8ec7..1aa72528fbf9585f5e4d25fabbb8e475acbdd4f6 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,9 +22,11 @@ import java.net.UnknownHostException; /** * 单体启动类(采用此类启动为单体模式) */ +//@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 @@ -32,6 +35,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/controller/SysDataSourceController.java b/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/controller/SysDataSourceController.java index cc85f12db87ab8c988030931300f71c76d3bc5a6..73d9d3d3f8f081aa8679f1e16ccfa7b8e2d7b9b6 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/service/impl/SysBaseApiImpl.java b/jiuyu-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysBaseApiImpl.java index e813270378ec6f1667354aaa296c166dd01541b2..57b4bf446162140b408554d0bcdf7ca0849138ca 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 @@ -56,6 +56,7 @@ import java.util.*; */ @Slf4j @Service +//@DubboService(interfaceClass = ISysBaseAPI.class) public class SysBaseApiImpl implements ISysBaseAPI { /** * 当前系统数据库类型 @@ -94,7 +95,8 @@ public class SysBaseApiImpl implements ISysBaseAPI { private SysPermissionMapper sysPermissionMapper; @Autowired private ISysPermissionDataRuleService sysPermissionDataRuleService; - + @Autowired + private ISysDataSourceService sysDataSourceService; @Autowired private ThirdAppWechatEnterpriseServiceImpl wechatEnterpriseService; @Autowired @@ -686,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/resources/application-dev.yml b/jiuyu-boot-module-system/src/main/resources/application-dev.yml index 8e36ff9173af965d0b224a888679b0aa1c5273b9..316a135c783b497e15d3dc03b31f227bc5573745 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 @@ -271,6 +271,13 @@ cas: logging: level: org.jeecg.modules.system.mapper: info + springfox: + documentation: + spring: + web: + readers: + operation: + CachingOperationNameGenerator: warn #swagger knife4j: #开启增强配置 @@ -338,4 +345,22 @@ 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 + 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 0000000000000000000000000000000000000000..4ffc19ea07d4a825d70d84ad776db729cc1061b5 --- /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-demo/jiuyu-boot-module-demo/pom.xml b/jiuyu-module-demo/jiuyu-boot-module-demo/pom.xml index be1998181bc427dd1f968a91718b58678c55caf6..5f545d3cc8a0a9f8fc879fa007d08792086f395d 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/jiuyu-module-floweda/flow-eda-logger/src/main/resources/application.yaml b/jiuyu-module-floweda/flow-eda-logger/src/main/resources/application.yaml index 5a0f229ac0ceeeb81a33288ba12007202dcfc871..b9f1e9742d8e4d28786b46bb8872e8f97555d12a 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 573643c6d6366156beada9f69663247b56cebcdc..ab3d8ef3ea828371d486a750e36a3db7244f4e49 100644 --- a/jiuyu-module-floweda/flow-eda-runner/pom.xml +++ b/jiuyu-module-floweda/flow-eda-runner/pom.xml @@ -25,6 +25,19 @@ 3.0 + + com.jiuyu.boot + jiuyu-system-local-api + 3.0 + + + + com.jiuyu.boot + jiuyu-boot-base-modules + 3.0 + + + org.springframework.boot spring-boot-starter-test @@ -78,5 +91,12 @@ org.quartz-scheduler quartz + + + 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 b90108a1740ea95d06c9734f55efe3ef3686955b..86202ef5b9f88ef5f8932a2c7aa52d63125b8422 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 new file mode 100644 index 0000000000000000000000000000000000000000..48edbbd496e7b55e86cd075c37ee3f93a50bdd33 --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/data/JiuyuBaseService.java @@ -0,0 +1,22 @@ +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;*/ + @Autowired + private ISysDataSourceService sysDataSourceService; + + public DynamicDataSourceModel getDynamicDbSourceByCode(String code){ + DynamicDataSourceModel model = sysDataSourceService.getDynamicDbSourceByCode(code); + return model; + } +} 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 58237e674921d7e80f45c0d4f9b580388fed0923..f026d31e0374f3a590533b4216f9a36757aeb821 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 0000000000000000000000000000000000000000..81b43e6b883c420f0d4a9ec234c24ec516d7345f --- /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/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 0000000000000000000000000000000000000000..63d44c7810257431db3daf5d9203bf9809e7f99e --- /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 0000000000000000000000000000000000000000..afbdc9a40eaecf97db31206d0eabbb5b3297adee --- /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/dataloader/RdbTableInputNode.java b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableInputNode.java index 851f7ef955cb65d7d5f7583f0ca5d7ad3d3870eb..f4dc32367089c05ad98567d9583cd41508e1abbf 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,64 @@ package com.flow.eda.runner.node.etl.dataloader; -import com.flow.eda.common.exception.FlowException; +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.fastjson.JSON; +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.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.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 , oracle - private String dbType ; - private String url; - private String username; - private String password; + // 数据库类型 mysql=2 , oracle=1 + private String dbType; + private String dbKey; private String sql; - // 单次抽取数据量大小 - private String batchSize ; + // 总条数 + private int totalCount; + + // 单个线程处理分页量 + private int pageSize ; + // 当前第几页 + private int pageNo; + + // 执行线程数 + private int threadCount; + // 总共多少页,每页对应一个线程 + private int pageCount; // 增量字段,如 创建时间 private String increaseField; + // + JdbcTemplate jdbcTemplate; + // 动态数据源 + DruidDataSource ds ; + DynamicDataSourceModel dynamicDataSourceModel; + // 字段元数据 + DataSetMeta dataSetMeta; + + Document document ; + List result = new ArrayList<>();//返回结果 public RdbTableInputNode(Document params) { @@ -36,137 +68,148 @@ 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) { - } - } + //使一个线程等待其他线程各自执行完毕后再执行 + List> tasks = new ArrayList>();//添加任务 + + 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; } - } - - /** 执行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); + //定义固定长度的线程池 防止线程过多 + 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); + end.await(); + execservice.shutdown(); // 关闭线程池 + } catch (Exception e) { + e.printStackTrace(); } - - // 关闭statement - resultSet.close(); - statement.close(); - - // 返回结果 - Object resData; - if (list.isEmpty()) { - resData = "{}"; - } else if (list.size() == 1) { - resData = list.get(0); - } else { - resData = list; + log.info("多线程查询完成 .... result.size = {} ", result.size()); + 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 result = new Document(); - result.append("resData" , resData).append("columns" , tableColumns) ; - return result; - } + 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); + 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"); - + this.document = new Document(); 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") && !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.get("pageSize")+"") ; + } + + if (!params.containsKey("threadCount")) { + this.threadCount = 10; + } else { + this.threadCount = Integer.parseInt(params.get("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); + 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 (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_next")) { + this.pageNo = 1; + } else { + 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 new file mode 100644 index 0000000000000000000000000000000000000000..e1c61db460bc883b42544b9df93d05465ac978f6 --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/RdbTableOutputNode.java @@ -0,0 +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 { + + + 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); + // 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_dbkey = params.getString("output_dbkey"); + NodeVerify.notNull(output_dbkey, "output_dbkey"); + + output_dbType = params.getString("output_dbType"); + NodeVerify.notNull(output_dbType, "output_dbType"); + + this.ds = DynamicDBUtil.getDbSourceByDbKey(output_dbkey); + + 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(); + } + } + + } + + +} 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 0000000000000000000000000000000000000000..f1c43cf7da22f1c1ad1f0672d78d7e19436fd621 --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThreadWrite.java @@ -0,0 +1,153 @@ +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(" ) "); + 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 new file mode 100644 index 0000000000000000000000000000000000000000..5ca159d6ee4aabe5983928fa490910a1b4a03f34 --- /dev/null +++ b/jiuyu-module-floweda/flow-eda-runner/src/main/java/com/flow/eda/runner/node/etl/dataloader/ThredQuery.java @@ -0,0 +1,52 @@ +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; +import java.util.concurrent.CountDownLatch; + +@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 + private CountDownLatch end ; + + 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; + this.totalCount = totalCount; + this.dbType = dbType; + this.ds_key = ds_key; + this.sql_str = sql_str; + this.end = end ; + } + + @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); + 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/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 5791e6e15c6dc8109473ddaea998e75243bdd2dd..0000000000000000000000000000000000000000 --- 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 46a8b0143bb71509aab66c4dbdb36daa52db5fe5..84d98e18acd245792961cb18156f643d8f06c5d2 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); + } + } + }); + }); + } + } 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 3bf32822338d67f9bd5eac90b8815aff8f535dee..9fcd5a803ffc3a919ca475ca6e92d0a573853006 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(); } } @@ -121,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-runner/src/main/resources/application.yaml b/jiuyu-module-floweda/flow-eda-runner/src/main/resources/application.yaml index 8a29cdafb0873f9d278f1678548073f107621039..8ea19d7471a1fceedc5039159769b71fb82b510b 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 : @@ -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 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 0000000000000000000000000000000000000000..29c5ef295d177d950e5b0e85265c2b2d2517e742 --- /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/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 fbf0166378abe1b1d41a156450fc7d1b3a4f3802..4e572b60eac247b7996e4c00159f73387c552883 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); 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 0000000000000000000000000000000000000000..831ea732f1978d60cda1956ae46a3087d8b73e54 --- /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 0000000000000000000000000000000000000000..16628ab2f15fb1ca8fdc38143a6f73089a7043dc --- /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 0000000000000000000000000000000000000000..4ef6997589521ce4a43d6d494e3ddd3481e5306c --- /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 714d5835424df1488b0adc632a05c4aa1e899687..42af2bedc8d45334eca4b461db2048992ed7448a 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: @@ -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: diff --git a/pom.xml b/pom.xml index 55d751f24c3b00e7deaf19443450d846065dcc03..fbc5786f4f9b1d842fd145983ad956f9f0850cda 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 - +