diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseDataMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/BaseDataMapper.java similarity index 94% rename from rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseDataMapper.java rename to rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/BaseDataMapper.java index be0d74f763779d7acc202da3d971ce83ebc137d5..63e9cad7887b79eff1e4a5a054e7d9befeb03877 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseDataMapper.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/BaseDataMapper.java @@ -1,4 +1,4 @@ -package cn.icanci.rec.admin.biz.mapper; +package cn.icanci.rec.admin.biz.mapper.config; import cn.icanci.rec.admin.biz.mapper.convertor.DataTypeEnumConverter; import cn.icanci.rec.admin.biz.mapper.convertor.ResultTypeEnumConverter; diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/BaseMapper.java similarity index 85% rename from rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseMapper.java rename to rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/BaseMapper.java index 0f255dd26d9da1b271bf72ef23c1d25d1096fb52..ee0030ea11b7cfc9832a0518e997136c083472d0 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/BaseMapper.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/BaseMapper.java @@ -1,4 +1,4 @@ -package cn.icanci.rec.admin.biz.mapper; +package cn.icanci.rec.admin.biz.mapper.config; import java.util.Collection; import java.util.List; diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DataSourceMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/DataSourceMapper.java similarity index 96% rename from rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DataSourceMapper.java rename to rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/DataSourceMapper.java index a2935263503901a948d587e494107aee01550175..f99144362587964885192f405e9ace09b9f15a88 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DataSourceMapper.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/DataSourceMapper.java @@ -1,4 +1,4 @@ -package cn.icanci.rec.admin.biz.mapper; +package cn.icanci.rec.admin.biz.mapper.config; import cn.icanci.rec.admin.biz.mapper.convertor.DataSourceTypeEnumConverter; import cn.icanci.rec.admin.biz.mapper.convertor.HttpRequestTypeEnumConverter; diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DomainMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/DomainMapper.java similarity index 90% rename from rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DomainMapper.java rename to rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/DomainMapper.java index e72e954a40d902d56d36239b9d04e2ecb4ccf2db..c91c4049be32d27761667fb6149362219f8ccadb 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/DomainMapper.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/DomainMapper.java @@ -1,4 +1,4 @@ -package cn.icanci.rec.admin.biz.mapper; +package cn.icanci.rec.admin.biz.mapper.config; import cn.icanci.rec.admin.dal.mongodb.dateobject.DomainDO; import cn.icanci.rec.common.model.config.DomainVO; diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/LogOperateMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/LogOperateMapper.java similarity index 92% rename from rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/LogOperateMapper.java rename to rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/LogOperateMapper.java index 4d846aaf39f20a9475e40450b38da3ccf91250fe..522c0120d5f0bec4c1bb0cb9dfb1da9d021f0ae2 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/LogOperateMapper.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/LogOperateMapper.java @@ -1,4 +1,4 @@ -package cn.icanci.rec.admin.biz.mapper; +package cn.icanci.rec.admin.biz.mapper.config; import cn.icanci.rec.admin.biz.mapper.convertor.ModuleTypeEnumConverter; import cn.icanci.rec.admin.dal.mongodb.dateobject.LogOperateDO; diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/MetadataMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/MetadataMapper.java similarity index 92% rename from rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/MetadataMapper.java rename to rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/MetadataMapper.java index 71514049f1b8549c0a0394a7de47dffa980de48d..da6f4fb5577868980e316a694ad2e96c87975a99 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/MetadataMapper.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/MetadataMapper.java @@ -1,4 +1,4 @@ -package cn.icanci.rec.admin.biz.mapper; +package cn.icanci.rec.admin.biz.mapper.config; import cn.icanci.rec.admin.dal.mongodb.dateobject.MetadataDO; import cn.icanci.rec.common.model.config.MetadataVO; diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/SceneMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/SceneMapper.java similarity index 92% rename from rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/SceneMapper.java rename to rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/SceneMapper.java index fc7c30628c83244189e2cf006ef883145f8cf5df..6e6666509fabc9e2362055c9ef24f795c1bb8672 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/SceneMapper.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/SceneMapper.java @@ -1,4 +1,4 @@ -package cn.icanci.rec.admin.biz.mapper; +package cn.icanci.rec.admin.biz.mapper.config; import cn.icanci.rec.admin.dal.mongodb.dateobject.SceneDO; import cn.icanci.rec.common.model.config.SceneVO; diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/StrategyMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/StrategyMapper.java similarity index 87% rename from rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/StrategyMapper.java rename to rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/StrategyMapper.java index 8566238289f0ebffde332ece92ec900ed6d29e95..f574dcc0dd8e462fd775b2a09f5f5f21c6169b80 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/StrategyMapper.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/config/StrategyMapper.java @@ -1,4 +1,4 @@ -package cn.icanci.rec.admin.biz.mapper; +package cn.icanci.rec.admin.biz.mapper.config; import cn.icanci.rec.admin.biz.mapper.convertor.*; import cn.icanci.rec.admin.dal.mongodb.dateobject.StrategyDO; @@ -14,11 +14,11 @@ import org.mapstruct.NullValueMappingStrategy; @Mapper(componentModel = "spring", uses = { DataSourceTypeEnumConverter.class, RuleTypeEnumConverter.class, OperatorEnumConverter.class, InterruptEnumConverter.class, ResultTypeEnumConverter.class, RuleModeEnumConverter.class }, nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL) public interface StrategyMapper extends BaseMapper { - StrategyVO.RuleListInfo do2vo(StrategyVO.RuleListInfo ruleListInfo); + StrategyVO.RuleListInfo do2vo(StrategyDO.RuleListInfo ruleListInfo); StrategyDO.RuleListInfo vo2do(StrategyVO.RuleListInfo ruleListInfo); - StrategyVO.RuleTreeInfo do2vo(StrategyVO.RuleTreeInfo ruleTreeInfo); + StrategyVO.RuleTreeInfo do2vo(StrategyDO.RuleTreeInfo ruleTreeInfo); StrategyDO.RuleTreeInfo vo2do(StrategyVO.RuleTreeInfo ruleTreeInfo); diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/BaseDataDtoMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/BaseDataDtoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..0c849062bfb7ed9e748b4af41d6ff44335fba8f5 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/BaseDataDtoMapper.java @@ -0,0 +1,19 @@ +package cn.icanci.rec.admin.biz.mapper.dto; + +import cn.icanci.rec.admin.biz.mapper.convertor.DataTypeEnumConverter; +import cn.icanci.rec.admin.biz.mapper.convertor.ResultTypeEnumConverter; +import cn.icanci.rec.admin.biz.mapper.convertor.ScriptTypeEnumConverter; +import cn.icanci.rec.admin.dal.mongodb.dateobject.BaseDataDO; +import cn.icanci.rec.common.aggregation.model.BaseDataDTO; + +import org.mapstruct.Mapper; +import org.mapstruct.NullValueMappingStrategy; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/18 08:19 + */ +@Mapper(componentModel = "spring", uses = { DataTypeEnumConverter.class, ScriptTypeEnumConverter.class, + ResultTypeEnumConverter.class }, nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL) +public interface BaseDataDtoMapper extends BaseDtoMapper { +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/BaseDtoMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/BaseDtoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..e434ee2795b78ccf218eff0d3cba5e48a9718c16 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/BaseDtoMapper.java @@ -0,0 +1,15 @@ +package cn.icanci.rec.admin.biz.mapper.dto; + +import java.util.Collection; +import java.util.List; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/18 08:19 + */ +public interface BaseDtoMapper { + + R do2dto(T t); + + List dos2dtos(Collection ts); +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/DataSourceDtoMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/DataSourceDtoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..520087c1fa0aa037f4dcfbb56e06b239220086ed --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/DataSourceDtoMapper.java @@ -0,0 +1,26 @@ +package cn.icanci.rec.admin.biz.mapper.dto; + +import cn.icanci.rec.admin.biz.mapper.convertor.DataSourceTypeEnumConverter; +import cn.icanci.rec.admin.biz.mapper.convertor.HttpRequestTypeEnumConverter; +import cn.icanci.rec.admin.biz.mapper.convertor.ScriptTypeEnumConverter; +import cn.icanci.rec.admin.dal.mongodb.dateobject.DataSourceDO; +import cn.icanci.rec.common.aggregation.model.DataSourceDTO; + +import org.mapstruct.Mapper; +import org.mapstruct.NullValueMappingStrategy; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/18 08:19 + */ +@Mapper(componentModel = "spring", uses = { DataSourceTypeEnumConverter.class, ScriptTypeEnumConverter.class, + HttpRequestTypeEnumConverter.class }, nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL) +public interface DataSourceDtoMapper extends BaseDtoMapper { + + DataSourceDTO.ScriptInfo do2dto(DataSourceDO.ScriptInfo scriptInfo); + + DataSourceDTO.HttpInfo do2dto(DataSourceDO.HttpInfo httpInfo); + + DataSourceDTO.SqlInfo do2dto(DataSourceDO.SqlInfo sqlInfo); + +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/DomainDtoMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/DomainDtoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..af331442ee09d43fe02a4146909710b36c198c83 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/DomainDtoMapper.java @@ -0,0 +1,15 @@ +package cn.icanci.rec.admin.biz.mapper.dto; + +import cn.icanci.rec.admin.dal.mongodb.dateobject.DomainDO; +import cn.icanci.rec.common.aggregation.model.DomainDTO; + +import org.mapstruct.Mapper; +import org.mapstruct.NullValueMappingStrategy; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/18 08:19 + */ +@Mapper(componentModel = "spring", nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL) +public interface DomainDtoMapper extends BaseDtoMapper { +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/MetadataDtoMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/MetadataDtoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..9e4b9ffb7df4caf1fe9d46e000dd6eb29279a2b6 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/MetadataDtoMapper.java @@ -0,0 +1,16 @@ +package cn.icanci.rec.admin.biz.mapper.dto; + +import cn.icanci.rec.admin.dal.mongodb.dateobject.MetadataDO; +import cn.icanci.rec.common.aggregation.model.MetadataDTO; + +import org.mapstruct.Mapper; +import org.mapstruct.NullValueMappingStrategy; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/18 08:19 + */ +@Mapper(componentModel = "spring", nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL) +public interface MetadataDtoMapper extends BaseDtoMapper { + MetadataDTO.MetadataPair do2dto(MetadataDO.MetadataPair metadataPair); +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/SceneDtoMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/SceneDtoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..53ad5bb0c1255de8046a0c044a7c01e42936c819 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/SceneDtoMapper.java @@ -0,0 +1,18 @@ +package cn.icanci.rec.admin.biz.mapper.dto; + +import cn.icanci.rec.admin.dal.mongodb.dateobject.SceneDO; +import cn.icanci.rec.common.aggregation.model.SceneDTO; + +import org.mapstruct.Mapper; +import org.mapstruct.NullValueMappingStrategy; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/18 08:19 + */ +@Mapper(componentModel = "spring", nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL) +public interface SceneDtoMapper extends BaseDtoMapper { + + SceneDTO.ScenePair do2dto(SceneDO.ScenePair scenePair); + +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/StrategyDtoMapper.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/StrategyDtoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..d4ba5e230feb23dfb449a9462a07f896a9405c19 --- /dev/null +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/mapper/dto/StrategyDtoMapper.java @@ -0,0 +1,26 @@ +package cn.icanci.rec.admin.biz.mapper.dto; + +import cn.icanci.rec.admin.biz.mapper.convertor.*; +import cn.icanci.rec.admin.dal.mongodb.dateobject.StrategyDO; +import cn.icanci.rec.common.aggregation.model.StrategyDTO; + +import org.mapstruct.Mapper; +import org.mapstruct.NullValueMappingStrategy; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/18 08:19 + */ +@Mapper(componentModel = "spring", uses = { DataSourceTypeEnumConverter.class, RuleTypeEnumConverter.class, OperatorEnumConverter.class, InterruptEnumConverter.class, + ResultTypeEnumConverter.class, RuleModeEnumConverter.class }, nullValueMappingStrategy = NullValueMappingStrategy.RETURN_NULL) +public interface StrategyDtoMapper extends BaseDtoMapper { + + StrategyDTO.RuleListInfo do2dto(StrategyDO.RuleListInfo ruleListInfo); + + StrategyDTO.RuleTreeInfo do2dto(StrategyDO.RuleTreeInfo ruleTreeInfo); + + StrategyDTO.Condition do2dto(StrategyDO.Condition condition); + + StrategyDTO.SingleCondition do2dto(StrategyDO.SingleCondition singleCondition); + +} diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/WebApiService.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/WebApiService.java index 06382d85964dfa810ace442d94247f5c6fba3fc3..36b5320aff564626419574b780d9b0d6c15b285f 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/WebApiService.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/WebApiService.java @@ -1,8 +1,24 @@ package cn.icanci.rec.admin.biz.service; +import cn.icanci.rec.common.aggregation.model.*; + +import java.util.List; +import java.util.Set; + /** * @author icanci * @since 1.0 Created in 2022/11/18 22:49 */ public interface WebApiService { + List loadDomainByDomains(Set domainCodes); + + List loadSceneByDomains(Set domainCodes); + + List loadMetadataByDomains(Set domainCodes); + + List loadBaseDataByDomains(Set domainCodes); + + List loadDataSourceByDomains(Set domainCodes); + + List loadStrategyByDomains(Set domainCodes); } diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/BaseDataServiceImpl.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/BaseDataServiceImpl.java index 168794c445b866cbae45093ba92e3c6b9c206a00..1838e921a8ce11729917e5f8ed83dc9255ceaaaf 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/BaseDataServiceImpl.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/BaseDataServiceImpl.java @@ -1,7 +1,7 @@ package cn.icanci.rec.admin.biz.service.impl; import cn.icanci.rec.admin.biz.event.log.LogEvent; -import cn.icanci.rec.admin.biz.mapper.BaseDataMapper; +import cn.icanci.rec.admin.biz.mapper.config.BaseDataMapper; import cn.icanci.rec.admin.biz.model.BaseDataDebugResult; import cn.icanci.rec.admin.biz.service.BaseDataService; import cn.icanci.rec.admin.dal.mongodb.common.PageList; diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DataSourceServiceImpl.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DataSourceServiceImpl.java index 0584b7b1bbcade5ded012dca3524a87b6107d1c3..d83fb71522d939e878ef90ae042fd92ace071b24 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DataSourceServiceImpl.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DataSourceServiceImpl.java @@ -1,7 +1,7 @@ package cn.icanci.rec.admin.biz.service.impl; import cn.icanci.rec.admin.biz.event.log.LogEvent; -import cn.icanci.rec.admin.biz.mapper.DataSourceMapper; +import cn.icanci.rec.admin.biz.mapper.config.DataSourceMapper; import cn.icanci.rec.admin.biz.model.DataSourceDebugResult; import cn.icanci.rec.admin.biz.service.DataSourceService; import cn.icanci.rec.admin.dal.mongodb.common.PageList; diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DomainServiceImpl.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DomainServiceImpl.java index 76cd821262c13da80a89da2096888332e870a8dc..fd5688c7c4b41fb25e58b90e58a47400b15dcb83 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DomainServiceImpl.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/DomainServiceImpl.java @@ -1,7 +1,7 @@ package cn.icanci.rec.admin.biz.service.impl; import cn.icanci.rec.admin.biz.event.log.LogEvent; -import cn.icanci.rec.admin.biz.mapper.DomainMapper; +import cn.icanci.rec.admin.biz.mapper.config.DomainMapper; import cn.icanci.rec.admin.biz.service.DomainService; import cn.icanci.rec.admin.dal.mongodb.common.PageList; import cn.icanci.rec.admin.dal.mongodb.daointerface.DomainDAO; diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/LogOperateServiceImpl.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/LogOperateServiceImpl.java index be349110bb6abc85cf8ebb9034acccbf9976311d..89c633291a98b227c73649d6e9cd77a901397c0a 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/LogOperateServiceImpl.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/LogOperateServiceImpl.java @@ -1,6 +1,6 @@ package cn.icanci.rec.admin.biz.service.impl; -import cn.icanci.rec.admin.biz.mapper.LogOperateMapper; +import cn.icanci.rec.admin.biz.mapper.config.LogOperateMapper; import cn.icanci.rec.admin.biz.service.LogOperateService; import cn.icanci.rec.admin.dal.mongodb.common.PageList; import cn.icanci.rec.admin.dal.mongodb.daointerface.LogOperateDAO; diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/MetadataServiceImpl.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/MetadataServiceImpl.java index 55d09623372407f0d3ff1fc7beb0c48d73dd0be9..cc980f2386f2b0b3042f5fa71e76d0da9fe6836a 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/MetadataServiceImpl.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/MetadataServiceImpl.java @@ -1,7 +1,7 @@ package cn.icanci.rec.admin.biz.service.impl; import cn.icanci.rec.admin.biz.event.log.LogEvent; -import cn.icanci.rec.admin.biz.mapper.MetadataMapper; +import cn.icanci.rec.admin.biz.mapper.config.MetadataMapper; import cn.icanci.rec.admin.biz.service.MetadataService; import cn.icanci.rec.admin.dal.mongodb.common.PageList; import cn.icanci.rec.admin.dal.mongodb.daointerface.MetadataDAO; diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/SceneServiceImpl.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/SceneServiceImpl.java index b2e00a25a4fac7a607652a440a9bbfca861f2e4f..df6ef55eaa61b88649cb9538c839e95337d46225 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/SceneServiceImpl.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/SceneServiceImpl.java @@ -1,6 +1,6 @@ package cn.icanci.rec.admin.biz.service.impl; -import cn.icanci.rec.admin.biz.mapper.SceneMapper; +import cn.icanci.rec.admin.biz.mapper.config.SceneMapper; import cn.icanci.rec.admin.biz.service.SceneService; import cn.icanci.rec.admin.dal.mongodb.common.PageList; import cn.icanci.rec.admin.dal.mongodb.daointerface.SceneDAO; diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/StrategyServiceImpl.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/StrategyServiceImpl.java index 3362f8e71e89e3d26c46f36b1c5d771400e21d16..50778cd80645df6ca52812871eea610cb068465d 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/StrategyServiceImpl.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/StrategyServiceImpl.java @@ -1,7 +1,7 @@ package cn.icanci.rec.admin.biz.service.impl; import cn.icanci.rec.admin.biz.event.log.LogEvent; -import cn.icanci.rec.admin.biz.mapper.StrategyMapper; +import cn.icanci.rec.admin.biz.mapper.config.StrategyMapper; import cn.icanci.rec.admin.biz.model.StrategyDebugResult; import cn.icanci.rec.admin.biz.service.StrategyService; import cn.icanci.rec.admin.dal.mongodb.common.PageList; diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/WebApiServiceImpl.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/WebApiServiceImpl.java index 9242a6389f33e82cb48bef8411d60caa0009490e..55565ea0353c0ff2cc8b1c1c22cbfb7deb1711f9 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/WebApiServiceImpl.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/service/impl/WebApiServiceImpl.java @@ -1,13 +1,105 @@ package cn.icanci.rec.admin.biz.service.impl; +import cn.icanci.rec.admin.biz.mapper.dto.*; import cn.icanci.rec.admin.biz.service.WebApiService; +import cn.icanci.rec.admin.dal.mongodb.daointerface.*; +import cn.icanci.rec.common.aggregation.model.*; + +import java.util.List; +import java.util.Set; + +import javax.annotation.Resource; import org.springframework.stereotype.Service; +import com.google.common.collect.Lists; + /** * @author icanci * @since 1.0 Created in 2022/11/18 22:49 */ @Service public class WebApiServiceImpl implements WebApiService { + // =========================== DAO =========================== + @Resource + private DomainDAO domainDAO; + @Resource + private SceneDAO sceneDAO; + @Resource + private MetadataDAO metadataDAO; + @Resource + private BaseDataDAO baseDataDAO; + @Resource + private DataSourceDAO dataSourceDAO; + @Resource + private StrategyDAO strategyDAO; + // =========================== DTO mapper =========================== + @Resource + private DomainDtoMapper domainDtoMapper; + @Resource + private SceneDtoMapper sceneDtoMapper; + @Resource + private MetadataDtoMapper metadataDtoMapper; + @Resource + private BaseDataDtoMapper baseDataDtoMapper; + @Resource + private DataSourceDtoMapper dataSourceDtoMapper; + @Resource + private StrategyDtoMapper strategyDtoMapper; + + // =========================== Load Method =========================== + + @Override + public List loadDomainByDomains(Set domainCodes) { + List domains = Lists.newArrayList(); + for (String domainCode : domainCodes) { + domains.add(domainDtoMapper.do2dto(domainDAO.queryByDomainCode(domainCode))); + } + return domains; + } + + @Override + public List loadSceneByDomains(Set domainCodes) { + List scenes = Lists.newArrayList(); + for (String domainCode : domainCodes) { + scenes.add(sceneDtoMapper.do2dto(sceneDAO.queryByDomainCode(domainCode))); + } + return scenes; + } + + @Override + public List loadMetadataByDomains(Set domainCodes) { + List metadatas = Lists.newArrayList(); + for (String domainCode : domainCodes) { + metadatas.addAll(metadataDtoMapper.dos2dtos(metadataDAO.queryByDomainCode(domainCode))); + } + return metadatas; + } + + @Override + public List loadBaseDataByDomains(Set domainCodes) { + List baseDatas = Lists.newArrayList(); + for (String domainCode : domainCodes) { + baseDatas.addAll(baseDataDtoMapper.dos2dtos(baseDataDAO.queryByDomainCode(domainCode))); + } + return baseDatas; + } + + @Override + public List loadDataSourceByDomains(Set domainCodes) { + List dataSources = Lists.newArrayList(); + for (String domainCode : domainCodes) { + dataSources.addAll(dataSourceDtoMapper.dos2dtos(dataSourceDAO.queryByDomainCode(domainCode))); + } + return dataSources; + } + + @Override + public List loadStrategyByDomains(Set domainCodes) { + List strategies = Lists.newArrayList(); + for (String domainCode : domainCodes) { + strategies.addAll(strategyDtoMapper.dos2dtos(strategyDAO.queryByDomainCode(domainCode))); + } + return strategies; + } } diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminBaseDataSPI.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminBaseDataSPI.java index 7fb91f1a8599e74ab8ce1802ce4f190b7eab8e07..42f0893bb42fc58c3e181d93c1315753a00d3de2 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminBaseDataSPI.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminBaseDataSPI.java @@ -6,6 +6,8 @@ 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/18 19:37 @@ -14,11 +16,11 @@ public class AdminBaseDataSPI extends AbstractLoadSPI implements BaseDataSPI { @Override public List load(Set domains) { - return null; + return webApiService.loadBaseDataByDomains(domains); } @Override public List load(String domain) { - return null; + return webApiService.loadBaseDataByDomains(Sets.newHashSet(domain)); } } diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminDataSourceSPI.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminDataSourceSPI.java index 432c3322c24fdd9b331e2ad2f03b881eb0762687..74dabbf94515dfebfe88f4a9028bf7ab697dc8c0 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminDataSourceSPI.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminDataSourceSPI.java @@ -6,6 +6,8 @@ import cn.icanci.rec.engine.sdk.spi.DataSourceSPI; import java.util.List; import java.util.Set; +import com.google.common.collect.Sets; + /** * @author icanci * @since 1.0 Created in 2022/11/18 19:37 @@ -13,11 +15,11 @@ import java.util.Set; public class AdminDataSourceSPI extends AbstractLoadSPI implements DataSourceSPI { @Override public List load(Set domains) { - return null; + return webApiService.loadDataSourceByDomains(domains); } @Override public List load(String domain) { - return null; + return webApiService.loadDataSourceByDomains(Sets.newHashSet(domain)); } } diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminDomainSPI.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminDomainSPI.java index a8bd9ca1aefeb5acde61f78bcb4bcb62eaa0f7cc..36e6be7210e0bb75c05f1080889b3bda996126e3 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminDomainSPI.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminDomainSPI.java @@ -1,12 +1,13 @@ package cn.icanci.rec.admin.biz.spi; import cn.icanci.rec.common.aggregation.model.DomainDTO; -import cn.icanci.rec.engine.sdk.extensions.SpringBean; import cn.icanci.rec.engine.sdk.spi.DomainSPI; import java.util.List; import java.util.Set; +import com.google.common.collect.Sets; + /** * @author icanci * @since 1.0 Created in 2022/11/18 19:37 @@ -15,16 +16,16 @@ public class AdminDomainSPI extends AbstractLoadSPI implements DomainSPI { @Override public DomainDTO loadOne(String domain) { - return null; + return webApiService.loadDomainByDomains(Sets.newHashSet(domain)).iterator().next(); } @Override public List load(Set domains) { - return null; + return webApiService.loadDomainByDomains(domains); } @Override public List load(String domain) { - return null; + return webApiService.loadDomainByDomains(Sets.newHashSet(domain)); } } diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminMetadataSPI.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminMetadataSPI.java index fac2a1b57a417ef2694c893b73f87b6fd8d4f626..aee7c330e0495a65f43f3811cba4305c2b26ffe6 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminMetadataSPI.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminMetadataSPI.java @@ -6,6 +6,8 @@ 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/18 19:37 @@ -13,11 +15,11 @@ import java.util.Set; public class AdminMetadataSPI extends AbstractLoadSPI implements MetadataSPI { @Override public List load(Set domains) { - return null; + return webApiService.loadMetadataByDomains(domains); } @Override public List load(String domain) { - return null; + return webApiService.loadMetadataByDomains(Sets.newHashSet(domain)); } } diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminSceneSPI.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminSceneSPI.java index a15a607c498b26e9b8faaf4b247c591b2a3b57d0..3c7f46d32e4b4b55b511172f31afa695e610190a 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminSceneSPI.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminSceneSPI.java @@ -6,6 +6,8 @@ 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/18 19:37 @@ -13,16 +15,16 @@ import java.util.Set; public class AdminSceneSPI extends AbstractLoadSPI implements SceneSPI { @Override public List load(Set domains) { - return null; + return webApiService.loadSceneByDomains(domains); } @Override public List load(String domain) { - return null; + return webApiService.loadSceneByDomains(Sets.newHashSet(domain)); } @Override public SceneDTO loadOne(String domainCode) { - return null; + return webApiService.loadSceneByDomains(Sets.newHashSet(domainCode)).iterator().next(); } } diff --git a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminStrategySPI.java b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminStrategySPI.java index ed7fd9ccfdd3cabcd930afdc1c449628483457de..a62a2e42189e08f8c2f492a3c6efd0409fc864f0 100644 --- a/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminStrategySPI.java +++ b/rec-admin/rec-admin-biz/src/main/java/cn/icanci/rec/admin/biz/spi/AdminStrategySPI.java @@ -6,6 +6,8 @@ import cn.icanci.rec.engine.sdk.spi.StrategySPI; import java.util.List; import java.util.Set; +import com.google.common.collect.Sets; + /** * @author icanci * @since 1.0 Created in 2022/11/18 19:37 @@ -13,12 +15,12 @@ import java.util.Set; public class AdminStrategySPI extends AbstractLoadSPI implements StrategySPI { @Override public List load(Set domains) { - return null; + return webApiService.loadStrategyByDomains(domains); } @Override public List load(String domain) { - return null; + return webApiService.loadStrategyByDomains(Sets.newHashSet(domain)); } } diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/BaseDataDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/BaseDataDAO.java index 9c911403a5153a648bb665d3afcc391eadd39837..e8064a588e89bead348528f3fc4c11fdd9bb40bd 100644 --- a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/BaseDataDAO.java +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/BaseDataDAO.java @@ -1,5 +1,7 @@ package cn.icanci.rec.admin.dal.mongodb.daointerface; +import java.util.List; + import cn.icanci.rec.admin.dal.mongodb.dateobject.BaseDataDO; /** @@ -18,6 +20,8 @@ public interface BaseDataDAO extends BaseDAO { BaseDataDO queryByFieldNameAndDomainCode(String fieldName, String domainCode); + List queryByDomainCode(String domainCode); + interface BaseDataColumn extends BaseColumn { /** * 域Code diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/DataSourceDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/DataSourceDAO.java index b1bbd83af6e52ab91009ba2bee4d225ca11d5481..e0b87ecc72c1a184fa8e4bcc03ceec37294e9a70 100644 --- a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/DataSourceDAO.java +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/DataSourceDAO.java @@ -2,6 +2,8 @@ package cn.icanci.rec.admin.dal.mongodb.daointerface; import cn.icanci.rec.admin.dal.mongodb.dateobject.DataSourceDO; +import java.util.List; + /** * @author icanci * @since 1.0 Created in 2022/11/11 14:04 @@ -18,6 +20,8 @@ public interface DataSourceDAO extends BaseDAO { DataSourceDO queryByDataSourceName(String domainCode, String dataSourceName); + List queryByDomainCode(String domainCode); + interface DataSourceColumn extends BaseColumn { /** * 数据源名称 diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/MetadataDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/MetadataDAO.java index 5c8c2e69edf85f03c1a8a7f3e35669260425b110..e6166fa0de10b42c296636f32ba41395819ca9af 100644 --- a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/MetadataDAO.java +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/MetadataDAO.java @@ -2,6 +2,8 @@ package cn.icanci.rec.admin.dal.mongodb.daointerface; import cn.icanci.rec.admin.dal.mongodb.dateobject.MetadataDO; +import java.util.List; + /** * @author icanci * @since 1.0 Created in 2022/11/11 14:06 @@ -18,6 +20,8 @@ public interface MetadataDAO extends BaseDAO { MetadataDO queryByMetadataName(String metadataName, String domainCode); + List queryByDomainCode(String domainCode); + interface MetadataColumn extends BaseColumn { /** * 域Code diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/StrategyDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/StrategyDAO.java index d8e265371b0e77d24641d9f0803712131d5638d7..7bf5995b042620c9b5dcec3309b7911aa6655347 100644 --- a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/StrategyDAO.java +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/daointerface/StrategyDAO.java @@ -2,6 +2,8 @@ package cn.icanci.rec.admin.dal.mongodb.daointerface; import cn.icanci.rec.admin.dal.mongodb.dateobject.StrategyDO; +import java.util.List; + /** * 策略 * @@ -20,6 +22,8 @@ public interface StrategyDAO extends BaseDAO { StrategyDO queryByStrategyName(String domainCode, String strategyName); + List queryByDomainCode(String domainCode); + interface StrategyColumn extends BaseColumn { /** * 域Code diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoBaseDataDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoBaseDataDAO.java index 6997d9ebe54a1ecc1b0e3be81a15dc7b9ee02436..ba41358081c748e0c638cfb0a003d95bba602e7e 100644 --- a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoBaseDataDAO.java +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoBaseDataDAO.java @@ -1,9 +1,5 @@ package cn.icanci.rec.admin.dal.mongodb.mongo; -import cn.icanci.rec.admin.dal.mongodb.common.PageList; -import cn.icanci.rec.admin.dal.mongodb.daointerface.BaseDataDAO; -import cn.icanci.rec.admin.dal.mongodb.dateobject.BaseDataDO; - import java.util.List; import org.apache.commons.lang3.StringUtils; @@ -12,6 +8,10 @@ import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Service; +import cn.icanci.rec.admin.dal.mongodb.common.PageList; +import cn.icanci.rec.admin.dal.mongodb.daointerface.BaseDataDAO; +import cn.icanci.rec.admin.dal.mongodb.dateobject.BaseDataDO; + /** * @author icanci * @since 1.0 Created in 2022/11/11 14:59 @@ -73,4 +73,12 @@ public class MongoBaseDataDAO extends AbstractBaseDAO implements Bas return mongoTemplate.findOne(query, COLLECTION_CLASS, COLLECTION_NAME); } + @Override + public List queryByDomainCode(String domainCode) { + Criteria criteria = Criteria.where(BaseDataColumn.domainCode).is(domainCode); + criteria.and(BaseDataColumn.env).is(DEFAULT_ENV); + Query query = new Query(criteria); + return mongoTemplate.find(query, COLLECTION_CLASS, COLLECTION_NAME); + } + } diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoDataSourceDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoDataSourceDAO.java index 1b52e900d80dbe5c09e95b61fe54dcdc11626895..84d823c21252777b29c2504de7d5762ebf4e746f 100644 --- a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoDataSourceDAO.java +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoDataSourceDAO.java @@ -72,4 +72,11 @@ public class MongoDataSourceDAO extends AbstractBaseDAO implements Query query = new Query(criteria); return mongoTemplate.findOne(query, COLLECTION_CLASS, COLLECTION_NAME); } + + @Override public List queryByDomainCode(String domainCode) { + Criteria criteria = Criteria.where(DataSourceColumn.domainCode).is(domainCode); + criteria.and(DataSourceColumn.env).is(DEFAULT_ENV); + Query query = new Query(criteria); + return mongoTemplate.find(query, COLLECTION_CLASS, COLLECTION_NAME); + } } diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoMetadataDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoMetadataDAO.java index a971ca20cdeb239a47b30a5293876804254747c9..2ce036058e9d0f1ec94858a825d41a8e87cd0678 100644 --- a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoMetadataDAO.java +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoMetadataDAO.java @@ -73,4 +73,12 @@ public class MongoMetadataDAO extends AbstractBaseDAO implements Met Query query = new Query(criteria); return mongoTemplate.findOne(query, COLLECTION_CLASS, COLLECTION_NAME); } + + @Override + public List queryByDomainCode(String domainCode) { + Criteria criteria = Criteria.where(MetadataColumn.domainCode).is(domainCode); + criteria.and(MetadataColumn.env).is(DEFAULT_ENV); + Query query = new Query(criteria); + return mongoTemplate.find(query, COLLECTION_CLASS, COLLECTION_NAME); + } } diff --git a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoStrategyDAO.java b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoStrategyDAO.java index 5b023f9a6a0efa42c3ff79da1f565ecfef35fb43..3405d9b25c0a35c7afa74a544eb80730c3bafc81 100644 --- a/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoStrategyDAO.java +++ b/rec-admin/rec-admin-dal/src/main/java/cn/icanci/rec/admin/dal/mongodb/mongo/MongoStrategyDAO.java @@ -74,4 +74,12 @@ public class MongoStrategyDAO extends AbstractBaseDAO implements Str Query query = new Query(criteria); return mongoTemplate.findOne(query, COLLECTION_CLASS, COLLECTION_NAME); } + + @Override + public List queryByDomainCode(String domainCode) { + Criteria criteria = Criteria.where(StrategyColumn.domainCode).is(domainCode); + criteria.and(StrategyColumn.env).is(DEFAULT_ENV); + Query query = new Query(criteria); + return mongoTemplate.find(query, COLLECTION_CLASS, COLLECTION_NAME); + } } \ No newline at end of file diff --git a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/webapi/WebApiController.java b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/webapi/WebApiController.java index b7cbeaf5bb76e391b2814c48b5c32d2f5175e6b9..655cb0db0d1a6a9e2839b7d84f060a02a808854d 100644 --- a/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/webapi/WebApiController.java +++ b/rec-admin/rec-admin-web/src/main/java/cn/icanci/rec/admin/web/webapi/WebApiController.java @@ -1,14 +1,13 @@ package cn.icanci.rec.admin.web.webapi; -import cn.icanci.rec.common.enums.DataSourceTypeEnum; -import cn.icanci.rec.common.model.TextValue; -import cn.icanci.rec.common.result.R; +import cn.icanci.rec.admin.biz.service.WebApiService; +import cn.icanci.rec.common.aggregation.WebApiRequest; +import cn.icanci.rec.common.aggregation.WebApiResponse; +import cn.icanci.rec.common.aggregation.model.*; -import java.util.Arrays; -import java.util.List; -import java.util.stream.Collectors; +import javax.annotation.Resource; -import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -20,11 +19,36 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/rec/webapi") public class WebApiController { - // TODO - @GetMapping("dataSourceType") - public R dataSourceType() { - List textValues = Arrays.stream(DataSourceTypeEnum.values()).map(x -> new TextValue(x.getDesc(), x.name())).collect(Collectors.toList()); - return R.builderOk().data("textValues", textValues).build(); + @Resource + private WebApiService webApiService; + + @RequestMapping("/loadDomains") + public WebApiResponse loadDomains(@RequestBody WebApiRequest request) { + return new WebApiResponse<>(webApiService.loadDomainByDomains(request.getDomainCodes())); + } + + @RequestMapping("/loadScenes") + public WebApiResponse loadScenes(@RequestBody WebApiRequest request) { + return new WebApiResponse<>(webApiService.loadSceneByDomains(request.getDomainCodes())); + } + + @RequestMapping("/loadMetadatas") + public WebApiResponse loadMetadatas(@RequestBody WebApiRequest request) { + return new WebApiResponse<>(webApiService.loadMetadataByDomains(request.getDomainCodes())); } + @RequestMapping("/loadBaseDatas") + public WebApiResponse loadBaseDatas(@RequestBody WebApiRequest request) { + return new WebApiResponse<>(webApiService.loadBaseDataByDomains(request.getDomainCodes())); + } + + @RequestMapping("/loadDataSources") + public WebApiResponse loadDataSources(@RequestBody WebApiRequest request) { + return new WebApiResponse<>(webApiService.loadDataSourceByDomains(request.getDomainCodes())); + } + + @RequestMapping("/loadStrategies") + public WebApiResponse loadStrategies(@RequestBody WebApiRequest request) { + return new WebApiResponse<>(webApiService.loadStrategyByDomains(request.getDomainCodes())); + } } diff --git a/rec-common/src/main/java/cn/icanci/rec/common/aggregation/WebApiRequest.java b/rec-common/src/main/java/cn/icanci/rec/common/aggregation/WebApiRequest.java new file mode 100644 index 0000000000000000000000000000000000000000..ee286da00456b2a5e112216fef93102b2d2c782a --- /dev/null +++ b/rec-common/src/main/java/cn/icanci/rec/common/aggregation/WebApiRequest.java @@ -0,0 +1,22 @@ +package cn.icanci.rec.common.aggregation; + +import java.io.Serializable; +import java.util.Set; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/19 10:22 + */ +public class WebApiRequest implements Serializable { + private static final long serialVersionUID = 5046682826770853155L; + + private Set domainCodes; + + public Set getDomainCodes() { + return domainCodes; + } + + public void setDomainCodes(Set domainCodes) { + this.domainCodes = domainCodes; + } +} diff --git a/rec-common/src/main/java/cn/icanci/rec/common/aggregation/WebApiResponse.java b/rec-common/src/main/java/cn/icanci/rec/common/aggregation/WebApiResponse.java new file mode 100644 index 0000000000000000000000000000000000000000..0d03a1fc74e909a7b63c5cd99f18d581fb8424a6 --- /dev/null +++ b/rec-common/src/main/java/cn/icanci/rec/common/aggregation/WebApiResponse.java @@ -0,0 +1,27 @@ +package cn.icanci.rec.common.aggregation; + +import java.io.Serializable; +import java.util.List; + +/** + * @author icanci + * @since 1.0 Created in 2022/11/19 10:25 + */ +public class WebApiResponse implements Serializable { + + private static final long serialVersionUID = -7238440183222443753L; + + private List ret; + + public WebApiResponse(List ret) { + this.ret = ret; + } + + public List getRet() { + return ret; + } + + public void setRet(List ret) { + this.ret = ret; + } +} diff --git a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/repository/EngineRepositoryHolder.java b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/repository/EngineRepositoryHolder.java index 63da3491d254ff87320ccd2d9c0d485d555fa00d..31f265d943b9f73f8023c059f71be84ff33145a2 100644 --- a/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/repository/EngineRepositoryHolder.java +++ b/rec-engine/rec-engine-sdk/src/main/java/cn/icanci/rec/engine/sdk/rule/repository/EngineRepositoryHolder.java @@ -16,6 +16,8 @@ import javax.annotation.Resource; import javax.script.CompiledScript; import org.apache.commons.collections4.CollectionUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.google.common.collect.Maps; @@ -24,6 +26,7 @@ import com.google.common.collect.Maps; * @since 1.0 Created in 2022/11/16 08:38 */ public class EngineRepositoryHolder { + Logger logger = LoggerFactory.getLogger(EngineRepositoryHolder.class); @Resource private EngineRepositoryLoader engineRepositoryLoader; @Resource @@ -38,6 +41,7 @@ public class EngineRepositoryHolder { * @param domainCodes domainCodes */ public void refresh(Set domainCodes) { + if (CollectionUtils.isEmpty(domainCodes)) { return; } @@ -52,45 +56,52 @@ public class EngineRepositoryHolder { * @param domain domain */ private void refresh(String domain) { - // 1.先获取场景,如果场景都没有,则不处理 - List scenePairs = engineRepositoryLoader.loadScenePairs(domain); - if (CollectionUtils.isEmpty(scenePairs)) { - return; + try { + // 1.先获取场景,如果场景都没有,则不处理 + List scenePairs = engineRepositoryLoader.loadScenePairs(domain); + if (CollectionUtils.isEmpty(scenePairs)) { + return; + } + // 2.新建或者获取域对应的仓储 + EngineRepository repository = ENGINE_REPOSITORY_CONFIG.putIfAbsent(domain, new EngineRepository()); + + // 3.构建本地缓存 + // 3.1 构建域信息 + DomainDTO domainRepository = engineRepositoryLoader.loadDomain(domain); + + // 3.2 构建基础数据信息 + List baseDatas = engineRepositoryLoader.loadBaseDatas(domain); + // 3.2.1 编译执行脚本 + compileBaseDataScript(baseDatas); + // 3.2.2 属性仓储信息 + Map refreshBaseDatas = baseDatas.stream().collect(Collectors.toMap(BaseDTO::getUuid, baseData -> baseData)); + + // 3.3 构建元数据信息 + List metadatas = engineRepositoryLoader.loadMetadatas(domain); + Map refreshMetadatas = metadatas.stream().collect(Collectors.toMap(BaseDTO::getUuid, metadata -> metadata)); + + // 3.4 构建数据源信息 + List dataSources = engineRepositoryLoader.loadDataSource(domain); + // 3.4.1 编译执行脚本 + compileDataSourceScript(dataSources); + // 3.4.2 属性仓储信息 + Map refreshDataSources = dataSources.stream().collect(Collectors.toMap(BaseDTO::getUuid, dataSource -> dataSource)); + + // 3.5 构建策略信息 + List strategies = engineRepositoryLoader.loadStrategy(domain); + Map refreshStrategies = strategies.stream() + .collect(Collectors.toMap(x -> new DomainSceneKey(x.getDomainCode(), x.getSceneCode()), dataSource -> dataSource)); + + // 4. 全部构建成功之后,再刷新缓存 + repository.setDomainRepository(domainRepository); + repository.getBaseDataRepository().putAll(refreshBaseDatas); + repository.getMetadataRepository().putAll(refreshMetadatas); + repository.getDataSourceRepository().putAll(refreshDataSources); + repository.getStrategyRepository().putAll(refreshStrategies); + } catch (Throwable e) { + logger.error("[EngineRepositoryHolder][refresh] refresh domain:{} fail,error message:{}", domain, e.getMessage()); } - // 2.新建或者获取域对应的仓储 - EngineRepository repository = ENGINE_REPOSITORY_CONFIG.putIfAbsent(domain, new EngineRepository()); - - // 3.刷新本地缓存 - - // 3.1 刷新域信息 - repository.setDomainRepository(engineRepositoryLoader.loadDomain(domain)); - - // 3.2 刷新基础数据信息 - List baseDatas = engineRepositoryLoader.loadBaseDatas(domain); - // 3.2.1 编译执行脚本 - compileBaseDataScript(baseDatas); - // 3.2.2 属性仓储信息 - Map refreshBaseDatas = baseDatas.stream().collect(Collectors.toMap(BaseDTO::getUuid, baseData -> baseData)); - repository.getBaseDataRepository().putAll(refreshBaseDatas); - - // 3.3 刷新元数据信息 - List metadatas = engineRepositoryLoader.loadMetadatas(domain); - Map refreshMetadatas = metadatas.stream().collect(Collectors.toMap(BaseDTO::getUuid, metadata -> metadata)); - repository.getMetadataRepository().putAll(refreshMetadatas); - - // 3.4 刷新数据源信息 - List dataSources = engineRepositoryLoader.loadDataSource(domain); - // 3.4.1 编译执行脚本 - compileDataSourceScript(dataSources); - // 3.4.2 属性仓储信息 - Map refreshDataSources = dataSources.stream().collect(Collectors.toMap(BaseDTO::getUuid, dataSource -> dataSource)); - repository.getDataSourceRepository().putAll(refreshDataSources); - - // 3.5 构建策略信息 - List strategies = engineRepositoryLoader.loadStrategy(domain); - Map refreshStrategies = strategies.stream() - .collect(Collectors.toMap(x -> new DomainSceneKey(x.getDomainCode(), x.getSceneCode()), dataSource -> dataSource)); - repository.getStrategyRepository().putAll(refreshStrategies); + } /**