diff --git a/src/main/java/iet/ustb/sf/controller/AnalysisController.java b/src/main/java/iet/ustb/sf/controller/AnalysisController.java index 0930284..3bdcba9 100644 --- a/src/main/java/iet/ustb/sf/controller/AnalysisController.java +++ b/src/main/java/iet/ustb/sf/controller/AnalysisController.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import iet.ustb.sf.common.R; import iet.ustb.sf.service.AnalysisService; import iet.ustb.sf.vo.AnalysisVo; +import iet.ustb.sf.vo.ColumnVo; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; @@ -42,4 +43,11 @@ public class AnalysisController { return R.ok(analysisVo); } + @Operation(summary = "获取维度列表") + @PostMapping("/getColumns") + public R> getColumns(@RequestBody JSONObject params) { + List columnVos = analysisService.getColumns(params); + return R.ok(columnVos); + } + } diff --git a/src/main/java/iet/ustb/sf/service/AnalysisService.java b/src/main/java/iet/ustb/sf/service/AnalysisService.java index 0e55874..31eb9d8 100644 --- a/src/main/java/iet/ustb/sf/service/AnalysisService.java +++ b/src/main/java/iet/ustb/sf/service/AnalysisService.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; import iet.ustb.sf.domain.Analysis; import com.baomidou.mybatisplus.extension.service.IService; import iet.ustb.sf.vo.AnalysisVo; +import iet.ustb.sf.vo.ColumnVo; import java.util.List; @@ -17,4 +18,6 @@ public interface AnalysisService extends IService { List showAllByTargetId(JSONObject params); AnalysisVo showChartByDetail(JSONObject params); + + List getColumns(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 eff5a2b..fc4ca6d 100644 --- a/src/main/java/iet/ustb/sf/service/impl/AnalysisServiceImpl.java +++ b/src/main/java/iet/ustb/sf/service/impl/AnalysisServiceImpl.java @@ -8,12 +8,14 @@ import iet.ustb.sf.domain.Analysis; import iet.ustb.sf.domain.Target; import iet.ustb.sf.exception.ErrorCode; import iet.ustb.sf.exception.ThrowUtils; +import iet.ustb.sf.mapper.TableColumnMapper; import iet.ustb.sf.mapper.TargetMapper; import iet.ustb.sf.service.AnalysisService; import iet.ustb.sf.mapper.AnalysisMapper; import iet.ustb.sf.service.TargetDataService; import iet.ustb.sf.util.CheckUtils; import iet.ustb.sf.vo.AnalysisVo; +import iet.ustb.sf.vo.ColumnVo; import jakarta.annotation.Resource; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -40,6 +42,9 @@ public class AnalysisServiceImpl extends ServiceImpl @Resource private TargetMapper targetMapper; + @Resource + private TableColumnMapper tableColumnMapper; + @Resource private TargetDataService targetDataService; @@ -117,6 +122,17 @@ public class AnalysisServiceImpl extends ServiceImpl } } + @Override + public List getColumns(JSONObject params) { + String targetId = params.getString("targetId"); + CheckUtils.checkEmpty(targetId, "指标ID"); + + Target target = targetMapper.selectById(targetId); + ThrowUtils.throwIf(target.getType() == 2, ErrorCode.OPERATION_ERROR, "聚合指标无法添加维度分析图表!"); + + return tableColumnMapper.getColumnsByTableName(target.getTableName()); + } + /** * 通过分析图表数据获取SQL *