4 Commits

Author SHA1 Message Date
FredTsang
eec60845af Merge f489ea2f59 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
FredTsang
f489ea2f59 (fix)(chat-sdk): Export data based on queryColumns 2025-06-12 19:02:03 +08:00
4 changed files with 12 additions and 9 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

@@ -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

@@ -416,11 +416,10 @@ const ChatItem: React.FC<Props> = ({
const onExportData = () => { const onExportData = () => {
const { queryColumns, queryResults } = data || {}; const { queryColumns, queryResults } = data || {};
if (!!queryResults) { if (!!queryResults && !!queryColumns) {
const exportData = queryResults.map(item => { const exportData = queryResults.map(item => {
return Object.keys(item).reduce((result, key) => { return queryColumns.reduce((result, column) => {
const columnName = queryColumns?.find(column => column.nameEn === key)?.name || key; result[column.name || column.nameEn] = item[column.nameEn];
result[columnName] = item[key];
return result; return result;
}, {}); }, {});
}); });