diff --git a/src/main/java/iet/ustb/sf/controller/AnalysisController.java b/src/main/java/iet/ustb/sf/controller/AnalysisController.java index 3bdcba9..c457cd1 100644 --- a/src/main/java/iet/ustb/sf/controller/AnalysisController.java +++ b/src/main/java/iet/ustb/sf/controller/AnalysisController.java @@ -50,4 +50,11 @@ public class AnalysisController { return R.ok(columnVos); } + @Operation(summary = "获取展示项") + @PostMapping("/getShowVals") + public R> getShowVals(@RequestBody JSONObject params) { + List showVals = analysisService.getShowVals(params); + return R.ok(showVals); + } + } diff --git a/src/main/java/iet/ustb/sf/service/AnalysisService.java b/src/main/java/iet/ustb/sf/service/AnalysisService.java index 31eb9d8..c99296f 100644 --- a/src/main/java/iet/ustb/sf/service/AnalysisService.java +++ b/src/main/java/iet/ustb/sf/service/AnalysisService.java @@ -20,4 +20,6 @@ public interface AnalysisService extends IService { AnalysisVo showChartByDetail(JSONObject params); List getColumns(JSONObject params); + + List getShowVals(JSONObject params); } diff --git a/src/main/java/iet/ustb/sf/service/impl/AnalysisServiceImpl.java b/src/main/java/iet/ustb/sf/service/impl/AnalysisServiceImpl.java index fc4ca6d..b245488 100644 --- a/src/main/java/iet/ustb/sf/service/impl/AnalysisServiceImpl.java +++ b/src/main/java/iet/ustb/sf/service/impl/AnalysisServiceImpl.java @@ -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 return tableColumnMapper.getColumnsByTableName(target.getTableName()); } + @Override + public List 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> list = SqlRunner.db().selectList(sql); + return list.stream() + .map(map -> map == null ? null : map.get(column).toString()) + .collect(Collectors.toList()); + } + /** * 通过分析图表数据获取SQL *