采用indexRule获取并保存关联的原子指标关联信息

topo_dev
DESKTOP-DDTUS3E\yaxin 6 months ago
parent f8e18d9827
commit 081652b8fb

@ -47,23 +47,10 @@ public class ModelIndexAtomicRelationServiceImpl extends ServiceImpl<ModelIndexA
log.warn("saveByModelIndex: modelIndexId 为空,不保存关联关系....modelIndex:{}", JSONUtil.toJsonStr(modelIndex));
return;
}
String judgeLogic = modelIndex.getJudgeLogic();
IndexRule indexRule = modelIndex.getIndexRule();
if (StrUtil.isNotEmpty(judgeLogic)){
List<String> atomicIndexIds = JudgeLogicUtil.pickAtomicIndexIds(judgeLogic);
atomicIndexIds.forEach(atomicIndexId -> {
ModelIndexAtomicRelation modelIndexAtomicRelation = new ModelIndexAtomicRelation();
modelIndexAtomicRelation.setModelIndexId(modelIndex.getId());
modelIndexAtomicRelation.setAtomicIndexId(atomicIndexId);
super.save(modelIndexAtomicRelation);
});
}else if(Objects.nonNull(indexRule)){
if(Objects.nonNull(indexRule)){
Set<String> ids = new HashSet<>();
indexRule.getRuleConditionGroupList().forEach(ruleConditionGroup -> {
ruleConditionGroup.getRuleConditionList().forEach(ruleCondition -> {
ids.add(ruleCondition.getAtomicIndexId());
});
});
indexRule.getRuleConditionGroupList().forEach(ruleConditionGroup -> ruleConditionGroup.getRuleConditionList().forEach(ruleCondition -> ids.add(ruleCondition.getAtomicIndexId())));
ids.forEach(atomicIndexId -> {
ModelIndexAtomicRelation modelIndexAtomicRelation = new ModelIndexAtomicRelation();
modelIndexAtomicRelation.setModelIndexId(modelIndex.getId());

@ -148,7 +148,7 @@ public class ModelIndexServiceImpl extends ServiceImpl<ModelIndexMapper, ModelIn
@Override
@Transactional(transactionManager = "dataSourceTransactionManager", rollbackFor = Exception.class)
public R<?> addOrUpd(ModelIndex modelIndex) {
int i = 0;
int i;
if (StringUtils.isEmpty(modelIndex.getId())) {
i = modelIndexMapper.insert(modelIndex);
modelIndexAtomicRelationService.saveByModelIndex(modelIndex);

Loading…
Cancel
Save