diff --git a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/baseData.vue b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/baseData.vue index 2c28cee42900725e2239b24b42ba08d79a046c80..a54b0509d4b047968e06b5ea4c381f28856dd192 100644 --- a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/baseData.vue +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/baseData.vue @@ -4,15 +4,15 @@ + filterable + clearable + v-model="queryForm.domainCode" + placeholder="请选择域"> + v-for="item in domainOptions" + :key="item.value" + :label="item.label" + :value="item.value"> @@ -28,84 +28,85 @@ + :header-cell-style="{background:'#eef1f6',color:'#606266'}" + :data="pageResult.data" + border + :default-sort="{prop: 'updateTime', order: 'descending'}" + style="width: 100%; margin-top: 20px;font-size: 10px"> + align="center" + prop="domainName" + label="域名称"> + align="center" + prop="domainCode" + label="域Code"> + align="center" + prop="fieldName" + label="基础数据名称"> + align="center" + prop="desc" + label="描述"> + align="center" + label="数据类型"> + align="center" + label="脚本执行类型"> + align="center" + label="脚本执行返回类型"> + align="center" + label="是否有效"> + sortable + align="center" + width="300" + label="创建/修改时间"> + fixed="right" + align="center" + width="200" + label="操作"> diff --git a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/dataSource.vue b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/dataSource.vue index edc9ea3923cb0ec683e49ef4b6a11b8a340f0dcf..7e27b7f7e3cf498fd55160d23af831e4f2f79db7 100644 --- a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/dataSource.vue +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/dataSource.vue @@ -102,7 +102,8 @@ 启用 禁用 - 删除 + + diff --git a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/domain.vue b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/domain.vue index f83786014dc666608f615f672109b439c8ebf9c9..1e2a7c6ba7c918e0eeb3109fc5fcfb222ab85359 100644 --- a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/domain.vue +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/domain.vue @@ -21,48 +21,48 @@ + :header-cell-style="{background:'#eef1f6',color:'#606266'}" + :data="pageResult.data" + border + :default-sort="{prop: 'updateTime', order: 'descending'}" + style="width: 100%; margin-top: 20px;font-size: 10px"> + align="center" + prop="domainName" + label="域名称"> + align="center" + prop="domainCode" + label="域Code"> + align="center" + prop="desc" + label="描述"> + align="center" + label="是否有效"> + sortable + align="center" + width="300" + label="创建/修改时间"> + fixed="right" + align="center" + width="200" + label="操作"> diff --git a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/metadata.vue b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/metadata.vue index 7638534736605d8a8df3380e45e3016d3ef8f4ba..fcc1d319243722155d96ac16bad796a102e40396 100644 --- a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/metadata.vue +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/metadata.vue @@ -85,7 +85,8 @@ 启用 禁用 - 删除 + + diff --git a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/strategy.vue b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/strategy.vue index a5a8ebc3a2ecb658fd0b1537c5279aee437ce52a..a8fe0617406ba41d2f9ef9c38d057ded7f681d29 100644 --- a/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/strategy.vue +++ b/rec-admin/rec-admin-views/src/main/resources/vueboot/src/views/ruleConfig/strategy.vue @@ -113,7 +113,8 @@ 启用 禁用 - 删除 + + diff --git a/rec-common/src/main/java/cn/icanci/rec/common/Symbol.java b/rec-common/src/main/java/cn/icanci/rec/common/Symbol.java deleted file mode 100644 index 2abf3913b91584842efd87c0fa0ab152bae5580e..0000000000000000000000000000000000000000 --- a/rec-common/src/main/java/cn/icanci/rec/common/Symbol.java +++ /dev/null @@ -1,13 +0,0 @@ -package cn.icanci.rec.common; - -/** - * @author icanci(1205068) - * @version Id: Symbol, v 0.1 2022/10/29 21:12 icanci Exp $ - */ -public class Symbol { - public static final String AMPERSAND = "&"; - - public static final String SEMICOLON = ";"; - - public static final String COLON = ":"; -} \ No newline at end of file diff --git a/rec-common/src/main/java/cn/icanci/rec/common/aggregation/RuleAggregation.java b/rec-common/src/main/java/cn/icanci/rec/common/aggregation/RuleAggregation.java deleted file mode 100644 index dcf37016a9effba4817726196cc279929d3d581d..0000000000000000000000000000000000000000 --- a/rec-common/src/main/java/cn/icanci/rec/common/aggregation/RuleAggregation.java +++ /dev/null @@ -1,101 +0,0 @@ -package cn.icanci.rec.common.aggregation; - -import cn.icanci.rec.common.aggregation.model.*; - -import java.util.List; -import java.util.Objects; -import java.util.StringJoiner; - -/** - * 规则聚合-单个规则需要的配置数据信息 - * - * 如果需要数据迁移,可以使用此模型 - * - * @author icanci - * @since 1.0 Created in 2022/11/15 15:44 - */ -@Deprecated -public class RuleAggregation { - /** 域 */ - private DomainDTO domain; - /** 场景 */ - private SceneDTO.ScenePair scenePair; - /** 基础数据 */ - private List baseDatas; - /** 元数据 */ - private List metadatas; - /** 数据源 */ - private DataSourceDTO dataSource; - /** 策略 */ - private StrategyDTO strategy; - - public DomainDTO getDomain() { - return domain; - } - - public void setDomain(DomainDTO domain) { - this.domain = domain; - } - - public SceneDTO.ScenePair getScenePair() { - return scenePair; - } - - public void setScenePair(SceneDTO.ScenePair scenePair) { - this.scenePair = scenePair; - } - - public List getBaseDatas() { - return baseDatas; - } - - public void setBaseDatas(List baseDatas) { - this.baseDatas = baseDatas; - } - - public List getMetadatas() { - return metadatas; - } - - public void setMetadatas(List metadatas) { - this.metadatas = metadatas; - } - - public DataSourceDTO getDataSource() { - return dataSource; - } - - public void setDataSource(DataSourceDTO dataSource) { - this.dataSource = dataSource; - } - - public StrategyDTO getStrategy() { - return strategy; - } - - public void setStrategy(StrategyDTO strategy) { - this.strategy = strategy; - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - RuleAggregation that = (RuleAggregation) o; - return Objects.equals(domain, that.domain) && Objects.equals(scenePair, that.scenePair) && Objects.equals(baseDatas, that.baseDatas) - && Objects.equals(metadatas, that.metadatas) && Objects.equals(dataSource, that.dataSource) && Objects.equals(strategy, that.strategy); - } - - @Override - public int hashCode() { - return Objects.hash(domain, scenePair, baseDatas, metadatas, dataSource, strategy); - } - - @Override - public String toString() { - return new StringJoiner(",").add("domain=" + domain).add("scenePair=" + scenePair).add("baseDatas=" + baseDatas).add("metadatas=" + metadatas) - .add("dataSource=" + dataSource).add("strategy=" + strategy).toString(); - } -} diff --git a/rec-common/src/main/java/cn/icanci/rec/common/aggregation/package-info.java b/rec-common/src/main/java/cn/icanci/rec/common/aggregation/package-info.java deleted file mode 100644 index 61ab2148fe4b8efc8fe38389249be5505195af5a..0000000000000000000000000000000000000000 --- a/rec-common/src/main/java/cn/icanci/rec/common/aggregation/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -/** - * 推送聚合模型 - * - * @author icanci - * @since 1.0 Created in 2022/11/15 15:37 - */ -package cn.icanci.rec.common.aggregation; \ No newline at end of file diff --git a/rec-common/src/main/java/cn/icanci/rec/common/utils/DateUtils.java b/rec-common/src/main/java/cn/icanci/rec/common/utils/DateUtils.java index 9eccbae1b16d919fca5c535092932b956ad87d1a..b5119a16b35ae5db3cc062e1f2047c6d50068c05 100644 --- a/rec-common/src/main/java/cn/icanci/rec/common/utils/DateUtils.java +++ b/rec-common/src/main/java/cn/icanci/rec/common/utils/DateUtils.java @@ -8,7 +8,6 @@ import org.apache.commons.lang3.StringUtils; /** * 时间工具类 - * 解决问题:因日期转换时会频繁创建format且format存在线程安全问题,故此处采用线程复用机制,复用format * * @author icanci * @since 1.0 Created in 2022/11/16 23:06 diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/context/RecRuleEngineConfigHolder.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/context/RecRuleEngineConfigHolder.java deleted file mode 100644 index f26ea00ff1859aa4a2f8212cc0bc9efe21ab9a44..0000000000000000000000000000000000000000 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/context/RecRuleEngineConfigHolder.java +++ /dev/null @@ -1,11 +0,0 @@ -package cn.icanci.rec.engine.sdk.context; - -/** - * TODO 规则引擎上下文配置信息 - * - * @author icanci - * @since 1.0 Created in 2022/11/13 15:31 - */ -public class RecRuleEngineConfigHolder { - -} diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/context/RecRuleEngineContext.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/context/RecRuleEngineContext.java deleted file mode 100644 index ae42f16edd040ccf1a14b19c3dbac40713eb54a7..0000000000000000000000000000000000000000 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/context/RecRuleEngineContext.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.icanci.rec.engine.sdk.context; - -/** - * TODO 规则引擎上下文信息 - * - * @author icanci - * @since 1.0 Created in 2022/11/13 15:31 - */ -public class RecRuleEngineContext { - // 域、场景、策略、元数据 - private String domainName; - private String domainCode; - private String sceneName; - private String sceneCode; - private String strategyName; - // 执行日志等等 - -} diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/RuleAggregationCluster.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/RuleAggregationCluster.java deleted file mode 100644 index 751e7ac16f77caea00bc955ef5c4973433ba1bb4..0000000000000000000000000000000000000000 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/RuleAggregationCluster.java +++ /dev/null @@ -1,32 +0,0 @@ -package cn.icanci.rec.engine.sdk.rule; - -import cn.icanci.rec.common.aggregation.RuleAggregation; -import cn.icanci.rec.engine.sdk.rule.runtime.RuleAggregationCompiled; - -/** - * 规则聚合簇,此方法暂不实现 - * - * @author icanci - * @since 1.0 Created in 2022/11/15 15:32 - */ -@Deprecated -public interface RuleAggregationCluster { - - /** - * 根据DomainCode构建聚合,一个聚合为一个规则构建与执行单元 - * - * @param domainCode domainCode - * @param sceneCode 场景Code - * @return 返回构建的聚合 - */ - RuleAggregation buildAgg(String domainCode, String sceneCode); - - /** - * 根据DomainCode构建编译之后的聚合,一个聚合为一个规则构建与执行单元 - * - * @param domainCode domainCode - * @param sceneCode 场景Code - * @return 返回编译之后的聚合 - */ - RuleAggregationCompiled compileAgg(String domainCode, String sceneCode); -} diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/impl/RuleAggregationClusterImpl.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/impl/RuleAggregationClusterImpl.java deleted file mode 100644 index b6470803358bcc8fd2d373c14f9d41ca09da05da..0000000000000000000000000000000000000000 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/impl/RuleAggregationClusterImpl.java +++ /dev/null @@ -1,56 +0,0 @@ -package cn.icanci.rec.engine.sdk.rule.impl; - -import cn.icanci.rec.common.aggregation.RuleAggregation; -import cn.icanci.rec.engine.script.RecScriptEngine; -import cn.icanci.rec.engine.sdk.exception.RuleAggregationException; -import cn.icanci.rec.engine.sdk.rule.RuleAggregationCluster; -import cn.icanci.rec.engine.sdk.rule.repository.AggregationRepositoryHolder; -import cn.icanci.rec.engine.sdk.rule.runtime.RuleAggregationCompiled; - -/** - * @author icanci - * @since 1.0 Created in 2022/11/15 15:36 - */ -@Deprecated -public class RuleAggregationClusterImpl implements RuleAggregationCluster { - - /** 仓储的实现类 */ - private AggregationRepositoryHolder holder; - - /** 编译执行引擎 */ - private RecScriptEngine engine; - - public RuleAggregationClusterImpl(AggregationRepositoryHolder engineRepositoryHolder, RecScriptEngine engine) { - this.holder = engineRepositoryHolder; - this.engine = engine; - } - - @Override - public RuleAggregation buildAgg(String domainCode, String sceneCode) { - try { - RuleAggregation aggregation = new RuleAggregation(); - aggregation.setDomain(holder.loadDomain(domainCode)); - aggregation.setScenePair(holder.loadScenePair(domainCode, sceneCode)); - aggregation.setBaseDatas(holder.loadBaseDatas(domainCode)); - aggregation.setMetadatas(holder.loadMetadatas(domainCode)); - aggregation.setDataSource(holder.loadDataSource(domainCode, sceneCode)); - aggregation.setStrategy(holder.loadStrategy(domainCode, sceneCode)); - return aggregation; - } catch (Throwable e) { - return null; - } - } - - @Override - public RuleAggregationCompiled compileAgg(String domainCode, String sceneCode) { - try { - RuleAggregation agg = buildAgg(domainCode, sceneCode); - if (agg == null) { - throw new RuleAggregationException("Build RuleAggregation by domainCode: " + domainCode + " result is Null! Compilation failed!"); - } - return null; - } catch (Throwable e) { - throw new RuleAggregationException(e); - } - } -} diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/mapper/package-info.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/mapper/package-info.java deleted file mode 100644 index 2b1a9a5c6acb591b29d515ca1b09c31de9845d63..0000000000000000000000000000000000000000 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/mapper/package-info.java +++ /dev/null @@ -1,5 +0,0 @@ -/** - * @author icanci - * @since 1.0 Created in 2022/11/17 23:17 - */ -package cn.icanci.rec.engine.sdk.rule.mapper; \ No newline at end of file diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/repository/AggregationRepositoryHolder.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/repository/AggregationRepositoryHolder.java deleted file mode 100644 index 9466bfbed2fee6ebf093f3f43621b641ce5611d4..0000000000000000000000000000000000000000 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/repository/AggregationRepositoryHolder.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.icanci.rec.engine.sdk.rule.repository; - -import java.util.List; - -import cn.icanci.rec.common.aggregation.model.*; -import cn.icanci.rec.engine.sdk.rule.runtime.RuleAggregationCompiled; - -/** - * @author icanci - * @since 1.0 Created in 2022/11/16 08:51 - */ -@Deprecated -public class AggregationRepositoryHolder { - - public DomainDTO loadDomain(String domainCode) { - return null; - } - - public SceneDTO.ScenePair loadScenePair(String domainCode, String sceneCode) { - return null; - } - - public List loadBaseDatas(String domainCode) { - return null; - } - - public List loadMetadatas(String domainCode) { - return null; - } - - public DataSourceDTO loadDataSource(String domainCode, String sceneCode) { - return null; - } - - public StrategyDTO loadStrategy(String domainCode, String sceneCode) { - return null; - } - - public RuleAggregationCompiled loadRuleAggregationCompiled(String domainCode, String sceneCode) { - return null; - } -} diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/BaseCompiled.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/BaseCompiled.java deleted file mode 100644 index 01fcae4aa2b21d835700041dd422f5488f85d0f9..0000000000000000000000000000000000000000 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/BaseCompiled.java +++ /dev/null @@ -1,100 +0,0 @@ -package cn.icanci.rec.engine.sdk.rule.runtime; - -import java.util.Date; - -/** - * @author icanci - * @since 1.0 Created in 2022/11/15 19:13 - */ -public class BaseCompiled { - /** - * 文档id - */ - private String id; - - /** - * 雪花算法随机UUID - */ - private String uuid; - - /** - * 功能描述 - */ - private String desc; - - /** - * 创建时间 - */ - private Date createTime; - - /** - * 更新时间 - */ - private Date updateTime; - - /** - * 状态 0有效,1无效 - */ - private int isDelete; - - /** - * 环境 - */ - private String env; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getUuid() { - return uuid; - } - - public void setUuid(String uuid) { - this.uuid = uuid; - } - - public String getDesc() { - return desc; - } - - public void setDesc(String desc) { - this.desc = desc; - } - - public Date getCreateTime() { - return createTime; - } - - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - public Date getUpdateTime() { - return updateTime; - } - - public void setUpdateTime(Date updateTime) { - this.updateTime = updateTime; - } - - public int getIsDelete() { - return isDelete; - } - - public void setIsDelete(int isDelete) { - this.isDelete = isDelete; - } - - public String getEnv() { - return env; - } - - public void setEnv(String env) { - this.env = env; - } -} diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/BaseDataCompiled.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/BaseDataCompiled.java deleted file mode 100644 index dac3f80aabd2e1393202e10bddb816059b9303a4..0000000000000000000000000000000000000000 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/BaseDataCompiled.java +++ /dev/null @@ -1,131 +0,0 @@ -package cn.icanci.rec.engine.sdk.rule.runtime; - -import cn.icanci.rec.common.enums.DataTypeEnum; -import cn.icanci.rec.common.enums.ResultTypeEnum; -import cn.icanci.rec.common.enums.ScriptTypeEnum; - -import javax.script.CompiledScript; -import javax.script.ScriptEngine; - -/** - * @author icanci - * @since 1.0 Created in 2022/11/15 22:34 - */ -public class BaseDataCompiled extends BaseCompiled { - /** - * 域Code - */ - private String domainCode; - /** - * 基础数据名称 - */ - private String fieldName; - /** - * 数据类型(布尔、字符串、数值、日期、元数据等) - * - * @see DataTypeEnum#name() - */ - private String dataType; - /** - * 关联的元数据uuid - * - * {@link DataTypeEnum#METADATA} - */ - private String metadataUuid; - /** - * 脚本执行类型 - * - * @see ScriptTypeEnum#name() - */ - private String scriptType; - /** - * 脚本内容 - */ - private String scriptContent; - /** - * 脚本执行返回类型(只能是基本数据类型) - * - * @see ResultTypeEnum#name() - */ - private String resultType; - /** - * 脚本执行引擎 - */ - private transient ScriptEngine scriptEngine; - /** - * 通过 Compilable 编译 scriptContent 之后的实例对象 - */ - private transient CompiledScript compiledScript; - - public String getDomainCode() { - return domainCode; - } - - public void setDomainCode(String domainCode) { - this.domainCode = domainCode; - } - - public String getFieldName() { - return fieldName; - } - - public void setFieldName(String fieldName) { - this.fieldName = fieldName; - } - - public String getDataType() { - return dataType; - } - - public void setDataType(String dataType) { - this.dataType = dataType; - } - - public String getMetadataUuid() { - return metadataUuid; - } - - public void setMetadataUuid(String metadataUuid) { - this.metadataUuid = metadataUuid; - } - - public String getScriptType() { - return scriptType; - } - - public void setScriptType(String scriptType) { - this.scriptType = scriptType; - } - - public String getScriptContent() { - return scriptContent; - } - - public void setScriptContent(String scriptContent) { - this.scriptContent = scriptContent; - } - - public String getResultType() { - return resultType; - } - - public void setResultType(String resultType) { - this.resultType = resultType; - } - - public ScriptEngine getScriptEngine() { - return scriptEngine; - } - - public void setScriptEngine(ScriptEngine scriptEngine) { - this.scriptEngine = scriptEngine; - } - - public CompiledScript getCompiledScript() { - return compiledScript; - } - - public void setCompiledScript(CompiledScript compiledScript) { - this.compiledScript = compiledScript; - } -} diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/DataSourceCompiled.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/DataSourceCompiled.java deleted file mode 100644 index bb2dd6790b4e9b07113f7922414029aae0267f60..0000000000000000000000000000000000000000 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/DataSourceCompiled.java +++ /dev/null @@ -1,255 +0,0 @@ -package cn.icanci.rec.engine.sdk.rule.runtime; - -import cn.icanci.rec.common.enums.DataSourceTypeEnum; -import cn.icanci.rec.common.enums.HttpRequestTypeEnum; -import cn.icanci.rec.common.enums.ScriptTypeEnum; - -import javax.script.CompiledScript; -import javax.script.ScriptEngine; - -/** - * @author icanci - * @since 1.0 Created in 2022/11/15 22:37 - */ -public class DataSourceCompiled extends BaseCompiled { - /** - * 域Code - */ - private String domainCode; - /** - * 数据源名称 - */ - private String dataSourceName; - /** - * 数据源类型 - * @see DataSourceTypeEnum @name() - */ - private String dataSourceType; - /** - * 数据源为脚本的执行数据集 - */ - private ScriptInfo scriptInfo; - /** - * 数据源为HTTP的执行数据集 - */ - private HttpInfo httpInfo; - /** - * 数据源为SQL的执行数据集 - */ - private SqlInfo sqlInfo; - - /** - * 数据源为脚本的执行数据集 - */ - public static class ScriptInfo { - /** - * 脚本执行类型 - * - * @see ScriptTypeEnum#name() - * - */ - private String scriptType; - /** - * 脚本内容 - */ - private String scriptContent; - - /** - * 执行超时时间,秒 - * 为0则不做限制 - */ - private int timeout; - - /** - * 脚本执行引擎 - */ - private transient ScriptEngine scriptEngine; - - /** - * 通过 Compilable 编译 scriptContent 之后的实例对象 - */ - private transient CompiledScript compiledScript; - - public String getScriptType() { - return scriptType; - } - - public void setScriptType(String scriptType) { - this.scriptType = scriptType; - } - - public String getScriptContent() { - return scriptContent; - } - - public void setScriptContent(String scriptContent) { - this.scriptContent = scriptContent; - } - - public int getTimeout() { - return timeout; - } - - public void setTimeout(int timeout) { - this.timeout = timeout; - } - - public ScriptEngine getScriptEngine() { - return scriptEngine; - } - - public void setScriptEngine(ScriptEngine scriptEngine) { - this.scriptEngine = scriptEngine; - } - - public CompiledScript getCompiledScript() { - return compiledScript; - } - - public void setCompiledScript(CompiledScript compiledScript) { - this.compiledScript = compiledScript; - } - } - - /** - * 数据源为HTTP的执行数据集 - */ - public static class HttpInfo { - /** - * 请求数据类型 - * - * @see HttpRequestTypeEnum#name() - */ - private String httpRequestType; - /** - * 请求接口 - */ - private String reqUrl; - /** - * 请求参数 - * - * @see HttpRequestTypeEnum#POST 时有效 - */ - private String reqParam; - - /** - * 请求超时时间,秒 - * 为0则不做限制,则最大超时时间为5s - */ - private int timeout; - - public String getHttpRequestType() { - return httpRequestType; - } - - public void setHttpRequestType(String httpRequestType) { - this.httpRequestType = httpRequestType; - } - - public String getReqUrl() { - return reqUrl; - } - - public void setReqUrl(String reqUrl) { - this.reqUrl = reqUrl; - } - - public String getReqParam() { - return reqParam; - } - - public void setReqParam(String reqParam) { - this.reqParam = reqParam; - } - - public int getTimeout() { - return timeout; - } - - public void setTimeout(int timeout) { - this.timeout = timeout; - } - } - - /** - * 数据源为SQL的执行数据集 - */ - public static class SqlInfo { - /** - * SQL 语句,只支持查询语句 - * - * 查询默认数据库 rec_ext - */ - private String sql; - - /** - * 执行超时时间,秒 - * 为0则不作限制 - */ - private int timeout; - - public String getSql() { - return sql; - } - - public void setSql(String sql) { - this.sql = sql; - } - - public int getTimeout() { - return timeout; - } - - public void setTimeout(int timeout) { - this.timeout = timeout; - } - } - - public String getDomainCode() { - return domainCode; - } - - public void setDomainCode(String domainCode) { - this.domainCode = domainCode; - } - - public String getDataSourceName() { - return dataSourceName; - } - - public void setDataSourceName(String dataSourceName) { - this.dataSourceName = dataSourceName; - } - - public String getDataSourceType() { - return dataSourceType; - } - - public void setDataSourceType(String dataSourceType) { - this.dataSourceType = dataSourceType; - } - - public ScriptInfo getScriptInfo() { - return scriptInfo; - } - - public void setScriptInfo(ScriptInfo scriptInfo) { - this.scriptInfo = scriptInfo; - } - - public HttpInfo getHttpInfo() { - return httpInfo; - } - - public void setHttpInfo(HttpInfo httpInfo) { - this.httpInfo = httpInfo; - } - - public SqlInfo getSqlInfo() { - return sqlInfo; - } - - public void setSqlInfo(SqlInfo sqlInfo) { - this.sqlInfo = sqlInfo; - } -} diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/DomainCompiled.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/DomainCompiled.java deleted file mode 100644 index 5031a4b73d73c9401789514dfa664dcded7343be..0000000000000000000000000000000000000000 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/DomainCompiled.java +++ /dev/null @@ -1,34 +0,0 @@ -package cn.icanci.rec.engine.sdk.rule.runtime; - -/** - * 域运行时对象 - * - * @author icanci - * @since 1.0 Created in 2022/11/15 19:12 - */ -public class DomainCompiled extends BaseCompiled { - /** - * 域名称 - */ - private String domainName; - /** - * 域Code - */ - private String domainCode; - - public String getDomainName() { - return domainName; - } - - public void setDomainName(String domainName) { - this.domainName = domainName; - } - - public String getDomainCode() { - return domainCode; - } - - public void setDomainCode(String domainCode) { - this.domainCode = domainCode; - } -} diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/MetadataCompiled.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/MetadataCompiled.java deleted file mode 100644 index f42e60ad1ff41651ca2910340c26e21a299eb285..0000000000000000000000000000000000000000 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/MetadataCompiled.java +++ /dev/null @@ -1,76 +0,0 @@ -package cn.icanci.rec.engine.sdk.rule.runtime; - -import java.util.List; - -/** - * @author icanci - * @since 1.0 Created in 2022/11/15 22:38 - */ -public class MetadataCompiled extends BaseCompiled { - /** - * 域Code - */ - private String domainCode; - /** - * 元数据名称 - */ - private String metadataName; - /** - * 元数据对 - */ - private List metadataPairs; - - public String getDomainCode() { - return domainCode; - } - - public void setDomainCode(String domainCode) { - this.domainCode = domainCode; - } - - public String getMetadataName() { - return metadataName; - } - - public void setMetadataName(String metadataName) { - this.metadataName = metadataName; - } - - public List getMetadataPairs() { - return metadataPairs; - } - - public void setMetadataPairs(List metadataPairs) { - this.metadataPairs = metadataPairs; - } - - /** - * 元数据对 - */ - public static class MetadataPair { - /** - * key - */ - private String key; - /** - * value - */ - private String value; - - public String getKey() { - return key; - } - - public void setKey(String key) { - this.key = key; - } - - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } - } -} diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/RuleAggregationCompiled.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/RuleAggregationCompiled.java deleted file mode 100644 index cd22a878e3423dc3f109dfe93c5d187770fe14ca..0000000000000000000000000000000000000000 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/RuleAggregationCompiled.java +++ /dev/null @@ -1,95 +0,0 @@ -package cn.icanci.rec.engine.sdk.rule.runtime; - -import java.util.Objects; -import java.util.StringJoiner; - -/** - * 规则运行时编译数据 - * - * @author icanci - * @since 1.0 Created in 2022/11/15 19:00 - */ -public class RuleAggregationCompiled { - /** 域 */ - private DomainCompiled domain; - /** 基础数据 */ - private BaseDataCompiled baseData; - /** 元数据 */ - private MetadataCompiled metadata; - /** 数据源 */ - private DataSourceCompiled dataSource; - /** 场景 */ - private SceneCompiled scene; - /** 策略 */ - private StrategyCompiled strategy; - - public DomainCompiled getDomain() { - return domain; - } - - public void setDomain(DomainCompiled domain) { - this.domain = domain; - } - - public BaseDataCompiled getBaseData() { - return baseData; - } - - public void setBaseData(BaseDataCompiled baseData) { - this.baseData = baseData; - } - - public MetadataCompiled getMetadata() { - return metadata; - } - - public void setMetadata(MetadataCompiled metadata) { - this.metadata = metadata; - } - - public DataSourceCompiled getDataSource() { - return dataSource; - } - - public void setDataSource(DataSourceCompiled dataSource) { - this.dataSource = dataSource; - } - - public SceneCompiled getScene() { - return scene; - } - - public void setScene(SceneCompiled scene) { - this.scene = scene; - } - - public StrategyCompiled getStrategy() { - return strategy; - } - - public void setStrategy(StrategyCompiled strategy) { - this.strategy = strategy; - } - - @Override - public boolean equals(Object o) { - if (this == o) - return true; - if (o == null || getClass() != o.getClass()) - return false; - RuleAggregationCompiled that = (RuleAggregationCompiled) o; - return Objects.equals(domain, that.domain) && Objects.equals(baseData, that.baseData) && Objects.equals(metadata, that.metadata) - && Objects.equals(dataSource, that.dataSource) && Objects.equals(scene, that.scene) && Objects.equals(strategy, that.strategy); - } - - @Override - public int hashCode() { - return Objects.hash(domain, baseData, metadata, dataSource, scene, strategy); - } - - @Override - public String toString() { - return new StringJoiner(",").add("domain=" + domain).add("baseData=" + baseData).add("metadata=" + metadata).add("dataSource=" + dataSource).add("scene=" + scene) - .add("strategy=" + strategy).toString(); - } -} diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/SceneCompiled.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/SceneCompiled.java deleted file mode 100644 index d476839eb516df0a7caad4b9f5b807050d03d632..0000000000000000000000000000000000000000 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/SceneCompiled.java +++ /dev/null @@ -1,64 +0,0 @@ -package cn.icanci.rec.engine.sdk.rule.runtime; - -import java.util.List; - -/** - * @author icanci - * @since 1.0 Created in 2022/11/15 22:40 - */ -public class SceneCompiled extends BaseCompiled{ - /** - * 域Code - */ - private String domainCode; - /** - * 场景对 - */ - private List scenePairs; - - public String getDomainCode() { - return domainCode; - } - - public void setDomainCode(String domainCode) { - this.domainCode = domainCode; - } - - public List getScenePairs() { - return scenePairs; - } - - public void setScenePairs(List scenePairs) { - this.scenePairs = scenePairs; - } - - /** - * 场景对 - */ - public static class ScenePair { - /** - * 场景名称 - */ - private String sceneName; - /** - * 场景Code - */ - private String sceneCode; - - public String getSceneName() { - return sceneName; - } - - public void setSceneName(String sceneName) { - this.sceneName = sceneName; - } - - public String getSceneCode() { - return sceneCode; - } - - public void setSceneCode(String sceneCode) { - this.sceneCode = sceneCode; - } - } -} diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/StrategyCompiled.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/StrategyCompiled.java deleted file mode 100644 index 0b4ffb667a160ff0144b3a9e7a0eb1e04f632578..0000000000000000000000000000000000000000 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/runtime/StrategyCompiled.java +++ /dev/null @@ -1,285 +0,0 @@ -package cn.icanci.rec.engine.sdk.rule.runtime; - -import cn.icanci.rec.common.enums.*; - -import java.util.List; - -/** - * @author icanci - * @since 1.0 Created in 2022/11/15 22:40 - */ -public class StrategyCompiled extends BaseCompiled { - /** - * 域Code - */ - private String domainCode; - /** - * 场景Code - */ - private String sceneCode; - /** - * 策略组名称 - */ - private String strategyName; - /** - * 数据源类型(脚本、接口、SQL) - * - * @see DataSourceTypeEnum#name() - */ - private String dataSourceType; - /** - * 数据源关联uuid - */ - private String dataSourceUuid; - /** - * 规则配置类型(默认为List) - * - * @see RuleTypeEnum#name() - */ - private String ruleType; - /** - * 规则配置类型为List时候的规则数据 - */ - private RuleListInfo ruleListInfo; - /** - * 规则配置类型为Tree时候的规则数据 - */ - private RuleTreeInfo ruleTreeInfo; - - public String getDomainCode() { - return domainCode; - } - - public void setDomainCode(String domainCode) { - this.domainCode = domainCode; - } - - public String getSceneCode() { - return sceneCode; - } - - public void setSceneCode(String sceneCode) { - this.sceneCode = sceneCode; - } - - public String getStrategyName() { - return strategyName; - } - - public void setStrategyName(String strategyName) { - this.strategyName = strategyName; - } - - public String getDataSourceType() { - return dataSourceType; - } - - public void setDataSourceType(String dataSourceType) { - this.dataSourceType = dataSourceType; - } - - public String getDataSourceUuid() { - return dataSourceUuid; - } - - public void setDataSourceUuid(String dataSourceUuid) { - this.dataSourceUuid = dataSourceUuid; - } - - public String getRuleType() { - return ruleType; - } - - public void setRuleType(String ruleType) { - this.ruleType = ruleType; - } - - public RuleListInfo getRuleListInfo() { - return ruleListInfo; - } - - public void setRuleListInfo(RuleListInfo ruleListInfo) { - this.ruleListInfo = ruleListInfo; - } - - public RuleTreeInfo getRuleTreeInfo() { - return ruleTreeInfo; - } - - public void setRuleTreeInfo(RuleTreeInfo ruleTreeInfo) { - this.ruleTreeInfo = ruleTreeInfo; - } - - /** - * 规则配置类型为List时候的规则数据 - */ - public static class RuleListInfo { - /** - * 平级结构 - * - * 多个conditions为或的关系 - */ - private List conditions; - - public List getConditions() { - return conditions; - } - - public void setConditions(List conditions) { - this.conditions = conditions; - } - } - - /** - * 平级结构 - */ - public static class Condition { - /** - * 组集合 - * 每一组内为且的关系 - */ - private List group; - - public List getGroup() { - return group; - } - - public void setGroup(List group) { - this.group = group; - } - } - - /** - * 单元结构 - */ - public static class SingleCondition { - - /** 单元名称 */ - private String name; - - /** 左值:基础数据uuid */ - private String leftValue; - - /** - * 操作符 - * - * @see OperatorEnum#name() - */ - private String operator; - - /** 右值 */ - private String rightValue; - - /** - * 是否中断执行 - * - * @see InterruptEnum#name() - */ - private String interrupt; - - /** - * 命中到当前条件的返回值类型 - * - * 满足 {@link InterruptEnum#TRUE } 时候返回值 - * @see ResultTypeEnum#name() - */ - private String resultType; - /** - * 命中到当前条件的返回值 - * - * 满足 {@link InterruptEnum#TRUE } 时候返回值 - */ - private String returnVal; - - /** - * 当前规则的子配置项 - * 一个规则自配置可以有多组,每组可能有多个,每组的每个也是一个配置项 - * - * Tree 结构的 SingleCondition#children 会存储值 - * 非Tree结构则为空数组 - */ - List children; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getLeftValue() { - return leftValue; - } - - public void setLeftValue(String leftValue) { - this.leftValue = leftValue; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - - public String getRightValue() { - return rightValue; - } - - public void setRightValue(String rightValue) { - this.rightValue = rightValue; - } - - public List getChildren() { - return children; - } - - public void setChildren(List children) { - this.children = children; - } - - public String getInterrupt() { - return interrupt; - } - - public void setInterrupt(String interrupt) { - this.interrupt = interrupt; - } - - public String getResultType() { - return resultType; - } - - public void setResultType(String resultType) { - this.resultType = resultType; - } - - public String getReturnVal() { - return returnVal; - } - - public void setReturnVal(String returnVal) { - this.returnVal = returnVal; - } - } - - /** - * 规则配置类型为Tree时候的规则数据 - */ - public static class RuleTreeInfo { - /** - * 多个conditions为或的关系 - */ - private List conditions; - - public List getConditions() { - return conditions; - } - - public void setConditions(List conditions) { - this.conditions = conditions; - } - } -}