mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-15 22:46:49 +00:00
Compare commits
2 Commits
71feb6c4eb
...
9857256488
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9857256488 | ||
|
|
d695bed75d |
@@ -15,7 +15,8 @@ public class DataEvent extends ApplicationEvent {
|
|||||||
|
|
||||||
private final String userName;
|
private final String userName;
|
||||||
|
|
||||||
public DataEvent(Object source, List<DataItem> dataItems, EventType eventType, String userName) {
|
public DataEvent(Object source, List<DataItem> dataItems, EventType eventType,
|
||||||
|
String userName) {
|
||||||
super(source);
|
super(source);
|
||||||
this.dataItems = dataItems;
|
this.dataItems = dataItems;
|
||||||
this.eventType = eventType;
|
this.eventType = eventType;
|
||||||
|
|||||||
@@ -81,7 +81,8 @@ public class DimensionServiceImpl extends ServiceImpl<DimensionDOMapper, Dimensi
|
|||||||
|
|
||||||
public DimensionServiceImpl(DimensionRepository dimensionRepository, ModelService modelService,
|
public DimensionServiceImpl(DimensionRepository dimensionRepository, ModelService modelService,
|
||||||
AliasGenerateHelper aliasGenerateHelper, DatabaseService databaseService,
|
AliasGenerateHelper aliasGenerateHelper, DatabaseService databaseService,
|
||||||
ModelRelaService modelRelaService, DataSetService dataSetService, ApplicationEventPublisher eventPublisher) {
|
ModelRelaService modelRelaService, DataSetService dataSetService,
|
||||||
|
ApplicationEventPublisher eventPublisher) {
|
||||||
this.modelService = modelService;
|
this.modelService = modelService;
|
||||||
this.dimensionRepository = dimensionRepository;
|
this.dimensionRepository = dimensionRepository;
|
||||||
this.aliasGenerateHelper = aliasGenerateHelper;
|
this.aliasGenerateHelper = aliasGenerateHelper;
|
||||||
@@ -115,29 +116,11 @@ public class DimensionServiceImpl extends ServiceImpl<DimensionDOMapper, Dimensi
|
|||||||
.collect(Collectors.toMap(DimensionResp::getBizName, a -> a, (k1, k2) -> k1));
|
.collect(Collectors.toMap(DimensionResp::getBizName, a -> a, (k1, k2) -> k1));
|
||||||
|
|
||||||
List<DimensionReq> dimensionToInsert = Lists.newArrayList();
|
List<DimensionReq> dimensionToInsert = Lists.newArrayList();
|
||||||
List<DimensionReq> dimensionToUpdate = Lists.newArrayList();
|
|
||||||
List<Long> dimensionToDelete = Lists.newArrayList();
|
|
||||||
|
|
||||||
// look for which dimension need to insert, update, delete
|
// look for which dimension need to insert, update, delete
|
||||||
dimensionReqs.stream().forEach(dimension -> {
|
dimensionReqs.forEach(dimension -> {
|
||||||
if (!bizNameMap.containsKey(dimension.getBizName())) {
|
if (!bizNameMap.containsKey(dimension.getBizName())) {
|
||||||
dimensionToInsert.add(dimension);
|
dimensionToInsert.add(dimension);
|
||||||
} else {
|
|
||||||
DimensionResp dimensionRespByBizName = bizNameMap.get(dimension.getBizName());
|
|
||||||
if (null != dimensionRespByBizName && isChange(dimension, dimensionRespByBizName)) {
|
|
||||||
dimension.setId(dimensionRespByBizName.getId());
|
|
||||||
dimension.updatedBy(user.getName());
|
|
||||||
dimensionToUpdate.add(dimension);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// the bizNames from alter dimensions
|
|
||||||
List<String> bizNames =
|
|
||||||
dimensionReqs.stream().map(DimensionReq::getBizName).collect(Collectors.toList());
|
|
||||||
bizNameMap.keySet().forEach(bizNameInDb -> {
|
|
||||||
if (!bizNames.contains(bizNameInDb)) {
|
|
||||||
dimensionToDelete.add(bizNameMap.get(bizNameInDb).getId());
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -146,16 +129,6 @@ public class DimensionServiceImpl extends ServiceImpl<DimensionDOMapper, Dimensi
|
|||||||
createDimensionBatch(dimensionToInsert, user);
|
createDimensionBatch(dimensionToInsert, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
// update
|
|
||||||
if (!CollectionUtils.isEmpty(dimensionToUpdate)) {
|
|
||||||
updateDimensionBatch(dimensionToUpdate, user);
|
|
||||||
}
|
|
||||||
|
|
||||||
// delete
|
|
||||||
if (!CollectionUtils.isEmpty(dimensionToDelete)) {
|
|
||||||
deleteDimensionBatch(dimensionToDelete, user);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -543,14 +516,16 @@ public class DimensionServiceImpl extends ServiceImpl<DimensionDOMapper, Dimensi
|
|||||||
.domainId(dimensionResp.getDomainId().toString()).type(TypeEnums.DIMENSION).build();
|
.domainId(dimensionResp.getDomainId().toString()).type(TypeEnums.DIMENSION).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
private DataEvent getDataEvent(List<DimensionDO> dimensionDOS, EventType eventType, String userName) {
|
private DataEvent getDataEvent(List<DimensionDO> dimensionDOS, EventType eventType,
|
||||||
|
String userName) {
|
||||||
List<DataItem> dataItems = dimensionDOS.stream().map(this::getDataItem)
|
List<DataItem> dataItems = dimensionDOS.stream().map(this::getDataItem)
|
||||||
.filter(Objects::nonNull).collect(Collectors.toList());
|
.filter(Objects::nonNull).collect(Collectors.toList());
|
||||||
return new DataEvent(this, dataItems, eventType, userName);
|
return new DataEvent(this, dataItems, eventType, userName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendEvent(DataItem dataItem, EventType eventType, String userName) {
|
private void sendEvent(DataItem dataItem, EventType eventType, String userName) {
|
||||||
eventPublisher.publishEvent(new DataEvent(this, Lists.newArrayList(dataItem), eventType, userName));
|
eventPublisher.publishEvent(
|
||||||
|
new DataEvent(this, Lists.newArrayList(dataItem), eventType, userName));
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isChange(DimensionReq dimensionReq, DimensionResp dimensionResp) {
|
private boolean isChange(DimensionReq dimensionReq, DimensionResp dimensionResp) {
|
||||||
|
|||||||
@@ -157,28 +157,9 @@ public class MetricServiceImpl extends ServiceImpl<MetricDOMapper, MetricDO>
|
|||||||
.collect(Collectors.toMap(MetricResp::getBizName, a -> a, (k1, k2) -> k1));
|
.collect(Collectors.toMap(MetricResp::getBizName, a -> a, (k1, k2) -> k1));
|
||||||
|
|
||||||
List<MetricReq> metricToInsert = Lists.newArrayList();
|
List<MetricReq> metricToInsert = Lists.newArrayList();
|
||||||
List<MetricReq> metricToUpdate = Lists.newArrayList();
|
metricReqs.forEach(metric -> {
|
||||||
List<Long> metricToDelete = Lists.newArrayList();
|
|
||||||
|
|
||||||
metricReqs.stream().forEach(metric -> {
|
|
||||||
if (!bizNameMap.containsKey(metric.getBizName())) {
|
if (!bizNameMap.containsKey(metric.getBizName())) {
|
||||||
metricToInsert.add(metric);
|
metricToInsert.add(metric);
|
||||||
} else {
|
|
||||||
MetricResp metricRespByBizName = bizNameMap.get(metric.getBizName());
|
|
||||||
if (null != metricRespByBizName && isChange(metric, metricRespByBizName)) {
|
|
||||||
metric.setId(metricRespByBizName.getId());
|
|
||||||
metric.updatedBy(user.getName());
|
|
||||||
metricToUpdate.add(metric);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// the bizNames from alter dimensions
|
|
||||||
List<String> bizNames =
|
|
||||||
metricReqs.stream().map(MetricReq::getBizName).collect(Collectors.toList());
|
|
||||||
bizNameMap.keySet().forEach(bizNameInDb -> {
|
|
||||||
if (!bizNames.contains(bizNameInDb)) {
|
|
||||||
metricToDelete.add(bizNameMap.get(bizNameInDb).getId());
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -187,16 +168,6 @@ public class MetricServiceImpl extends ServiceImpl<MetricDOMapper, MetricDO>
|
|||||||
createMetricBatch(metricToInsert, user);
|
createMetricBatch(metricToInsert, user);
|
||||||
}
|
}
|
||||||
|
|
||||||
// update
|
|
||||||
if (!CollectionUtils.isEmpty(metricToUpdate)) {
|
|
||||||
updateMetricBatch(metricToUpdate, user);
|
|
||||||
}
|
|
||||||
|
|
||||||
// delete
|
|
||||||
if (!CollectionUtils.isEmpty(metricToDelete)) {
|
|
||||||
deleteMetricBatch(metricToDelete, user);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -742,7 +713,8 @@ public class MetricServiceImpl extends ServiceImpl<MetricDOMapper, MetricDO>
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void sendEvent(DataItem dataItem, EventType eventType, User user) {
|
private void sendEvent(DataItem dataItem, EventType eventType, User user) {
|
||||||
eventPublisher.publishEvent(new DataEvent(this, Lists.newArrayList(dataItem), eventType, user.getName()));
|
eventPublisher.publishEvent(
|
||||||
|
new DataEvent(this, Lists.newArrayList(dataItem), eventType, user.getName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private DataItem getDataItem(MetricDO metricDO) {
|
private DataItem getDataItem(MetricDO metricDO) {
|
||||||
|
|||||||
@@ -672,7 +672,8 @@ public class ModelServiceImpl implements ModelService {
|
|||||||
|
|
||||||
private void sendEvent(ModelDO modelDO, EventType eventType, User user) {
|
private void sendEvent(ModelDO modelDO, EventType eventType, User user) {
|
||||||
DataItem dataItem = getDataItem(modelDO);
|
DataItem dataItem = getDataItem(modelDO);
|
||||||
eventPublisher.publishEvent(new DataEvent(this, Lists.newArrayList(dataItem), eventType, user.getName()));
|
eventPublisher.publishEvent(
|
||||||
|
new DataEvent(this, Lists.newArrayList(dataItem), eventType, user.getName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private DataItem getDataItem(ModelDO modelDO) {
|
private DataItem getDataItem(ModelDO modelDO) {
|
||||||
|
|||||||
Reference in New Issue
Block a user