提交 e1bbfeca 编写于 作者: tangyaolong's avatar tangyaolong

加入dsname

上级 b2213a67
...@@ -13,6 +13,7 @@ import cn.ibizlab.core.lite.extensions.domain.RelationshipModel; ...@@ -13,6 +13,7 @@ import cn.ibizlab.core.lite.extensions.domain.RelationshipModel;
import cn.ibizlab.core.lite.extensions.model.DataModel; import cn.ibizlab.core.lite.extensions.model.DataModel;
import cn.ibizlab.core.lite.extensions.model.Property; import cn.ibizlab.core.lite.extensions.model.Property;
import cn.ibizlab.core.lite.extensions.service.LiteModelService; import cn.ibizlab.core.lite.extensions.service.LiteModelService;
import cn.ibizlab.core.lite.filter.DstDataSourceSearchContext;
import cn.ibizlab.core.lite.service.*; import cn.ibizlab.core.lite.service.*;
import cn.ibizlab.core.lite.service.impl.MetaModelServiceImpl; import cn.ibizlab.core.lite.service.impl.MetaModelServiceImpl;
import cn.ibizlab.core.rule.domain.RuleItem; import cn.ibizlab.core.rule.domain.RuleItem;
...@@ -22,11 +23,13 @@ import cn.ibizlab.util.errors.InternalServerErrorException; ...@@ -22,11 +23,13 @@ import cn.ibizlab.util.errors.InternalServerErrorException;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.google.common.base.Joiner;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Primary; import org.springframework.context.annotation.Primary;
import org.springframework.data.domain.Page;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.DigestUtils; import org.springframework.util.DigestUtils;
...@@ -172,6 +175,9 @@ public class MetaModelExService extends MetaModelServiceImpl { ...@@ -172,6 +175,9 @@ public class MetaModelExService extends MetaModelServiceImpl {
if (model.getMetaModel() != null) { if (model.getMetaModel() != null) {
metaModelService.save(model.getMetaModel()); metaModelService.save(model.getMetaModel());
} }
if (model.getEntityModels().size() > 0) {
metaEntityService.saveBatch(entities);
}
if (model.getSystems().size() > 0) { if (model.getSystems().size() > 0) {
dstSystemService.saveBatch(model.getSystems()); dstSystemService.saveBatch(model.getSystems());
} }
...@@ -241,14 +247,11 @@ public class MetaModelExService extends MetaModelServiceImpl { ...@@ -241,14 +247,11 @@ public class MetaModelExService extends MetaModelServiceImpl {
@Transactional @Transactional
public AssembleModel getModel(MetaModel et) { public AssembleModel getModel(MetaModel et) {
String modelId = et.getId(); String modelId = et.getId();
LinkedHashSet masterDsName = new LinkedHashSet();
AssembleModel models = new AssembleModel(); AssembleModel models = new AssembleModel();
Map<String,DstSystem> systemMap = new HashMap();
Map<String,DstDataSource> sourceMap = new HashMap();
List<DAMetric> metrics = new ArrayList<>(); List<DAMetric> metrics = new ArrayList<>();
List<DstSystem> listSystem = new ArrayList<>(); Map<String, DstSystem> systemMap = new HashMap();
List<DstDataSource> listDataSource = new ArrayList<>(); List<Map<String, DstSystem>> systems = new ArrayList<>();
List<Map<String,DstDataSource>> dataSources = new ArrayList();
List<Map<String,DstSystem>> systems = new ArrayList<>();
LinkedHashSet<String> entities = new LinkedHashSet<>(); LinkedHashSet<String> entities = new LinkedHashSet<>();
// 查询模型 // 查询模型
MetaModel metaModel = metaModelService.get(et.getId()); MetaModel metaModel = metaModelService.get(et.getId());
...@@ -290,24 +293,30 @@ public class MetaModelExService extends MetaModelServiceImpl { ...@@ -290,24 +293,30 @@ public class MetaModelExService extends MetaModelServiceImpl {
} }
} }
} }
// 将关联的数据集,上下级关系,字段一并存入 // 用到的数据源和系统
List<EntityModel> entityModels = getEntityModel(modelId); List<EntityModel> entityModels = getEntityModel(modelId);
for (EntityModel entityModel:entityModels) {
if(!ObjectUtils.isEmpty(entityModel.getEntity().getDataSource())){ for (EntityModel entityModel : entityModels) {
sourceMap.put(entityModel.getEntity().getDataSource().getDsId(),entityModel.getEntity().getDataSource()); masterDsName.add(entityModel.getDsName());
}
if(!ObjectUtils.isEmpty(entityModel.getEntity().getSystem())){ if (!ObjectUtils.isEmpty(entityModel.getEntity().getSystem())) {
systemMap.put(entityModel.getEntity().getSystem().getPssystemid(),entityModel.getEntity().getSystem()); systemMap.put(entityModel.getEntity().getSystem().getPssystemid(), entityModel.getEntity().getSystem());
systems.add(systemMap); systems.add(systemMap);
} }
} }
models.setDataSources(new ArrayList<>(sourceMap.values())); // 查询数据源
models.setSystems(new ArrayList<>(systemMap.values())); DstDataSourceSearchContext searchContext = new DstDataSourceSearchContext();
models.setEntityModels(entityModels); searchContext.setN_dsid_in(Joiner.on(";").join(masterDsName));
searchContext.setSize(entityModels.size());
Page<DstDataSource> dstDataSources = dstDataSourceService.searchDefault(searchContext);
models.setMetrics(metrics);
models.setMetaModel(metaModel); models.setMetaModel(metaModel);
models.setRuleItems(metaModel.getRuleitems()); models.setEntityModels(entityModels);
models.setDaBuilds(metaModel.getBuilds()); models.setDaBuilds(metaModel.getBuilds());
models.setMetrics(metrics); models.setRuleItems(metaModel.getRuleitems());
models.setDataSources(dstDataSources.getContent());
models.setSystems(new ArrayList<>(systemMap.values()));
return models; return models;
} }
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册