From b1327ba588875a6c3c78f22b4abfc8e2569facf9 Mon Sep 17 00:00:00 2001 From: huangge1199 Date: Wed, 13 Aug 2025 11:06:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=87=E6=A0=87=E5=88=86=E6=9E=90=EF=BC=9A?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=B1=95=E7=A4=BA=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ustb/sf/controller/AnalysisController.java | 7 +++++++ .../iet/ustb/sf/service/AnalysisService.java | 2 ++ .../sf/service/impl/AnalysisServiceImpl.java | 18 ++++++++++++++++++ 3 files changed, 27 insertions(+) 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 *