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

加入dsname

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