Unverified Commit 24bd97a1 authored by Licho's avatar Licho Committed by GitHub

chore: add result type strict and format code (#1161)

parent 88b77052
......@@ -25,14 +25,20 @@ import com.dlink.dto.StudioCADTO;
import com.dlink.dto.StudioDDLDTO;
import com.dlink.dto.StudioExecuteDTO;
import com.dlink.dto.StudioMetaStoreDTO;
import com.dlink.explainer.lineage.LineageResult;
import com.dlink.job.JobResult;
import com.dlink.model.Catalog;
import com.dlink.model.FlinkColumn;
import com.dlink.model.Schema;
import com.dlink.result.IResult;
import com.dlink.result.SelectResult;
import com.dlink.result.SqlExplainResult;
import com.dlink.service.StudioService;
import com.dlink.session.SessionInfo;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -43,6 +49,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import lombok.extern.slf4j.Slf4j;
......@@ -57,14 +64,17 @@ import lombok.extern.slf4j.Slf4j;
@RequestMapping("/api/studio")
public class StudioController {
@Autowired
private StudioService studioService;
private final StudioService studioService;
public StudioController(StudioService studioService) {
this.studioService = studioService;
}
/**
* 执行Sql
*/
@PostMapping("/executeSql")
public Result executeSql(@RequestBody StudioExecuteDTO studioExecuteDTO) {
public Result<JobResult> executeSql(@RequestBody StudioExecuteDTO studioExecuteDTO) {
JobResult jobResult = studioService.executeSql(studioExecuteDTO);
return Result.succeed(jobResult, "执行成功");
}
......@@ -73,7 +83,7 @@ public class StudioController {
* 解释Sql
*/
@PostMapping("/explainSql")
public Result explainSql(@RequestBody StudioExecuteDTO studioExecuteDTO) {
public Result<List<SqlExplainResult>> explainSql(@RequestBody StudioExecuteDTO studioExecuteDTO) {
return Result.succeed(studioService.explainSql(studioExecuteDTO), "解释成功");
}
......@@ -81,7 +91,7 @@ public class StudioController {
* 获取执行图
*/
@PostMapping("/getStreamGraph")
public Result getStreamGraph(@RequestBody StudioExecuteDTO studioExecuteDTO) {
public Result<ObjectNode> getStreamGraph(@RequestBody StudioExecuteDTO studioExecuteDTO) {
return Result.succeed(studioService.getStreamGraph(studioExecuteDTO), "获取执行图成功");
}
......@@ -89,7 +99,7 @@ public class StudioController {
* 获取sql的jobplan
*/
@PostMapping("/getJobPlan")
public Result getJobPlan(@RequestBody StudioExecuteDTO studioExecuteDTO) {
public Result<ObjectNode> getJobPlan(@RequestBody StudioExecuteDTO studioExecuteDTO) {
try {
return Result.succeed(studioService.getJobPlan(studioExecuteDTO), "获取作业计划成功");
} catch (Exception e) {
......@@ -102,7 +112,7 @@ public class StudioController {
* 进行DDL操作
*/
@PostMapping("/executeDDL")
public Result executeDDL(@RequestBody StudioDDLDTO studioDDLDTO) {
public Result<IResult> executeDDL(@RequestBody StudioDDLDTO studioDDLDTO) {
IResult result = studioService.executeDDL(studioDDLDTO);
return Result.succeed(result, "执行成功");
}
......@@ -111,7 +121,7 @@ public class StudioController {
* 根据jobId获取数据
*/
@GetMapping("/getJobData")
public Result getJobData(@RequestParam String jobId) {
public Result<SelectResult> getJobData(@RequestParam String jobId) {
return Result.succeed(studioService.getJobData(jobId), "获取成功");
}
......@@ -119,7 +129,7 @@ public class StudioController {
* 获取单任务实例的血缘分析
*/
@PostMapping("/getLineage")
public Result getLineage(@RequestBody StudioCADTO studioCADTO) {
public Result<LineageResult> getLineage(@RequestBody StudioCADTO studioCADTO) {
return Result.succeed(studioService.getLineage(studioCADTO), "刷新成功");
}
......@@ -127,7 +137,7 @@ public class StudioController {
* 创建session
*/
@PutMapping("/createSession")
public Result createSession(@RequestBody SessionDTO sessionDTO) {
public Result<SessionInfo> createSession(@RequestBody SessionDTO sessionDTO) {
return Result.succeed(studioService.createSession(sessionDTO, "admin"), "创建成功");
}
......@@ -135,22 +145,23 @@ public class StudioController {
* 清除指定session
*/
@DeleteMapping("/clearSession")
public Result clearSession(@RequestBody JsonNode para) {
if (para.size() > 0) {
List<String> error = new ArrayList<>();
for (final JsonNode item : para) {
String session = item.asText();
if (!studioService.clearSession(session)) {
error.add(session);
}
}
if (error.size() == 0) {
return Result.succeed("清除成功");
} else {
return Result.succeed("清除部分成功,但" + error.toString() + "清除失败,共" + error.size() + "次失败。");
public Result<String> clearSession(@RequestBody JsonNode para) {
if (para.size() <= 0) {
return Result.failed("请选择要清除的记录");
}
List<String> error = new ArrayList<>();
for (final JsonNode item : para) {
String session = item.asText();
if (!studioService.clearSession(session)) {
error.add(session);
}
}
if (error.isEmpty()) {
return Result.succeed("清除成功");
} else {
return Result.failed("请选择要清除的记录");
return Result.succeed(String.format("清除部分成功,但%s清除失败,共%d次失败。", error, error.size()));
}
}
......@@ -158,24 +169,24 @@ public class StudioController {
* 获取session列表
*/
@GetMapping("/listSession")
public Result listSession() {
public Result<List<SessionInfo>> listSession() {
return Result.succeed(studioService.listSession("admin"), "获取成功");
}
/**
* 获取flinkjobs列表
* 获取flinkJobs列表
*/
@GetMapping("/listJobs")
public Result listJobs(@RequestParam Integer clusterId) {
public Result<JsonNode[]> listJobs(@RequestParam Integer clusterId) {
List<JsonNode> jobs = studioService.listJobs(clusterId);
return Result.succeed(jobs.toArray(), "获取成功");
return Result.succeed(jobs.toArray(new JsonNode[0]), "获取成功");
}
/**
* 停止任务
*/
@GetMapping("/cancel")
public Result cancel(@RequestParam Integer clusterId, @RequestParam String jobId) {
public Result<Boolean> cancel(@RequestParam Integer clusterId, @RequestParam String jobId) {
return Result.succeed(studioService.cancel(clusterId, jobId), "停止成功");
}
......@@ -183,8 +194,7 @@ public class StudioController {
* savepoint
*/
@GetMapping("/savepoint")
public Result savepoint(@RequestParam Integer clusterId, @RequestParam String jobId,
@RequestParam String savePointType, @RequestParam String name, @RequestParam Integer taskId) {
public Result<Boolean> savepoint(@RequestParam Integer clusterId, @RequestParam String jobId, @RequestParam String savePointType, @RequestParam String name, @RequestParam Integer taskId) {
return Result.succeed(studioService.savepoint(taskId, clusterId, jobId, savePointType, name), "savepoint 成功");
}
......@@ -192,7 +202,7 @@ public class StudioController {
* 获取 Meta Store Catalog 和 Database
*/
@PostMapping("/getMSCatalogs")
public Result getMSCatalogs(@RequestBody StudioMetaStoreDTO studioMetaStoreDTO) {
public Result<List<Catalog>> getMSCatalogs(@RequestBody StudioMetaStoreDTO studioMetaStoreDTO) {
return Result.succeed(studioService.getMSCatalogs(studioMetaStoreDTO), "获取成功");
}
......@@ -200,7 +210,7 @@ public class StudioController {
* 获取 Meta Store Schema/Database 信息
*/
@PostMapping("/getMSSchemaInfo")
public Result getMSSchemaInfo(@RequestBody StudioMetaStoreDTO studioMetaStoreDTO) {
public Result<Schema> getMSSchemaInfo(@RequestBody StudioMetaStoreDTO studioMetaStoreDTO) {
return Result.succeed(studioService.getMSSchemaInfo(studioMetaStoreDTO), "获取成功");
}
......@@ -208,7 +218,7 @@ public class StudioController {
* 获取 Meta Store Flink Column 信息
*/
@GetMapping("/getMSFlinkColumns")
public Result getMSFlinkColumns(@RequestParam Integer envId, @RequestParam String catalog, @RequestParam String database, @RequestParam String table) {
public Result<List<FlinkColumn>> getMSFlinkColumns(@RequestParam Integer envId, @RequestParam String catalog, @RequestParam String database, @RequestParam String table) {
StudioMetaStoreDTO studioMetaStoreDTO = new StudioMetaStoreDTO();
studioMetaStoreDTO.setEnvId(envId);
studioMetaStoreDTO.setCatalog(catalog);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment