6 Commits

Author SHA1 Message Date
木鱼和尚
30d4ffeb6b Merge 94a3da57f3 into 320fcf04bd 2025-06-25 23:28:03 +00:00
jerryjzhang
320fcf04bd [fix][heaadless]bizName of ModelResp is not necessarily equal to table name.
Some checks failed
supersonic CentOS CI / build (21) (push) Has been cancelled
supersonic mac CI / build (21) (push) Has been cancelled
supersonic ubuntu CI / build (21) (push) Has been cancelled
supersonic windows CI / build (21) (push) Has been cancelled
2025-06-25 23:14:16 +08:00
jerryjzhang
75fc83010c [fix][heaadless]Fix dim value replacement. 2025-06-25 22:22:12 +08:00
lysgithub0302
94a3da57f3 (fix)(webapp)Fix the issue where two '%%' are displayed in the percentage presentation
0 —>0%  but 0.9112->91.12%%
2025-06-16 18:14:23 +08:00
lysgithub0302
ac31870890 (fix)(headless) Metric search will retrieve the metrics of other semantic models 2025-06-16 18:05:43 +08:00
lysgithub0302
bd9bc6b40f (fix)(headless)Dimensional search will retrieve the dimensions of other semantic models 2025-06-16 18:00:56 +08:00
6 changed files with 26 additions and 14 deletions

View File

@@ -102,7 +102,7 @@ public class DimValueAspect {
continue; continue;
} }
for (DimensionResp dimension : dimensions) { for (DimensionResp dimension : dimensions) {
if (!expression.getFieldName().equals(dimension.getName()) if (!expression.getFieldName().equals(dimension.getBizName())
|| CollectionUtils.isEmpty(dimension.getDimValueMaps())) { || CollectionUtils.isEmpty(dimension.getDimValueMaps())) {
continue; continue;
} }
@@ -124,6 +124,7 @@ public class DimValueAspect {
sql = SqlReplaceHelper.replaceValue(sql, filedNameToValueMap); sql = SqlReplaceHelper.replaceValue(sql, filedNameToValueMap);
log.debug("correctorSql after replacing:{}", sql); log.debug("correctorSql after replacing:{}", sql);
querySqlReq.setSql(sql); querySqlReq.setSql(sql);
querySqlReq.getSqlInfo().setQuerySQL(sql);
Map<String, Map<String, String>> techNameToBizName = getTechNameToBizName(dimensions); Map<String, Map<String, String>> techNameToBizName = getTechNameToBizName(dimensions);
SemanticQueryResp queryResultWithColumns = (SemanticQueryResp) joinPoint.proceed(); SemanticQueryResp queryResultWithColumns = (SemanticQueryResp) joinPoint.proceed();

View File

@@ -83,10 +83,13 @@ public class DimensionRepositoryImpl implements DimensionRepository {
} }
if (StringUtils.isNotBlank(dimensionFilter.getKey())) { if (StringUtils.isNotBlank(dimensionFilter.getKey())) {
String key = dimensionFilter.getKey(); String key = dimensionFilter.getKey();
queryWrapper.lambda().like(DimensionDO::getName, key).or() queryWrapper.lambda()
.and(wrapper -> wrapper
.like(DimensionDO::getName, key).or()
.like(DimensionDO::getBizName, key).or().like(DimensionDO::getDescription, key) .like(DimensionDO::getBizName, key).or().like(DimensionDO::getDescription, key)
.or().like(DimensionDO::getAlias, key).or() .or().like(DimensionDO::getAlias, key).or()
.like(DimensionDO::getCreatedBy, key); .like(DimensionDO::getCreatedBy, key)
);
} }
return dimensionDOMapper.selectList(queryWrapper); return dimensionDOMapper.selectList(queryWrapper);

View File

@@ -109,9 +109,14 @@ public class MetricRepositoryImpl implements MetricRepository {
} }
if (StringUtils.isNotBlank(metricFilter.getKey())) { if (StringUtils.isNotBlank(metricFilter.getKey())) {
String key = metricFilter.getKey(); String key = metricFilter.getKey();
queryWrapper.lambda().like(MetricDO::getName, key).or().like(MetricDO::getBizName, key) queryWrapper.lambda()
.or().like(MetricDO::getDescription, key).or().like(MetricDO::getAlias, key) .and(wrapper -> wrapper
.or().like(MetricDO::getCreatedBy, key); .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); return metricDOMapper.selectList(queryWrapper);

View File

@@ -19,8 +19,9 @@ public class DataSetSchemaBuilder {
public static DataSetSchema build(DataSetSchemaResp resp) { public static DataSetSchema build(DataSetSchemaResp resp) {
DataSetSchema dataSetSchema = new DataSetSchema(); DataSetSchema dataSetSchema = new DataSetSchema();
dataSetSchema.setQueryConfig(resp.getQueryConfig()); dataSetSchema.setQueryConfig(resp.getQueryConfig());
SchemaElement dataSet = SchemaElement.builder().dataSetId(resp.getId()) SchemaElement dataSet =
.dataSetName(resp.getName()).id(resp.getId()).name(resp.getName()) SchemaElement.builder().dataSetId(resp.getId()).dataSetName(resp.getName())
.id(resp.getId()).name(resp.getName()).description(resp.getDescription())
.bizName(resp.getBizName()).type(SchemaElementType.DATASET).build(); .bizName(resp.getBizName()).type(SchemaElementType.DATASET).build();
dataSetSchema.setDataSet(dataSet); dataSetSchema.setDataSet(dataSet);
dataSetSchema.setDatabaseType(resp.getDatabaseType()); dataSetSchema.setDatabaseType(resp.getDatabaseType());

View File

@@ -274,6 +274,8 @@ public class DictUtils {
private QuerySqlReq constructQuerySqlReq(DictItemResp dictItemResp) { private QuerySqlReq constructQuerySqlReq(DictItemResp dictItemResp) {
ModelResp model = modelService.getModel(dictItemResp.getModelId()); ModelResp model = modelService.getModel(dictItemResp.getModelId());
String tableStr = model.getModelDetail().getTableQuery() != null ? model.getModelDetail().getTableQuery()
: "(" + model.getModelDetail().getSqlQuery() + ")";
String sqlPattern = String sqlPattern =
"select %s,count(1) from %s %s group by %s order by count(1) desc limit %d"; "select %s,count(1) from %s %s group by %s order by count(1) desc limit %d";
String dimBizName = dictItemResp.getBizName(); String dimBizName = dictItemResp.getBizName();
@@ -288,7 +290,7 @@ public class DictUtils {
} }
String sql = String sql =
String.format(sqlPattern, dimBizName, model.getBizName(), where, dimBizName, limit); String.format(sqlPattern, dimBizName, tableStr, where, dimBizName, limit);
Set<Long> modelIds = new HashSet<>(); Set<Long> modelIds = new HashSet<>();
modelIds.add(dictItemResp.getModelId()); modelIds.add(dictItemResp.getModelId());
QuerySqlReq querySqlReq = new QuerySqlReq(); QuerySqlReq querySqlReq = new QuerySqlReq();

View File

@@ -43,8 +43,8 @@ const Table: React.FC<Props> = ({ data, size, loading, question, onApplyAuth })
{`${ {`${
value value
? formatByDataFormatType(value, dataFormatType, dataFormat) ? formatByDataFormatType(value, dataFormatType, dataFormat)
: 0 : '0%'
}%`} }`}
</div> </div>
); );
} }