From 287674d5c592e07a5c7f14268ffc29759fa893b3 Mon Sep 17 00:00:00 2001 From: icanci Date: Sat, 19 Nov 2022 13:24:40 +0800 Subject: [PATCH] feat:icanci:http spi --- .../rec/engine/sdk/http/spi/AbstractLoadSPI.java | 2 ++ .../rec/engine/sdk/http/spi/HttpBaseDataSPI.java | 9 +++++++-- .../rec/engine/sdk/http/spi/HttpDataSourceSPI.java | 13 +++++++++---- .../rec/engine/sdk/http/spi/HttpDomainSPI.java | 7 ++----- .../rec/engine/sdk/http/spi/HttpMetadataSPI.java | 9 +++++++-- .../rec/engine/sdk/http/spi/HttpSceneSPI.java | 11 ++++++++--- .../rec/engine/sdk/http/spi/HttpStrategySPI.java | 13 +++++++++---- .../rec/engine/sdk/condition/ContainCondition.java | 1 + 8 files changed, 45 insertions(+), 20 deletions(-) diff --git a/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/AbstractLoadSPI.java b/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/AbstractLoadSPI.java index d146662..6a48a55 100644 --- a/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/AbstractLoadSPI.java +++ b/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/AbstractLoadSPI.java @@ -49,8 +49,10 @@ public abstract class AbstractLoadSPI { /** http实例 */ protected static final Client CLIENT = OkHttpClientImpl.getInstance(); + /** DEFAULT_APPLICATION_JSON_VALUE */ public static final String DEFAULT_APPLICATION_JSON_VALUE = "application/json"; + /** DEFAULT_TIMEOUT */ private static final int DEFAULT_TIMEOUT = 3; diff --git a/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpBaseDataSPI.java b/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpBaseDataSPI.java index 0765075..72c0f10 100644 --- a/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpBaseDataSPI.java +++ b/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpBaseDataSPI.java @@ -1,11 +1,15 @@ package cn.icanci.rec.engine.sdk.http.spi; +import cn.icanci.rec.common.aggregation.WebApiRequest; import cn.icanci.rec.common.aggregation.model.BaseDataDTO; +import cn.icanci.rec.engine.script.client.http.HttpMethod; import cn.icanci.rec.engine.sdk.spi.BaseDataSPI; import java.util.List; import java.util.Set; +import com.google.common.collect.Sets; + /** * @author icanci * @since 1.0 Created in 2022/11/15 21:26 @@ -14,11 +18,12 @@ public class HttpBaseDataSPI extends AbstractLoadSPI implements BaseDataSPI { @Override public List load(Set domains) { - return null; + WebApiRequest request = new WebApiRequest(domains); + return call(BaseDataDTO.class, LOAD_BASE_DATA_PATH, HttpMethod.POST, request).getRet(); } @Override public List load(String domain) { - return null; + return load(Sets.newHashSet(domain)); } } diff --git a/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpDataSourceSPI.java b/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpDataSourceSPI.java index b53a6c8..f61bf95 100644 --- a/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpDataSourceSPI.java +++ b/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpDataSourceSPI.java @@ -1,10 +1,14 @@ package cn.icanci.rec.engine.sdk.http.spi; +import cn.icanci.rec.common.aggregation.WebApiRequest; +import cn.icanci.rec.common.aggregation.model.DataSourceDTO; +import cn.icanci.rec.engine.script.client.http.HttpMethod; +import cn.icanci.rec.engine.sdk.spi.DataSourceSPI; + import java.util.List; import java.util.Set; -import cn.icanci.rec.common.aggregation.model.DataSourceDTO; -import cn.icanci.rec.engine.sdk.spi.DataSourceSPI; +import com.google.common.collect.Sets; /** * @author icanci @@ -13,11 +17,12 @@ import cn.icanci.rec.engine.sdk.spi.DataSourceSPI; public class HttpDataSourceSPI extends AbstractLoadSPI implements DataSourceSPI { @Override public List load(Set domains) { - return null; + WebApiRequest request = new WebApiRequest(domains); + return call(DataSourceDTO.class, LOAD_DATA_SOURCE_PATH, HttpMethod.POST, request).getRet(); } @Override public List load(String domain) { - return null; + return load(Sets.newHashSet(domain)); } } diff --git a/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpDomainSPI.java b/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpDomainSPI.java index c386bb2..c822cee 100644 --- a/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpDomainSPI.java +++ b/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpDomainSPI.java @@ -18,8 +18,7 @@ public class HttpDomainSPI extends AbstractLoadSPI implements DomainSPI { @Override public DomainDTO loadOne(String domain) { - WebApiRequest request = new WebApiRequest(Sets.newHashSet(domain)); - return call(DomainDTO.class, LOAD_DOMAIN_PATH, HttpMethod.POST, request).getRet().iterator().next(); + return load(domain).iterator().next(); } @Override @@ -31,8 +30,6 @@ public class HttpDomainSPI extends AbstractLoadSPI implements DomainSPI { @Override public List load(String domain) { - WebApiRequest request = new WebApiRequest(Sets.newHashSet(domain)); - return call(DomainDTO.class, LOAD_DOMAIN_PATH, HttpMethod.POST, request).getRet(); - + return load(Sets.newHashSet(domain)); } } diff --git a/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpMetadataSPI.java b/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpMetadataSPI.java index 8426dd1..a26ac4e 100644 --- a/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpMetadataSPI.java +++ b/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpMetadataSPI.java @@ -1,11 +1,15 @@ package cn.icanci.rec.engine.sdk.http.spi; +import cn.icanci.rec.common.aggregation.WebApiRequest; import cn.icanci.rec.common.aggregation.model.MetadataDTO; +import cn.icanci.rec.engine.script.client.http.HttpMethod; import cn.icanci.rec.engine.sdk.spi.MetadataSPI; import java.util.List; import java.util.Set; +import com.google.common.collect.Sets; + /** * @author icanci * @since 1.0 Created in 2022/11/15 21:27 @@ -13,11 +17,12 @@ import java.util.Set; public class HttpMetadataSPI extends AbstractLoadSPI implements MetadataSPI { @Override public List load(Set domains) { - return null; + WebApiRequest request = new WebApiRequest(domains); + return call(MetadataDTO.class, LOAD_METADATA_PATH, HttpMethod.POST, request).getRet(); } @Override public List load(String domain) { - return null; + return load(Sets.newHashSet(domain)); } } diff --git a/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpSceneSPI.java b/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpSceneSPI.java index 9a62b82..87ea5bc 100644 --- a/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpSceneSPI.java +++ b/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpSceneSPI.java @@ -1,11 +1,15 @@ package cn.icanci.rec.engine.sdk.http.spi; +import cn.icanci.rec.common.aggregation.WebApiRequest; import cn.icanci.rec.common.aggregation.model.SceneDTO; +import cn.icanci.rec.engine.script.client.http.HttpMethod; import cn.icanci.rec.engine.sdk.spi.SceneSPI; import java.util.List; import java.util.Set; +import com.google.common.collect.Sets; + /** * @author icanci * @since 1.0 Created in 2022/11/15 21:28 @@ -13,16 +17,17 @@ import java.util.Set; public class HttpSceneSPI extends AbstractLoadSPI implements SceneSPI { @Override public List load(Set domains) { - return null; + WebApiRequest request = new WebApiRequest(domains); + return call(SceneDTO.class, LOAD_SCENE_PATH, HttpMethod.POST, request).getRet(); } @Override public List load(String domain) { - return null; + return load(Sets.newHashSet(domain)); } @Override public SceneDTO loadOne(String domainCode) { - return null; + return load(domainCode).iterator().next(); } } diff --git a/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpStrategySPI.java b/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpStrategySPI.java index 734c121..190e657 100644 --- a/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpStrategySPI.java +++ b/rec-engine/rec-engine-sdk-http/src/main/java/cn/icanci/rec/engine/sdk/http/spi/HttpStrategySPI.java @@ -1,10 +1,14 @@ package cn.icanci.rec.engine.sdk.http.spi; +import cn.icanci.rec.common.aggregation.WebApiRequest; +import cn.icanci.rec.common.aggregation.model.StrategyDTO; +import cn.icanci.rec.engine.script.client.http.HttpMethod; +import cn.icanci.rec.engine.sdk.spi.StrategySPI; + import java.util.List; import java.util.Set; -import cn.icanci.rec.common.aggregation.model.StrategyDTO; -import cn.icanci.rec.engine.sdk.spi.StrategySPI; +import com.google.common.collect.Sets; /** * @author icanci @@ -13,12 +17,13 @@ import cn.icanci.rec.engine.sdk.spi.StrategySPI; public class HttpStrategySPI extends AbstractLoadSPI implements StrategySPI { @Override public List load(Set domains) { - return null; + WebApiRequest request = new WebApiRequest(domains); + return call(StrategyDTO.class, LOAD_STRATEGY_PATH, HttpMethod.POST, request).getRet(); } @Override public List load(String domain) { - return null; + return load(Sets.newHashSet(domain)); } } diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/condition/ContainCondition.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/condition/ContainCondition.java index e8d4ab3..c0e5dcd 100644 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/condition/ContainCondition.java +++ b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/condition/ContainCondition.java @@ -14,6 +14,7 @@ import org.springframework.stereotype.Component; @Component @ConditionBean(OperatorEnum.CONTAIN) public class ContainCondition extends AbstractCondition { + @Override public boolean match(Bindings bindings, StrategyDTO.SingleCondition singleCondition, String domainCode) { return false; -- Gitee