mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-11 12:07:42 +00:00
(improvement)(headless) Update data demo (#659)
Co-authored-by: jolunoluo
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
package com.tencent.supersonic.headless.api.pojo;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class FieldParam {
|
||||
|
||||
private String fieldName;
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
package com.tencent.supersonic.headless.api.pojo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class MetricParam {
|
||||
|
||||
private Long id;
|
||||
|
||||
@@ -339,14 +339,14 @@ public class DimensionServiceImpl implements DimensionService {
|
||||
if (bizNameMap.containsKey(dimensionReq.getBizName())) {
|
||||
DimensionResp dimensionResp = bizNameMap.get(dimensionReq.getBizName());
|
||||
if (!dimensionResp.getId().equals(dimensionReq.getId())) {
|
||||
throw new RuntimeException(String.format("该模型下存在相同的维度字段名:%s 创建人:%s",
|
||||
throw new RuntimeException(String.format("该主题域下存在相同的维度字段名:%s 创建人:%s",
|
||||
dimensionReq.getBizName(), dimensionResp.getCreatedBy()));
|
||||
}
|
||||
}
|
||||
if (nameMap.containsKey(dimensionReq.getName())) {
|
||||
DimensionResp dimensionResp = nameMap.get(dimensionReq.getName());
|
||||
if (!dimensionResp.getId().equals(dimensionReq.getId())) {
|
||||
throw new RuntimeException(String.format("该模型下存在相同的维度名:%s 创建人:%s",
|
||||
throw new RuntimeException(String.format("该主题域下存在相同的维度名:%s 创建人:%s",
|
||||
dimensionReq.getName(), dimensionResp.getCreatedBy()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public class ModelConverter {
|
||||
|
||||
public static ModelDO convert(ModelReq modelReq, User user) {
|
||||
ModelDO modelDO = new ModelDO();
|
||||
ModelDetail modelDetail = getModelDetail(modelReq);
|
||||
ModelDetail modelDetail = createModelDetail(modelReq);
|
||||
modelReq.createdBy(user.getName());
|
||||
BeanMapper.mapper(modelReq, modelDO);
|
||||
modelDO.setStatus(StatusEnum.ONLINE.getCode());
|
||||
@@ -76,7 +76,7 @@ public class ModelConverter {
|
||||
}
|
||||
|
||||
public static ModelDO convert(ModelDO modelDO, ModelReq modelReq, User user) {
|
||||
ModelDetail modelDetail = getModelDetail(modelReq);
|
||||
ModelDetail modelDetail = updateModelDetail(modelReq);
|
||||
BeanMapper.mapper(modelReq, modelDO);
|
||||
if (modelReq.getDrillDownDimensions() != null) {
|
||||
modelDO.setDrillDownDimensions(JSONObject.toJSONString(modelReq.getDrillDownDimensions()));
|
||||
@@ -114,7 +114,7 @@ public class ModelConverter {
|
||||
public static MetricReq convert(Measure measure, ModelDO modelDO) {
|
||||
MetricReq metricReq = new MetricReq();
|
||||
metricReq.setName(measure.getName());
|
||||
metricReq.setBizName(measure.getBizName().replaceFirst(modelDO.getBizName() + "_", ""));
|
||||
metricReq.setBizName(measure.getExpr());
|
||||
metricReq.setDescription(measure.getName());
|
||||
metricReq.setModelId(modelDO.getId());
|
||||
MetricDefineByMeasureParams exprTypeParams = new MetricDefineByMeasureParams();
|
||||
@@ -200,9 +200,29 @@ public class ModelConverter {
|
||||
return measures.stream().map(measure -> convert(measure, modelDO)).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
private static ModelDetail getModelDetail(ModelReq modelReq) {
|
||||
private static ModelDetail createModelDetail(ModelReq modelReq) {
|
||||
ModelDetail modelDetail = new ModelDetail();
|
||||
List<Measure> measures = modelReq.getModelDetail().getMeasures();
|
||||
if (measures == null) {
|
||||
measures = Lists.newArrayList();
|
||||
}
|
||||
for (Measure measure : measures) {
|
||||
if (StringUtils.isBlank(measure.getBizName())) {
|
||||
continue;
|
||||
}
|
||||
measure.setExpr(measure.getBizName());
|
||||
measure.setBizName(String.format("%s_%s", modelReq.getBizName(), measure.getExpr()));
|
||||
}
|
||||
BeanMapper.mapper(modelReq.getModelDetail(), modelDetail);
|
||||
return modelDetail;
|
||||
}
|
||||
|
||||
private static ModelDetail updateModelDetail(ModelReq modelReq) {
|
||||
ModelDetail modelDetail = new ModelDetail();
|
||||
List<Measure> measures = modelReq.getModelDetail().getMeasures();
|
||||
if (measures == null) {
|
||||
measures = Lists.newArrayList();
|
||||
}
|
||||
for (Measure measure : measures) {
|
||||
if (StringUtils.isBlank(measure.getBizName())) {
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user