diff --git a/wm-bi/pom.xml b/wm-bi/pom.xml
index 87843b69..dda0db76 100644
--- a/wm-bi/pom.xml
+++ b/wm-bi/pom.xml
@@ -12,5 +12,12 @@
com.baomidoumybatis-plus-spring-boot3-starter
cn.dev33sa-token-spring-boot3-starter
org.postgresqlpostgresql
+
+ org.apache.poipoi
+ org.apache.poipoi-ooxml
+
+ org.springframework.bootspring-boot-starter-quartz
+
+ com.fasterxml.jackson.corejackson-databind
\ No newline at end of file
diff --git a/wm-bi/src/main/java/com/water/bi/common/Result.java b/wm-bi/src/main/java/com/water/bi/common/Result.java
new file mode 100644
index 00000000..aaa223e6
--- /dev/null
+++ b/wm-bi/src/main/java/com/water/bi/common/Result.java
@@ -0,0 +1,46 @@
+package com.water.bi.common;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 通用响应结果
+ */
+@Data
+public class Result implements Serializable {
+
+ private Integer code;
+ private String message;
+ private T data;
+
+ public Result() {}
+
+ public Result(Integer code, String message, T data) {
+ this.code = code;
+ this.message = message;
+ this.data = data;
+ }
+
+ // 成功响应
+ public static Result success(T data) {
+ return new Result<>(200, "操作成功", data);
+ }
+
+ public static Result success(String message, T data) {
+ return new Result<>(200, message, data);
+ }
+
+ public static Result success() {
+ return new Result<>(200, "操作成功", null);
+ }
+
+ // 失败响应
+ public static Result error(String message) {
+ return new Result<>(500, message, null);
+ }
+
+ public static Result error(Integer code, String message) {
+ return new Result<>(code, message, null);
+ }
+}
\ No newline at end of file
diff --git a/wm-bi/src/main/java/com/water/bi/controller/DataAnalysisController.java b/wm-bi/src/main/java/com/water/bi/controller/DataAnalysisController.java
index a0aaad7b..cd8d7579 100644
--- a/wm-bi/src/main/java/com/water/bi/controller/DataAnalysisController.java
+++ b/wm-bi/src/main/java/com/water/bi/controller/DataAnalysisController.java
@@ -1,71 +1,62 @@
package com.water.bi.controller;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.water.bi.service.DataAnalysisService;
-import com.water.bi.entity.BIDashboard;
import com.water.bi.entity.DataAnalysisTask;
-import com.water.bi.entity.DataVisualization;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.water.bi.entity.BIDashboard;
import java.util.List;
import java.util.Map;
-import java.util.concurrent.CompletableFuture;
/**
* 数据分析平台控制器
+ * BI-02: 数据分析平台:自助BI看板,多维数据分析
*/
@RestController
@RequestMapping("/api/data-analysis")
-@CrossOrigin
+@CrossOrigin(origins = "*")
public class DataAnalysisController {
-
+
@Autowired
private DataAnalysisService dataAnalysisService;
-
+
/**
- * 获取BI看板列表
+ * 创建数据分析任务
*/
- @GetMapping("/dashboards")
- public List getDashboardList() {
- return dataAnalysisService.getDashboardList();
+ @PostMapping("/tasks")
+ public Result createAnalysisTask(@RequestBody DataAnalysisTask task) {
+ return Result.success(dataAnalysisService.createAnalysisTask(task));
}
-
+
/**
- * 创建BI看板
+ * 获取数据分析任务列表
*/
- @PostMapping("/dashboards")
- public BIDashboard createDashboard(@RequestBody BIDashboard dashboard) {
- return dataAnalysisService.createDashboard(dashboard);
+ @GetMapping("/tasks")
+ public Result> getAnalysisTasks() {
+ return Result.success(dataAnalysisService.listAnalysisTasks());
}
-
+
/**
* 执行数据分析任务
*/
- @PostMapping("/analysis")
- public CompletableFuture