mirror of
https://github.com/tencentmusic/supersonic.git
synced 2026-04-19 13:04:21 +08:00
Compare commits
6 Commits
cae7cf5c62
...
30d4ffeb6b
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
30d4ffeb6b | ||
|
|
320fcf04bd | ||
|
|
75fc83010c | ||
|
|
94a3da57f3 | ||
|
|
ac31870890 | ||
|
|
bd9bc6b40f |
@@ -102,7 +102,7 @@ public class DimValueAspect {
|
||||
continue;
|
||||
}
|
||||
for (DimensionResp dimension : dimensions) {
|
||||
if (!expression.getFieldName().equals(dimension.getName())
|
||||
if (!expression.getFieldName().equals(dimension.getBizName())
|
||||
|| CollectionUtils.isEmpty(dimension.getDimValueMaps())) {
|
||||
continue;
|
||||
}
|
||||
@@ -124,6 +124,7 @@ public class DimValueAspect {
|
||||
sql = SqlReplaceHelper.replaceValue(sql, filedNameToValueMap);
|
||||
log.debug("correctorSql after replacing:{}", sql);
|
||||
querySqlReq.setSql(sql);
|
||||
querySqlReq.getSqlInfo().setQuerySQL(sql);
|
||||
Map<String, Map<String, String>> techNameToBizName = getTechNameToBizName(dimensions);
|
||||
|
||||
SemanticQueryResp queryResultWithColumns = (SemanticQueryResp) joinPoint.proceed();
|
||||
|
||||
@@ -83,10 +83,13 @@ public class DimensionRepositoryImpl implements DimensionRepository {
|
||||
}
|
||||
if (StringUtils.isNotBlank(dimensionFilter.getKey())) {
|
||||
String key = dimensionFilter.getKey();
|
||||
queryWrapper.lambda().like(DimensionDO::getName, key).or()
|
||||
.like(DimensionDO::getBizName, key).or().like(DimensionDO::getDescription, key)
|
||||
.or().like(DimensionDO::getAlias, key).or()
|
||||
.like(DimensionDO::getCreatedBy, key);
|
||||
queryWrapper.lambda()
|
||||
.and(wrapper -> wrapper
|
||||
.like(DimensionDO::getName, key).or()
|
||||
.like(DimensionDO::getBizName, key).or().like(DimensionDO::getDescription, key)
|
||||
.or().like(DimensionDO::getAlias, key).or()
|
||||
.like(DimensionDO::getCreatedBy, key)
|
||||
);
|
||||
}
|
||||
|
||||
return dimensionDOMapper.selectList(queryWrapper);
|
||||
|
||||
@@ -109,9 +109,14 @@ public class MetricRepositoryImpl implements MetricRepository {
|
||||
}
|
||||
if (StringUtils.isNotBlank(metricFilter.getKey())) {
|
||||
String key = metricFilter.getKey();
|
||||
queryWrapper.lambda().like(MetricDO::getName, key).or().like(MetricDO::getBizName, key)
|
||||
.or().like(MetricDO::getDescription, key).or().like(MetricDO::getAlias, key)
|
||||
.or().like(MetricDO::getCreatedBy, key);
|
||||
queryWrapper.lambda()
|
||||
.and(wrapper -> wrapper
|
||||
.like(MetricDO::getName, key)
|
||||
.or().like(MetricDO::getBizName, key)
|
||||
.or().like(MetricDO::getDescription, key)
|
||||
.or().like(MetricDO::getAlias, key)
|
||||
.or().like(MetricDO::getCreatedBy, key)
|
||||
);
|
||||
}
|
||||
|
||||
return metricDOMapper.selectList(queryWrapper);
|
||||
|
||||
@@ -19,9 +19,10 @@ public class DataSetSchemaBuilder {
|
||||
public static DataSetSchema build(DataSetSchemaResp resp) {
|
||||
DataSetSchema dataSetSchema = new DataSetSchema();
|
||||
dataSetSchema.setQueryConfig(resp.getQueryConfig());
|
||||
SchemaElement dataSet = SchemaElement.builder().dataSetId(resp.getId())
|
||||
.dataSetName(resp.getName()).id(resp.getId()).name(resp.getName())
|
||||
.bizName(resp.getBizName()).type(SchemaElementType.DATASET).build();
|
||||
SchemaElement dataSet =
|
||||
SchemaElement.builder().dataSetId(resp.getId()).dataSetName(resp.getName())
|
||||
.id(resp.getId()).name(resp.getName()).description(resp.getDescription())
|
||||
.bizName(resp.getBizName()).type(SchemaElementType.DATASET).build();
|
||||
dataSetSchema.setDataSet(dataSet);
|
||||
dataSetSchema.setDatabaseType(resp.getDatabaseType());
|
||||
dataSetSchema.setDatabaseVersion(resp.getDatabaseVersion());
|
||||
|
||||
@@ -274,6 +274,8 @@ public class DictUtils {
|
||||
private QuerySqlReq constructQuerySqlReq(DictItemResp dictItemResp) {
|
||||
|
||||
ModelResp model = modelService.getModel(dictItemResp.getModelId());
|
||||
String tableStr = model.getModelDetail().getTableQuery() != null ? model.getModelDetail().getTableQuery()
|
||||
: "(" + model.getModelDetail().getSqlQuery() + ")";
|
||||
String sqlPattern =
|
||||
"select %s,count(1) from %s %s group by %s order by count(1) desc limit %d";
|
||||
String dimBizName = dictItemResp.getBizName();
|
||||
@@ -288,7 +290,7 @@ public class DictUtils {
|
||||
}
|
||||
|
||||
String sql =
|
||||
String.format(sqlPattern, dimBizName, model.getBizName(), where, dimBizName, limit);
|
||||
String.format(sqlPattern, dimBizName, tableStr, where, dimBizName, limit);
|
||||
Set<Long> modelIds = new HashSet<>();
|
||||
modelIds.add(dictItemResp.getModelId());
|
||||
QuerySqlReq querySqlReq = new QuerySqlReq();
|
||||
|
||||
@@ -43,8 +43,8 @@ const Table: React.FC<Props> = ({ data, size, loading, question, onApplyAuth })
|
||||
{`${
|
||||
value
|
||||
? formatByDataFormatType(value, dataFormatType, dataFormat)
|
||||
: 0
|
||||
}%`}
|
||||
: '0%'
|
||||
}`}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user