指标分析:获取展示项

This commit is contained in:
huangge1199 2025-08-13 11:06:06 +08:00
parent f073b82d64
commit b1327ba588
3 changed files with 27 additions and 0 deletions

View File

@ -50,4 +50,11 @@ public class AnalysisController {
return R.ok(columnVos);
}
@Operation(summary = "获取展示项")
@PostMapping("/getShowVals")
public R<List<?>> getShowVals(@RequestBody JSONObject params) {
List<String> showVals = analysisService.getShowVals(params);
return R.ok(showVals);
}
}

View File

@ -20,4 +20,6 @@ public interface AnalysisService extends IService<Analysis> {
AnalysisVo showChartByDetail(JSONObject params);
List<ColumnVo> getColumns(JSONObject params);
List<String> getShowVals(JSONObject params);
}

View File

@ -26,6 +26,7 @@ import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author hyy
@ -133,6 +134,23 @@ public class AnalysisServiceImpl extends ServiceImpl<AnalysisMapper, Analysis>
return tableColumnMapper.getColumnsByTableName(target.getTableName());
}
@Override
public List<String> getShowVals(JSONObject params) {
String targetId = params.getString("targetId");
CheckUtils.checkEmpty(targetId, "指标ID");
String column = params.getString("column");
CheckUtils.checkEmpty(column, "英文列名");
Target target = targetMapper.selectById(targetId);
ThrowUtils.throwIf(target.getType() == 2, ErrorCode.OPERATION_ERROR, "聚合指标无法添加维度分析图表!");
String sql = "SELECT DISTINCT " + column + " FROM " + target.getTableName();
List<Map<String, Object>> list = SqlRunner.db().selectList(sql);
return list.stream()
.map(map -> map == null ? null : map.get(column).toString())
.collect(Collectors.toList());
}
/**
* 通过分析图表数据获取SQL
*