From fd4441cb29e9300c74dac9285402b1e4ccc280d8 Mon Sep 17 00:00:00 2001 From: wangqi Date: Tue, 20 Feb 2024 18:41:04 +0800 Subject: [PATCH 1/5] feature: refactor ws_flink_artifact_cdc --- ...java => WsArtifactFlinkCDCController.java} | 80 +++++---- ...java => WsArtifactFlinkJarController.java} | 2 +- ...java => WsArtifactFlinkSqlController.java} | 4 +- ...tifactCDC.java => WsArtifactFlinkCDC.java} | 20 +-- ...per.java => WsArtifactFlinkCDCMapper.java} | 14 +- .../master/ws/WsArtifactFlinkCDCMapper.xml | 73 ++++++++ .../master/ws/WsFlinkArtifactCDCMapper.xml | 105 ----------- .../Workspace/Artifact/CDC/Dag/index.tsx | 4 +- .../Artifact/CDC/FlinkArtifactCDCForm.tsx | 10 +- .../Project/Workspace/Artifact/CDC/index.tsx | 42 ++--- .../Artifact/Jar/FlinkArtifactJarAddForm.tsx | 4 +- .../Jar/FlinkArtifactJarUpdateForm.tsx | 4 +- .../Workspace/Artifact/Jar/History/index.tsx | 8 +- .../Project/Workspace/Artifact/Jar/index.tsx | 8 +- .../Project/Workspace/Artifact/Sql/index.tsx | 2 +- .../Workspace/Kubernetes/Job/JobForm.tsx | 4 +- .../project/WsArtifactFlinkCDCService.ts | 97 ++++++++++ ...ervice.ts => WsArtifactFlinkJarService.ts} | 24 +-- ...ervice.ts => WsArtifactFlinkSqlService.ts} | 0 .../src/services/project/WsFlinkCDCService.ts | 69 ------- .../services/project/flinkArtifact.service.ts | 42 ----- .../src/services/project/typings.d.ts | 18 +- ...ce.java => WsArtifactFlinkCDCService.java} | 27 ++- ...rt.java => WsArtifactFlinkCDCConvert.java} | 22 +-- ...CDCDTO.java => WsArtifactFlinkCDCDTO.java} | 6 +- .../service/impl/FlinkCDCJobServiceImpl.java | 160 ----------------- .../impl/WsArtifactFlinkCDCServiceImpl.java | 168 ++++++++++++++++++ ...m.java => WsArtifactFlinkCDCAddParam.java} | 6 +- .../WsArtifactFlinkCDCArtifactParam.java | 33 ++++ ...java => WsArtifactFlinkCDCGraphParam.java} | 2 +- ....java => WsArtifactFlinkCDCListParam.java} | 2 +- ...=> WsArtifactFlinkCDCSelectListParam.java} | 2 +- ...ava => WsArtifactFlinkCDCUpdateParam.java} | 6 +- .../impl/WsArtifactFlinkSqlServiceImpl.java | 2 +- .../docker/mysql/init.d/scaleph-ws-mysql.sql | 14 +- 35 files changed, 541 insertions(+), 543 deletions(-) rename scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/{WsFlinkCDCController.java => WsArtifactFlinkCDCController.java} (59%) rename scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/{WsArtifactJarController.java => WsArtifactFlinkJarController.java} (99%) rename scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/{WsArtifactSqlController.java => WsArtifactFlinkSqlController.java} (97%) rename scaleph-dao/src/main/java/cn/sliew/scaleph/dao/entity/master/ws/{WsFlinkArtifactCDC.java => WsArtifactFlinkCDC.java} (80%) rename scaleph-dao/src/main/java/cn/sliew/scaleph/dao/mapper/master/ws/{WsFlinkArtifactCDCMapper.java => WsArtifactFlinkCDCMapper.java} (77%) create mode 100644 scaleph-dao/src/main/resources/cn/sliew/scaleph/dao/mapper/master/ws/WsArtifactFlinkCDCMapper.xml delete mode 100644 scaleph-dao/src/main/resources/cn/sliew/scaleph/dao/mapper/master/ws/WsFlinkArtifactCDCMapper.xml create mode 100644 scaleph-ui-react2/src/services/project/WsArtifactFlinkCDCService.ts rename scaleph-ui-react2/src/services/project/{flinkArtifactJar.service.ts => WsArtifactFlinkJarService.ts} (66%) rename scaleph-ui-react2/src/services/project/{WsFlinkArtifactSqlService.ts => WsArtifactFlinkSqlService.ts} (100%) delete mode 100644 scaleph-ui-react2/src/services/project/WsFlinkCDCService.ts delete mode 100644 scaleph-ui-react2/src/services/project/flinkArtifact.service.ts rename scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/{FlinkCDCJobService.java => WsArtifactFlinkCDCService.java} (53%) rename scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/convert/{WsFlinkArtifactCDCConvert.java => WsArtifactFlinkCDCConvert.java} (62%) rename scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/dto/{WsFlinkArtifactCDCDTO.java => WsArtifactFlinkCDCDTO.java} (90%) delete mode 100644 scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/impl/FlinkCDCJobServiceImpl.java create mode 100644 scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/impl/WsArtifactFlinkCDCServiceImpl.java rename scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/{WsFlinkArtifactCDCAddParam.java => WsArtifactFlinkCDCAddParam.java} (79%) create mode 100644 scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCArtifactParam.java rename scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/{WsFlinkArtifactCDCGraphParam.java => WsArtifactFlinkCDCGraphParam.java} (96%) rename scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/{WsFlinkArtifactCDCListParam.java => WsArtifactFlinkCDCListParam.java} (95%) rename scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/{WsFlinkArtifactCDCSelectListParam.java => WsArtifactFlinkCDCSelectListParam.java} (95%) rename scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/{WsFlinkArtifactCDCUpdateParam.java => WsArtifactFlinkCDCUpdateParam.java} (79%) diff --git a/scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsFlinkCDCController.java b/scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsArtifactFlinkCDCController.java similarity index 59% rename from scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsFlinkCDCController.java rename to scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsArtifactFlinkCDCController.java index ff13f7cb1..1249764da 100644 --- a/scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsFlinkCDCController.java +++ b/scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsArtifactFlinkCDCController.java @@ -21,15 +21,11 @@ import cn.sliew.scaleph.api.annotation.Logging; import cn.sliew.scaleph.common.exception.ScalephException; import cn.sliew.scaleph.dag.xflow.dnd.DndDTO; -import cn.sliew.scaleph.workspace.flink.cdc.service.FlinkCDCDagService; -import cn.sliew.scaleph.workspace.flink.cdc.service.FlinkCDCJobService; -import cn.sliew.scaleph.workspace.flink.cdc.service.dto.WsFlinkArtifactCDCDTO; -import cn.sliew.scaleph.workspace.flink.cdc.service.param.WsFlinkArtifactCDCAddParam; -import cn.sliew.scaleph.workspace.flink.cdc.service.param.WsFlinkArtifactCDCListParam; -import cn.sliew.scaleph.workspace.flink.cdc.service.param.WsFlinkArtifactCDCSelectListParam; -import cn.sliew.scaleph.workspace.flink.cdc.service.param.WsFlinkArtifactCDCUpdateParam; -import cn.sliew.scaleph.plugin.framework.exception.PluginException; import cn.sliew.scaleph.system.model.ResponseVO; +import cn.sliew.scaleph.workspace.flink.cdc.service.FlinkCDCDagService; +import cn.sliew.scaleph.workspace.flink.cdc.service.WsArtifactFlinkCDCService; +import cn.sliew.scaleph.workspace.flink.cdc.service.dto.WsArtifactFlinkCDCDTO; +import cn.sliew.scaleph.workspace.flink.cdc.service.param.*; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -42,53 +38,61 @@ import javax.validation.Valid; import java.util.List; -@Tag(name = "Flink CDC") +@Tag(name = "Artifact管理-Flink-CDC") @RestController -@RequestMapping(path = "/api/flink-cdc") -public class WsFlinkCDCController { +@RequestMapping(path = "/api/artifact/flink/cdc") +public class WsArtifactFlinkCDCController { @Autowired private FlinkCDCDagService flinkCDCDagService; @Autowired - private FlinkCDCJobService flinkCDCJobService; - - @Logging - @GetMapping("/dag/dnd") - @Operation(summary = "查询DAG节点元信息", description = "后端统一返回节点信息") - public ResponseEntity>> loadNodeMeta() throws PluginException { - List dnds = flinkCDCDagService.getDnds(); - return new ResponseEntity<>(ResponseVO.success(dnds), HttpStatus.OK); - } + private WsArtifactFlinkCDCService wsArtifactFlinkCDCService; @Logging @GetMapping @Operation(summary = "查询 fink cdc 列表", description = "分页查询 fink cdc 列表") - public ResponseEntity> listJob(@Valid WsFlinkArtifactCDCListParam param) { - Page page = flinkCDCJobService.listByPage(param); + public ResponseEntity> list(@Valid WsArtifactFlinkCDCListParam param) { + Page page = wsArtifactFlinkCDCService.list(param); return new ResponseEntity<>(page, HttpStatus.OK); } + @Logging + @GetMapping("/history") + @Operation(summary = "根据 artifact 分页查询 fink cdc 列表", description = "根据 artifact 分页查询 fink cdc 列表") + public ResponseEntity> listByArtifact(@Valid WsArtifactFlinkCDCArtifactParam param) { + Page result = wsArtifactFlinkCDCService.listByArtifact(param); + return new ResponseEntity<>(result, HttpStatus.OK); + } + @Logging @GetMapping("/all") @Operation(summary = "查询 fink cdc 列表", description = "查询 fink cdc 列表") - public ResponseEntity> listAll(@Valid WsFlinkArtifactCDCSelectListParam param) { - List result = flinkCDCJobService.listAll(param); + public ResponseEntity> listAll(@Valid WsArtifactFlinkCDCSelectListParam param) { + List result = wsArtifactFlinkCDCService.listAll(param); + return new ResponseEntity<>(result, HttpStatus.OK); + } + + @Logging + @GetMapping("/{id}") + @Operation(summary = "查询 flink cdc 详情", description = "查询 flink cdc 详情") + public ResponseEntity selectOne(@PathVariable("id") Long id) { + WsArtifactFlinkCDCDTO result = wsArtifactFlinkCDCService.selectOne(id); return new ResponseEntity<>(result, HttpStatus.OK); } @Logging @PutMapping @Operation(summary = "新增 fink cdc", description = "新增 fink cdc,不涉及 DAG") - public ResponseEntity> simpleAddJob(@Validated @RequestBody WsFlinkArtifactCDCAddParam param) { - WsFlinkArtifactCDCDTO wsFlinkArtifactCDCDTO = flinkCDCJobService.insert(param); + public ResponseEntity> insert(@Validated @RequestBody WsArtifactFlinkCDCAddParam param) { + WsArtifactFlinkCDCDTO wsFlinkArtifactCDCDTO = wsArtifactFlinkCDCService.insert(param); return new ResponseEntity<>(ResponseVO.success(wsFlinkArtifactCDCDTO), HttpStatus.CREATED); } @Logging @PostMapping @Operation(summary = "修改 fink cdc", description = "只修改 fink cdc 属性,不涉及 DAG") - public ResponseEntity simpleEditJob(@Validated @RequestBody WsFlinkArtifactCDCUpdateParam param) { - flinkCDCJobService.update(param); + public ResponseEntity update(@Validated @RequestBody WsArtifactFlinkCDCUpdateParam param) { + wsArtifactFlinkCDCService.update(param); return new ResponseEntity<>(ResponseVO.success(), HttpStatus.OK); } @@ -96,7 +100,7 @@ public ResponseEntity simpleEditJob(@Validated @RequestBody WsFlinkA @DeleteMapping("{id}") @Operation(summary = "删除 fink cdc", description = "删除 fink cdc") public ResponseEntity deleteJob(@PathVariable("id") Long id) throws ScalephException { - flinkCDCJobService.delete(id); + wsArtifactFlinkCDCService.delete(id); return new ResponseEntity<>(ResponseVO.success(), HttpStatus.OK); } @@ -104,15 +108,23 @@ public ResponseEntity deleteJob(@PathVariable("id") Long id) throws @DeleteMapping("batch") @Operation(summary = "批量删除 fink cdc", description = "批量删除 fink cdc") public ResponseEntity deleteBatch(@RequestBody List ids) throws ScalephException { - flinkCDCJobService.deleteBatch(ids); + wsArtifactFlinkCDCService.deleteBatch(ids); return new ResponseEntity<>(ResponseVO.success(), HttpStatus.OK); } @Logging - @DeleteMapping("all") - @Operation(summary = "批量删除 fink cdc", description = "批量删除 fink cdc") - public ResponseEntity deleteAll(@RequestParam("flinkArtifactId") Long flinkArtifactId) throws ScalephException { - flinkCDCJobService.deleteAll(flinkArtifactId); + @DeleteMapping("artifact/{artifactId}") + @Operation(summary = "删除 artifact", description = "删除 artifact") + public ResponseEntity deleteArtifact(@PathVariable("artifactId") Long artifactId) throws ScalephException { + wsArtifactFlinkCDCService.deleteArtifact(artifactId); return new ResponseEntity<>(ResponseVO.success(), HttpStatus.OK); } + + @Logging + @GetMapping("/dag/dnd") + @Operation(summary = "查询DAG节点元信息", description = "后端统一返回节点信息") + public ResponseEntity>> loadNodeMeta() { + List dnds = flinkCDCDagService.getDnds(); + return new ResponseEntity<>(ResponseVO.success(dnds), HttpStatus.OK); + } } \ No newline at end of file diff --git a/scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsArtifactJarController.java b/scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsArtifactFlinkJarController.java similarity index 99% rename from scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsArtifactJarController.java rename to scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsArtifactFlinkJarController.java index 5232e81cd..9281a7007 100644 --- a/scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsArtifactJarController.java +++ b/scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsArtifactFlinkJarController.java @@ -42,7 +42,7 @@ @Tag(name = "Artifact管理-Flink-Jar") @RestController @RequestMapping(path = "/api/artifact/flink/jar") -public class WsArtifactJarController { +public class WsArtifactFlinkJarController { @Autowired private WsArtifactFlinkJarService wsArtifactFlinkJarService; diff --git a/scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsArtifactSqlController.java b/scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsArtifactFlinkSqlController.java similarity index 97% rename from scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsArtifactSqlController.java rename to scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsArtifactFlinkSqlController.java index b98421ce7..303b0258d 100644 --- a/scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsArtifactSqlController.java +++ b/scaleph-api/src/main/java/cn/sliew/scaleph/api/controller/ws/WsArtifactFlinkSqlController.java @@ -37,7 +37,7 @@ @Tag(name = "Artifact管理-Flink-Sql") @RestController @RequestMapping(path = "/api/artifact/flink/sql") -public class WsArtifactSqlController { +public class WsArtifactFlinkSqlController { @Autowired private WsArtifactFlinkSqlService wsArtifactFlinkSqlService; @@ -108,7 +108,7 @@ public ResponseEntity delete(@PathVariable("id") Long id) { @Logging @DeleteMapping("/artifact/{artifactId}") - @Operation(summary = "删除所有 flink sql", description = "删除所有 flink sql") + @Operation(summary = "删除 artifact", description = "删除 artifactl") public ResponseEntity deleteAll(@PathVariable("artifactId") Long artifactId) { wsArtifactFlinkSqlService.deleteArtifact(artifactId); return new ResponseEntity<>(ResponseVO.success(), HttpStatus.OK); diff --git a/scaleph-dao/src/main/java/cn/sliew/scaleph/dao/entity/master/ws/WsFlinkArtifactCDC.java b/scaleph-dao/src/main/java/cn/sliew/scaleph/dao/entity/master/ws/WsArtifactFlinkCDC.java similarity index 80% rename from scaleph-dao/src/main/java/cn/sliew/scaleph/dao/entity/master/ws/WsFlinkArtifactCDC.java rename to scaleph-dao/src/main/java/cn/sliew/scaleph/dao/entity/master/ws/WsArtifactFlinkCDC.java index 669c6edd5..2ff98f95b 100644 --- a/scaleph-dao/src/main/java/cn/sliew/scaleph/dao/entity/master/ws/WsFlinkArtifactCDC.java +++ b/scaleph-dao/src/main/java/cn/sliew/scaleph/dao/entity/master/ws/WsArtifactFlinkCDC.java @@ -28,27 +28,27 @@ import lombok.Data; /** - * flink artifact cdc + * artifact flink-cdc */ @Data -@TableName("ws_flink_artifact_cdc") -@Schema(name = "WsFlinkArtifactCDC", description = "flink artifact cdc") -public class WsFlinkArtifactCDC extends BaseDO { +@TableName("ws_artifact_flink_cdc") +@Schema(name = "WsArtifactFlinkCDC", description = "artifact flink-cdc") +public class WsArtifactFlinkCDC extends BaseDO { private static final long serialVersionUID = 1L; - @Schema(description = "作业artifact id") - @TableField("flink_artifact_id") - private Long flinkArtifactId; + @Schema(description = "作业 artifact id") + @TableField("artifact_id") + private Long artifactId; @TableField(exist = false) - private WsArtifact wsArtifact; + private WsArtifact artifact; - @Schema(description = "flink版本") + @Schema(description = "flink 版本") @TableField("flink_version") private FlinkVersion flinkVersion; - @Schema(description = "作业引擎") + @Schema(description = "flink cdc 版本") @TableField("flink_cdc_version") private FlinkCDCVersion flinkCDCVersion; diff --git a/scaleph-dao/src/main/java/cn/sliew/scaleph/dao/mapper/master/ws/WsFlinkArtifactCDCMapper.java b/scaleph-dao/src/main/java/cn/sliew/scaleph/dao/mapper/master/ws/WsArtifactFlinkCDCMapper.java similarity index 77% rename from scaleph-dao/src/main/java/cn/sliew/scaleph/dao/mapper/master/ws/WsFlinkArtifactCDCMapper.java rename to scaleph-dao/src/main/java/cn/sliew/scaleph/dao/mapper/master/ws/WsArtifactFlinkCDCMapper.java index c15fd2ccf..c8b8794ae 100644 --- a/scaleph-dao/src/main/java/cn/sliew/scaleph/dao/mapper/master/ws/WsFlinkArtifactCDCMapper.java +++ b/scaleph-dao/src/main/java/cn/sliew/scaleph/dao/mapper/master/ws/WsArtifactFlinkCDCMapper.java @@ -19,7 +19,7 @@ package cn.sliew.scaleph.dao.mapper.master.ws; import cn.sliew.scaleph.common.dict.flink.FlinkVersion; -import cn.sliew.scaleph.dao.entity.master.ws.WsFlinkArtifactCDC; +import cn.sliew.scaleph.dao.entity.master.ws.WsArtifactFlinkCDC; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; @@ -28,20 +28,20 @@ import java.util.List; /** - * flink artifact cdc Mapper 接口 + * artifact flink-cdc Mapper 接口 */ @Repository -public interface WsFlinkArtifactCDCMapper extends BaseMapper { +public interface WsArtifactFlinkCDCMapper extends BaseMapper { - Page list(Page page, + Page list(Page page, @Param("projectId") Long projectId, @Param("name") String name, @Param("flinkVersion") FlinkVersion flinkVersion); - List listAll(@Param("projectId") Long projectId, + List listAll(@Param("projectId") Long projectId, @Param("name") String name); - WsFlinkArtifactCDC selectOne(@Param("id") Long id); + WsArtifactFlinkCDC selectOne(@Param("id") Long id); - WsFlinkArtifactCDC selectCurrent(@Param("artifactId") Long artifactId); + WsArtifactFlinkCDC selectCurrent(@Param("artifactId") Long artifactId); } diff --git a/scaleph-dao/src/main/resources/cn/sliew/scaleph/dao/mapper/master/ws/WsArtifactFlinkCDCMapper.xml b/scaleph-dao/src/main/resources/cn/sliew/scaleph/dao/mapper/master/ws/WsArtifactFlinkCDCMapper.xml new file mode 100644 index 000000000..2ae1488a0 --- /dev/null +++ b/scaleph-dao/src/main/resources/cn/sliew/scaleph/dao/mapper/master/ws/WsArtifactFlinkCDCMapper.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + id, creator, create_time, editor, update_time, + artifact_id, flink_version, flink_cdc_version, dag_id, `current` + + + + + + + + + + diff --git a/scaleph-dao/src/main/resources/cn/sliew/scaleph/dao/mapper/master/ws/WsFlinkArtifactCDCMapper.xml b/scaleph-dao/src/main/resources/cn/sliew/scaleph/dao/mapper/master/ws/WsFlinkArtifactCDCMapper.xml deleted file mode 100644 index 84aa067b9..000000000 --- a/scaleph-dao/src/main/resources/cn/sliew/scaleph/dao/mapper/master/ws/WsFlinkArtifactCDCMapper.xml +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - id, - creator, - create_time, - editor, - update_time, - flink_artifact_id, flink_version, flink_cdc_version, dag_id, `current` - - - - - - - - - - - diff --git a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/Dag/index.tsx b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/Dag/index.tsx index 372f45ff2..6503cbee1 100644 --- a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/Dag/index.tsx +++ b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/Dag/index.tsx @@ -2,12 +2,12 @@ import React from 'react'; import {PageContainer} from "@ant-design/pro-components"; import {useAccess, useIntl, useLocation} from '@umijs/max'; import {WORKSPACE_CONF} from '@/constants/constant'; -import {WsFlinkArtifactCDC} from "@/services/project/typings"; +import {WsArtifactFlinkCDC} from "@/services/project/typings"; const FlinkArtifactCDCDagWeb: React.FC = () => { const intl = useIntl(); const access = useAccess(); - const data = useLocation().state as WsFlinkArtifactCDC; + const data = useLocation().state as WsArtifactFlinkCDC; const projectId = localStorage.getItem(WORKSPACE_CONF.projectId); return ( diff --git a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/FlinkArtifactCDCForm.tsx b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/FlinkArtifactCDCForm.tsx index 17efbc781..60336bdab 100644 --- a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/FlinkArtifactCDCForm.tsx +++ b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/FlinkArtifactCDCForm.tsx @@ -4,11 +4,11 @@ import {useIntl} from '@umijs/max'; import {ModalFormProps} from '@/typings'; import {WORKSPACE_CONF} from '@/constants/constant'; import {DICT_TYPE} from '@/constants/dictType'; -import {WsFlinkArtifactCDC} from '@/services/project/typings'; +import {WsArtifactFlinkCDC} from '@/services/project/typings'; import {DictDataService} from "@/services/admin/dictData.service"; -import {WsFlinkCDCService} from "@/services/project/WsFlinkCDCService"; +import {WsArtifactFlinkCDCService} from "@/services/project/WsArtifactFlinkCDCService"; -const FlinkArtifactCDCForm: React.FC> = ({ +const FlinkArtifactCDCForm: React.FC> = ({ data, visible, onVisibleChange, @@ -38,7 +38,7 @@ const FlinkArtifactCDCForm: React.FC> = ({ flinkVersion: values.flinkVersion, }; data?.id - ? WsFlinkCDCService.update(param).then((response) => { + ? WsArtifactFlinkCDCService.update(param).then((response) => { if (response.success) { message.success(intl.formatMessage({id: 'app.common.operate.edit.success'})); if (onVisibleChange) { @@ -46,7 +46,7 @@ const FlinkArtifactCDCForm: React.FC> = ({ } } }) - : WsFlinkCDCService.add(param).then((response) => { + : WsArtifactFlinkCDCService.add(param).then((response) => { if (response.success) { message.success(intl.formatMessage({id: 'app.common.operate.new.success'})); if (onVisibleChange) { diff --git a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/index.tsx b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/index.tsx index 74b3472e8..28590f63f 100644 --- a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/index.tsx +++ b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/index.tsx @@ -7,31 +7,31 @@ import {WORKSPACE_CONF} from '@/constants/constant'; import {DICT_TYPE} from '@/constants/dictType'; import {PRIVILEGE_CODE} from "@/constants/privilegeCode"; import {DictDataService} from '@/services/admin/dictData.service'; -import {WsFlinkArtifactCDC} from '@/services/project/typings'; -import {WsFlinkCDCService} from "@/services/project/WsFlinkCDCService"; +import {WsArtifactFlinkCDC} from '@/services/project/typings'; +import {WsArtifactFlinkCDCService} from "@/services/project/WsArtifactFlinkCDCService"; import FlinkArtifactCDCForm from "@/pages/Project/Workspace/Artifact/CDC/FlinkArtifactCDCForm"; -const FlinkArtifactCDCWeb: React.FC = () => { +const ArtifactFlinkCDCWeb: React.FC = () => { const intl = useIntl(); const access = useAccess(); const actionRef = useRef(); const formRef = useRef(); - const [flinkArtifactCDCFormData, setFlinkArtifactCDCFormData] = useState<{ - visible: boolean; - data: WsFlinkArtifactCDC + const [artifactFlinkCDCFormData, setArtifactFlinkCDCFormData] = useState<{ + visiable: boolean; + data: WsArtifactFlinkCDC }>({ - visible: false, + visiable: false, data: {}, }); const projectId = localStorage.getItem(WORKSPACE_CONF.projectId); - const tableColumns: ProColumns[] = [ + const tableColumns: ProColumns[] = [ { title: intl.formatMessage({id: 'pages.project.artifact.name'}), dataIndex: 'name', width: 240, render: (dom, entity, index, action, schema) => { - return entity.wsFlinkArtifact?.name + return entity.artifact?.name } }, { @@ -62,7 +62,7 @@ const FlinkArtifactCDCWeb: React.FC = () => { hideInSearch: true, width: 150, render: (dom, entity, index, action, schema) => { - return entity.wsFlinkArtifact?.remark + return entity.artifact?.remark } }, { @@ -94,7 +94,7 @@ const FlinkArtifactCDCWeb: React.FC = () => { type="link" icon={} onClick={() => { - setFlinkArtifactCDCFormData({visiable: true, data: record}); + setArtifactFlinkCDCFormData({visiable: true, data: record}); }} /> @@ -125,7 +125,7 @@ const FlinkArtifactCDCWeb: React.FC = () => { okButtonProps: {danger: true}, cancelText: intl.formatMessage({id: 'app.common.operate.cancel.label'}), onOk() { - WsFlinkCDCService.deleteOne(record).then((d) => { + WsArtifactFlinkCDCService.deleteArtifact(record.artifact?.id).then((d) => { if (d.success) { message.success(intl.formatMessage({id: 'app.common.operate.delete.success'})); actionRef.current?.reload(); @@ -145,7 +145,7 @@ const FlinkArtifactCDCWeb: React.FC = () => { return (
- + search={{ labelWidth: 'auto', span: {xs: 24, sm: 12, md: 8, lg: 6, xl: 6, xxl: 4}, @@ -156,7 +156,7 @@ const FlinkArtifactCDCWeb: React.FC = () => { options={false} columns={tableColumns} request={(params, sorter, filter) => - WsFlinkCDCService.list({...params, projectId: projectId}) + WsArtifactFlinkCDCService.list({...params, projectId: projectId}) } toolbar={{ actions: [ @@ -165,7 +165,7 @@ const FlinkArtifactCDCWeb: React.FC = () => { key="new" type="primary" onClick={() => { - setFlinkArtifactCDCFormData({visiable: true, data: {}}); + setArtifactFlinkCDCFormData({visiable: true, data: {}}); }} > {intl.formatMessage({id: 'app.common.operate.new.label'})} @@ -177,15 +177,15 @@ const FlinkArtifactCDCWeb: React.FC = () => { tableAlertRender={false} tableAlertOptionRender={false} /> - {flinkArtifactCDCFormData.visiable && ( + {artifactFlinkCDCFormData.visiable && ( { - setFlinkArtifactCDCFormData({visiable: false, data: {}}); + setArtifactFlinkCDCFormData({visiable: false, data: {}}); }} onVisibleChange={(visiable) => { - setFlinkArtifactCDCFormData({visiable: visiable, data: {}}); + setArtifactFlinkCDCFormData({visiable: visiable, data: {}}); actionRef.current?.reload(); }} /> @@ -194,4 +194,4 @@ const FlinkArtifactCDCWeb: React.FC = () => { ); }; -export default FlinkArtifactCDCWeb; +export default ArtifactFlinkCDCWeb; diff --git a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Jar/FlinkArtifactJarAddForm.tsx b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Jar/FlinkArtifactJarAddForm.tsx index d42366f67..9b0c94ed8 100644 --- a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Jar/FlinkArtifactJarAddForm.tsx +++ b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Jar/FlinkArtifactJarAddForm.tsx @@ -5,7 +5,7 @@ import {useIntl} from '@umijs/max'; import {WORKSPACE_CONF} from '@/constants/constant'; import {DICT_TYPE} from '@/constants/dictType'; import {WsArtifactFlinkJar, WsArtifactFlinkJarUploadParam} from '@/services/project/typings'; -import {FlinkArtifactJarService} from "@/services/project/flinkArtifactJar.service"; +import {WsArtifactFlinkJarService} from "@/services/project/WsArtifactFlinkJarService"; import {DictDataService} from "@/services/admin/dictData.service"; import {ModalFormProps} from "@/typings"; @@ -70,7 +70,7 @@ const FlinkArtifactJarAddForm: React.FC> = ({ }; setUploading(true); - return FlinkArtifactJarService.upload(param).then((response) => { + return WsArtifactFlinkJarService.upload(param).then((response) => { if (response.success) { message.success(intl.formatMessage({id: 'app.common.operate.new.success'})); setFileList([]); diff --git a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Jar/FlinkArtifactJarUpdateForm.tsx b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Jar/FlinkArtifactJarUpdateForm.tsx index 1b316b824..53a8f110c 100644 --- a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Jar/FlinkArtifactJarUpdateForm.tsx +++ b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Jar/FlinkArtifactJarUpdateForm.tsx @@ -13,7 +13,7 @@ import {ModalFormProps} from '@/typings'; import {WORKSPACE_CONF} from '@/constants/constant'; import {DICT_TYPE} from '@/constants/dictType'; import {WsArtifactFlinkJar, WsArtifactFlinkJarUpdateParam} from '@/services/project/typings'; -import {FlinkArtifactJarService} from "@/services/project/flinkArtifactJar.service"; +import {WsArtifactFlinkJarService} from "@/services/project/WsArtifactFlinkJarService"; import {DictDataService} from "@/services/admin/dictData.service"; const FlinkArtifactJarUpdateForm: React.FC> = ({ @@ -87,7 +87,7 @@ const FlinkArtifactJarUpdateForm: React.FC> = }; setUploading(true); - return FlinkArtifactJarService.updateJar(param).then((response) => { + return WsArtifactFlinkJarService.updateJar(param).then((response) => { if (response.success) { message.success(intl.formatMessage({id: 'app.common.operate.new.success'})); setFileList([]); diff --git a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Jar/History/index.tsx b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Jar/History/index.tsx index eaeb375b0..1da826337 100644 --- a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Jar/History/index.tsx +++ b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Jar/History/index.tsx @@ -4,7 +4,7 @@ import {DeleteOutlined, DownloadOutlined} from '@ant-design/icons'; import {ActionType, PageHeader, ProColumns, ProFormInstance, ProTable,} from '@ant-design/pro-components'; import {history, useAccess, useIntl, useLocation} from '@umijs/max'; import {PRIVILEGE_CODE} from '@/constants/privilegeCode'; -import {FlinkArtifactJarService} from '@/services/project/flinkArtifactJar.service'; +import {WsArtifactFlinkJarService} from '@/services/project/WsArtifactFlinkJarService'; import {WsProjectService} from '@/services/project/WsProjectService'; import {WsArtifact, WsArtifactFlinkJar, WsProject} from '@/services/project/typings'; @@ -80,7 +80,7 @@ const FlinkArtifactJarHistoryWeb: React.FC = () => { type="link" icon={} onClick={() => { - FlinkArtifactJarService.download(record); + WsArtifactFlinkJarService.download(record); }} /> @@ -99,7 +99,7 @@ const FlinkArtifactJarHistoryWeb: React.FC = () => { okButtonProps: {danger: true}, cancelText: intl.formatMessage({id: 'app.common.operate.cancel.label'}), onOk() { - FlinkArtifactJarService.deleteOne(record).then((d) => { + WsArtifactFlinkJarService.deleteOne(record).then((d) => { if (d.success) { message.success(intl.formatMessage({id: 'app.common.operate.delete.success'})); actionRef.current?.reload(); @@ -147,7 +147,7 @@ const FlinkArtifactJarHistoryWeb: React.FC = () => { options={false} columns={tableColumns} request={(params, sorter, filter) => { - return FlinkArtifactJarService.listByArtifact({...params, artifactId: flinkArtifact.id}); + return WsArtifactFlinkJarService.listByArtifact({...params, artifactId: flinkArtifact.id}); }} pagination={{showQuickJumper: true, showSizeChanger: true, defaultPageSize: 10}} tableAlertRender={false} diff --git a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Jar/index.tsx b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Jar/index.tsx index 31f05b636..ce735da0f 100644 --- a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Jar/index.tsx +++ b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Jar/index.tsx @@ -8,7 +8,7 @@ import {DICT_TYPE} from '@/constants/dictType'; import {PRIVILEGE_CODE} from '@/constants/privilegeCode'; import {WsArtifactFlinkJar} from '@/services/project/typings'; import FlinkArtifactJarAddForm from './FlinkArtifactJarAddForm'; -import {FlinkArtifactJarService} from "@/services/project/flinkArtifactJar.service"; +import {WsArtifactFlinkJarService} from "@/services/project/WsArtifactFlinkJarService"; import {DictDataService} from "@/services/admin/dictData.service"; import FlinkArtifactJarUpdateForm from "@/pages/Project/Workspace/Artifact/Jar/FlinkArtifactJarUpdateForm"; @@ -114,7 +114,7 @@ const ArtifactFlinkJarWeb: React.FC = () => { type="link" icon={} onClick={() => { - FlinkArtifactJarService.download(record); + WsArtifactFlinkJarService.download(record); }} /> @@ -145,7 +145,7 @@ const ArtifactFlinkJarWeb: React.FC = () => { okButtonProps: {danger: true}, cancelText: intl.formatMessage({id: 'app.common.operate.cancel.label'}), onOk() { - FlinkArtifactJarService.deleteArtifact(record.artifact?.id).then((d) => { + WsArtifactFlinkJarService.deleteArtifact(record.artifact?.id).then((d) => { if (d.success) { message.success(intl.formatMessage({id: 'app.common.operate.delete.success'})); actionRef.current?.reload(); @@ -176,7 +176,7 @@ const ArtifactFlinkJarWeb: React.FC = () => { options={false} columns={tableColumns} request={(params, sorter, filter) => - FlinkArtifactJarService.list({...params, projectId: projectId + ''}) + WsArtifactFlinkJarService.list({...params, projectId: projectId + ''}) } toolbar={{ actions: [ diff --git a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Sql/index.tsx b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Sql/index.tsx index f5c9c2bd7..56e1acce3 100644 --- a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Sql/index.tsx +++ b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/Sql/index.tsx @@ -9,7 +9,7 @@ import {PRIVILEGE_CODE} from '@/constants/privilegeCode'; import {WsArtifactFlinkSql} from '@/services/project/typings'; import FlinkArtifactSqlForm from '@/pages/Project/Workspace/Artifact/Sql/FlinkArtifactSqlForm'; import {DictDataService} from "@/services/admin/dictData.service"; -import {FlinkArtifactSqlService} from "@/services/project/WsFlinkArtifactSqlService"; +import {FlinkArtifactSqlService} from "@/services/project/WsArtifactFlinkSqlService"; const ArtifactFlinkSqlWeb: React.FC = () => { const intl = useIntl(); diff --git a/scaleph-ui-react2/src/pages/Project/Workspace/Kubernetes/Job/JobForm.tsx b/scaleph-ui-react2/src/pages/Project/Workspace/Kubernetes/Job/JobForm.tsx index 5393dac49..96d647f19 100644 --- a/scaleph-ui-react2/src/pages/Project/Workspace/Kubernetes/Job/JobForm.tsx +++ b/scaleph-ui-react2/src/pages/Project/Workspace/Kubernetes/Job/JobForm.tsx @@ -25,7 +25,7 @@ import {WORKSPACE_CONF} from "@/constants/constant"; import {DICT_TYPE} from "@/constants/dictType"; import {WsFlinkKubernetesDeploymentService} from "@/services/project/WsFlinkKubernetesDeploymentService"; import {WsFlinkKubernetesSessionClusterService} from "@/services/project/WsFlinkKubernetesSessionClusterService"; -import {FlinkArtifactJarService} from "@/services/project/flinkArtifactJar.service"; +import {WsArtifactFlinkJarService} from "@/services/project/WsArtifactFlinkJarService"; import {FlinkArtifactSqlService} from "@/services/project/WsFlinkArtifactSqlService"; import {WsFlinkKubernetesJobService} from "@/services/project/WsFlinkKubernetesJobService"; import {WsDiJobService} from "@/services/project/WsDiJobService"; @@ -198,7 +198,7 @@ const FlinkKubernetesJobForm: React.FC> = ( projectId: projectId, name: params.keyWords }; - return FlinkArtifactJarService.listAll(listParam).then((response) => { + return WsArtifactFlinkJarService.listAll(listParam).then((response) => { return response.map((item) => { return { label: item.artifact?.name, diff --git a/scaleph-ui-react2/src/services/project/WsArtifactFlinkCDCService.ts b/scaleph-ui-react2/src/services/project/WsArtifactFlinkCDCService.ts new file mode 100644 index 000000000..fa5062350 --- /dev/null +++ b/scaleph-ui-react2/src/services/project/WsArtifactFlinkCDCService.ts @@ -0,0 +1,97 @@ +import {PageResponse, ResponseBody} from '@/typings'; +import {request} from '@umijs/max'; +import { + WsArtifactFlinkCDC, + WsArtifactFlinkCDCAddParam, + WsArtifactFlinkCDCHistoryParam, + WsArtifactFlinkCDCParam, + WsArtifactFlinkCDCSelectListParam, + WsArtifactFlinkCDCUpdateParam +} from "@/services/project/typings"; + +export const WsArtifactFlinkCDCService = { + url: '/api/artifact/flink/cdc', + + list: async (queryParam: WsArtifactFlinkCDCParam) => { + return request>(`${WsArtifactFlinkCDCService.url}`, { + method: 'GET', + params: queryParam, + }).then((res) => { + const result = { + data: res.records, + total: res.total, + pageSize: res.size, + current: res.current, + }; + return result; + }); + }, + + listByArtifact: async (queryParam: WsArtifactFlinkCDCHistoryParam) => { + return request>(`${WsArtifactFlinkCDCService.url}/history`, { + method: 'GET', + params: queryParam, + }).then((res) => { + const result = { + data: res.records, + total: res.total, + pageSize: res.size, + current: res.current, + }; + return result; + }); + }, + + listAll: async (queryParam: WsArtifactFlinkCDCSelectListParam) => { + return request>>(`${WsArtifactFlinkCDCService.url}/all`, { + method: 'GET', + params: queryParam, + }); + }, + + selectOne: async (id: number | string) => { + return request(`${WsArtifactFlinkCDCService.url}/${id}`, { + method: 'GET', + }); + }, + + add: async (row: WsArtifactFlinkCDCAddParam) => { + return request>(`${WsArtifactFlinkCDCService.url}`, { + method: 'PUT', + data: row, + }); + }, + + update: async (row: WsArtifactFlinkCDCUpdateParam) => { + return request>(`${WsArtifactFlinkCDCService.url}`, { + method: 'POST', + data: row, + }); + }, + + deleteOne: async (row: WsArtifactFlinkCDC) => { + return request>(`${WsArtifactFlinkCDCService.url}/${row.id}`, { + method: 'DELETE', + }); + }, + + deleteBatch: async (rows: WsArtifactFlinkCDC[]) => { + const params = rows.map((row) => row.id); + return request>(`${WsArtifactFlinkCDCService.url}/batch`, { + method: 'DELETE', + data: params + }); + }, + + deleteArtifact: async (artifactId: number) => { + return request>(`${WsArtifactFlinkCDCService.url}/artifact/${artifactId}`, { + method: 'DELETE', + }); + }, + + getDnds: async () => { + return request>>>(`${WsArtifactFlinkCDCService.url}/dag/dnd`, { + method: 'GET', + }); + }, +}; diff --git a/scaleph-ui-react2/src/services/project/flinkArtifactJar.service.ts b/scaleph-ui-react2/src/services/project/WsArtifactFlinkJarService.ts similarity index 66% rename from scaleph-ui-react2/src/services/project/flinkArtifactJar.service.ts rename to scaleph-ui-react2/src/services/project/WsArtifactFlinkJarService.ts index 11f106ecb..1e958ad93 100644 --- a/scaleph-ui-react2/src/services/project/flinkArtifactJar.service.ts +++ b/scaleph-ui-react2/src/services/project/WsArtifactFlinkJarService.ts @@ -10,11 +10,11 @@ import { } from './typings'; import {request} from '@umijs/max'; -export const FlinkArtifactJarService = { +export const WsArtifactFlinkJarService = { url: '/api/artifact/flink/jar', list: async (queryParam: WsArtifactFlinkJarParam) => { - return request>(`${FlinkArtifactJarService.url}`, { + return request>(`${WsArtifactFlinkJarService.url}`, { method: 'GET', params: queryParam, }).then((res) => { @@ -29,7 +29,7 @@ export const FlinkArtifactJarService = { }, listByArtifact: async (queryParam: WsArtifactFlinkJarHistoryParam) => { - return request>(`${FlinkArtifactJarService.url}/history`, { + return request>(`${WsArtifactFlinkJarService.url}/history`, { method: 'GET', params: queryParam, }).then((res) => { @@ -44,39 +44,39 @@ export const FlinkArtifactJarService = { }, listAll: async (queryParam: WsArtifactFlinkJarSelectListParam) => { - return request>>(`${FlinkArtifactJarService.url}/all`, { + return request>>(`${WsArtifactFlinkJarService.url}/all`, { method: 'GET', params: queryParam, }); }, selectOne: async (id: number | string) => { - return request(`${FlinkArtifactJarService.url}/${id}`, { + return request(`${WsArtifactFlinkJarService.url}/${id}`, { method: 'GET', }); }, deleteOne: async (row: WsArtifactFlinkJar) => { - return request>(`${FlinkArtifactJarService.url}/${row.id}`, { + return request>(`${WsArtifactFlinkJarService.url}/${row.id}`, { method: 'DELETE', }); }, deleteArtifact: async (artifactId: number) => { - return request>(`${FlinkArtifactJarService.url}/artifact/${artifactId}`, { + return request>(`${WsArtifactFlinkJarService.url}/artifact/${artifactId}`, { method: 'DELETE', }); }, update: async (row: WsArtifactFlinkJar) => { - return request>(`${FlinkArtifactJarService.url}`, { + return request>(`${WsArtifactFlinkJarService.url}`, { method: 'POST', data: row, }); }, upload: async (uploadParam: WsArtifactFlinkJarUploadParam) => { - return request>(`${FlinkArtifactJarService.url}`, { + return request>(`${WsArtifactFlinkJarService.url}`, { method: 'PUT', data: uploadParam, headers: {'Content-Type': 'multipart/form-data'}, @@ -84,7 +84,7 @@ export const FlinkArtifactJarService = { }, updateJar: async (uploadParam: WsArtifactFlinkJarUpdateParam) => { - return request>(`${FlinkArtifactJarService.url}/jar`, { + return request>(`${WsArtifactFlinkJarService.url}/jar`, { method: 'POST', data: uploadParam, headers: {'Content-Type': 'multipart/form-data'}, @@ -93,9 +93,9 @@ export const FlinkArtifactJarService = { download: async (row: WsArtifactFlinkJar) => { const a = document.createElement('a'); - a.href = `${FlinkArtifactJarService.url}/download/${row.id}?${USER_AUTH.token}=${localStorage.getItem(USER_AUTH.token)}`; + a.href = `${WsArtifactFlinkJarService.url}/download/${row.id}?${USER_AUTH.token}=${localStorage.getItem(USER_AUTH.token)}`; a.download = row.fileName + ''; a.click(); - window.URL.revokeObjectURL(FlinkArtifactJarService.url); + window.URL.revokeObjectURL(WsArtifactFlinkJarService.url); }, }; diff --git a/scaleph-ui-react2/src/services/project/WsFlinkArtifactSqlService.ts b/scaleph-ui-react2/src/services/project/WsArtifactFlinkSqlService.ts similarity index 100% rename from scaleph-ui-react2/src/services/project/WsFlinkArtifactSqlService.ts rename to scaleph-ui-react2/src/services/project/WsArtifactFlinkSqlService.ts diff --git a/scaleph-ui-react2/src/services/project/WsFlinkCDCService.ts b/scaleph-ui-react2/src/services/project/WsFlinkCDCService.ts deleted file mode 100644 index 57a463e7b..000000000 --- a/scaleph-ui-react2/src/services/project/WsFlinkCDCService.ts +++ /dev/null @@ -1,69 +0,0 @@ -import {PageResponse, ResponseBody} from '@/typings'; -import {request} from '@umijs/max'; -import { - WsFlinkArtifactCDC, - WsFlinkArtifactCDCAddParam, - WsFlinkArtifactCDCParam, - WsFlinkArtifactCDCSelectListParam, - WsFlinkArtifactCDCUpdateParam -} from "@/services/project/typings"; - -export const WsFlinkCDCService = { - url: '/api/flink-cdc', - - getDnds: async () => { - return request>>>(`${WsFlinkCDCService.url}/dag/dnd`, { - method: 'GET', - }); - }, - - list: async (queryParam: WsFlinkArtifactCDCParam) => { - return request>(`${WsFlinkCDCService.url}`, { - method: 'GET', - params: queryParam, - }).then((res) => { - const result = { - data: res.records, - total: res.total, - pageSize: res.size, - current: res.current, - }; - return result; - }); - }, - - listAll: async (queryParam: WsFlinkArtifactCDCSelectListParam) => { - return request>>(`${WsFlinkCDCService.url}/all`, { - method: 'GET', - params: queryParam, - }); - }, - - add: async (row: WsFlinkArtifactCDCAddParam) => { - return request>(`${WsFlinkCDCService.url}`, { - method: 'PUT', - data: row, - }); - }, - - update: async (row: WsFlinkArtifactCDCUpdateParam) => { - return request>(`${WsFlinkCDCService.url}`, { - method: 'POST', - data: row, - }); - }, - - deleteOne: async (row: WsFlinkArtifactCDC) => { - return request>(`${WsFlinkCDCService.url}/${row.id}`, { - method: 'DELETE', - }); - }, - - deleteBatch: async (rows: WsFlinkArtifactCDC[]) => { - const params = rows.map((row) => row.id); - return request>(`${WsFlinkCDCService.url}/batch`, { - method: 'DELETE', - data: params - }); - }, -}; diff --git a/scaleph-ui-react2/src/services/project/flinkArtifact.service.ts b/scaleph-ui-react2/src/services/project/flinkArtifact.service.ts deleted file mode 100644 index 1fc92db7a..000000000 --- a/scaleph-ui-react2/src/services/project/flinkArtifact.service.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { PageResponse, ResponseBody } from '@/typings'; -import {WsArtifact, WsArtifactListParam} from './typings'; -import { request } from '@umijs/max'; - -export const FlinkArtifactService = { - url: '/api/flink/artifact', - - list: async (queryParam: WsArtifactListParam) => { - return request>(`${FlinkArtifactService.url}`, { - method: 'GET', - params: queryParam, - }).then((res) => { - const result = { - data: res.records, - total: res.total, - pageSize: res.size, - current: res.current, - }; - return result; - }); - }, - - add: async (row: WsArtifact) => { - return request>(`${FlinkArtifactService.url}`, { - method: 'PUT', - data: row, - }); - }, - - update: async (row: WsArtifact) => { - return request>(`${FlinkArtifactService.url}`, { - method: 'POST', - data: row, - }); - }, - - deleteOne: async (row: WsArtifact) => { - return request>(`${FlinkArtifactService.url}/` + row.id, { - method: 'DELETE', - }); - }, -}; diff --git a/scaleph-ui-react2/src/services/project/typings.d.ts b/scaleph-ui-react2/src/services/project/typings.d.ts index 45d6097f4..2d7525413 100644 --- a/scaleph-ui-react2/src/services/project/typings.d.ts +++ b/scaleph-ui-react2/src/services/project/typings.d.ts @@ -97,9 +97,9 @@ export type WsDiJobStep = { updateTime?: Date; }; -export type WsFlinkArtifactCDC = { +export type WsArtifactFlinkCDC = { id?: number; - wsFlinkArtifact?: WsArtifact; + artifact?: WsArtifact; flinkVersion?: Dict; flinkCDCVersion?: Dict; current?: Dict; @@ -107,29 +107,31 @@ export type WsFlinkArtifactCDC = { updateTime?: Date; }; -export type WsFlinkArtifactCDCParam = QueryParam & { +export type WsArtifactFlinkCDCParam = QueryParam & { projectId: number; flinkVersion?: string; flinkCDCVersion?: string; name?: string; }; -export type WsFlinkArtifactCDCSelectListParam = { +export type WsArtifactFlinkCDCHistoryParam = QueryParam & { + artifactId: number; +}; + +export type WsArtifactFlinkCDCSelectListParam = { projectId: number; name?: string; }; -export type WsFlinkArtifactCDCAddParam = { +export type WsArtifactFlinkCDCAddParam = { projectId: number; name?: string; - flinkVersion?: string; remark?: string; }; -export type WsFlinkArtifactCDCUpdateParam = { +export type WsArtifactFlinkCDCUpdateParam = { id: number; name?: string; - flinkVersion?: string; remark?: string; }; diff --git a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/FlinkCDCJobService.java b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/WsArtifactFlinkCDCService.java similarity index 53% rename from scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/FlinkCDCJobService.java rename to scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/WsArtifactFlinkCDCService.java index 88fa923ca..732e5946b 100644 --- a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/FlinkCDCJobService.java +++ b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/WsArtifactFlinkCDCService.java @@ -19,36 +19,33 @@ package cn.sliew.scaleph.workspace.flink.cdc.service; import cn.sliew.scaleph.common.exception.ScalephException; -import cn.sliew.scaleph.workspace.flink.cdc.service.dto.WsFlinkArtifactCDCDTO; -import cn.sliew.scaleph.workspace.flink.cdc.service.param.WsFlinkArtifactCDCAddParam; -import cn.sliew.scaleph.workspace.flink.cdc.service.param.WsFlinkArtifactCDCListParam; -import cn.sliew.scaleph.workspace.flink.cdc.service.param.WsFlinkArtifactCDCSelectListParam; -import cn.sliew.scaleph.workspace.flink.cdc.service.param.WsFlinkArtifactCDCUpdateParam; +import cn.sliew.scaleph.workspace.flink.cdc.service.dto.WsArtifactFlinkCDCDTO; +import cn.sliew.scaleph.workspace.flink.cdc.service.param.*; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import java.util.List; -public interface FlinkCDCJobService { +public interface WsArtifactFlinkCDCService { - Page listByPage(WsFlinkArtifactCDCListParam param); + Page list(WsArtifactFlinkCDCListParam param); - List listAll(WsFlinkArtifactCDCSelectListParam param); + Page listByArtifact(WsArtifactFlinkCDCArtifactParam param); - List listAllByArtifact(Long artifactId); + List listAll(WsArtifactFlinkCDCSelectListParam param); - WsFlinkArtifactCDCDTO selectOne(Long id); + List listAllByArtifact(Long artifactId); - WsFlinkArtifactCDCDTO selectCurrent(Long artifactId); + WsArtifactFlinkCDCDTO selectOne(Long id); - String preview(Long id) throws Exception; + WsArtifactFlinkCDCDTO selectCurrent(Long artifactId); - WsFlinkArtifactCDCDTO insert(WsFlinkArtifactCDCAddParam param); + WsArtifactFlinkCDCDTO insert(WsArtifactFlinkCDCAddParam param); - int update(WsFlinkArtifactCDCUpdateParam param); + int update(WsArtifactFlinkCDCUpdateParam param); int delete(Long id) throws ScalephException; int deleteBatch(List ids) throws ScalephException; - int deleteAll(Long flinkArtifactId) throws ScalephException; + int deleteArtifact(Long artifactId) throws ScalephException; } diff --git a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/convert/WsFlinkArtifactCDCConvert.java b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/convert/WsArtifactFlinkCDCConvert.java similarity index 62% rename from scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/convert/WsFlinkArtifactCDCConvert.java rename to scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/convert/WsArtifactFlinkCDCConvert.java index ecf63ecdb..c52a80072 100644 --- a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/convert/WsFlinkArtifactCDCConvert.java +++ b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/convert/WsArtifactFlinkCDCConvert.java @@ -19,8 +19,8 @@ package cn.sliew.scaleph.workspace.flink.cdc.service.convert; import cn.sliew.scaleph.common.convert.BaseConvert; -import cn.sliew.scaleph.dao.entity.master.ws.WsFlinkArtifactCDC; -import cn.sliew.scaleph.workspace.flink.cdc.service.dto.WsFlinkArtifactCDCDTO; +import cn.sliew.scaleph.dao.entity.master.ws.WsArtifactFlinkCDC; +import cn.sliew.scaleph.workspace.flink.cdc.service.dto.WsArtifactFlinkCDCDTO; import cn.sliew.scaleph.workspace.project.service.convert.WsArtifactConvert; import org.mapstruct.Mapper; import org.mapstruct.ReportingPolicy; @@ -28,23 +28,23 @@ import org.springframework.beans.BeanUtils; @Mapper(unmappedTargetPolicy = ReportingPolicy.IGNORE) -public interface WsFlinkArtifactCDCConvert extends BaseConvert { - WsFlinkArtifactCDCConvert INSTANCE = Mappers.getMapper(WsFlinkArtifactCDCConvert.class); +public interface WsArtifactFlinkCDCConvert extends BaseConvert { + WsArtifactFlinkCDCConvert INSTANCE = Mappers.getMapper(WsArtifactFlinkCDCConvert.class); @Override - default WsFlinkArtifactCDC toDo(WsFlinkArtifactCDCDTO dto) { - WsFlinkArtifactCDC entity = new WsFlinkArtifactCDC(); + default WsArtifactFlinkCDC toDo(WsArtifactFlinkCDCDTO dto) { + WsArtifactFlinkCDC entity = new WsArtifactFlinkCDC(); BeanUtils.copyProperties(dto, entity); - entity.setWsArtifact(WsArtifactConvert.INSTANCE.toDo(dto.getWsFlinkArtifact())); - entity.setFlinkArtifactId(dto.getWsFlinkArtifact().getId()); + entity.setArtifact(WsArtifactConvert.INSTANCE.toDo(dto.getArtifact())); + entity.setArtifactId(dto.getArtifact().getId()); return entity; } @Override - default WsFlinkArtifactCDCDTO toDto(WsFlinkArtifactCDC entity) { - WsFlinkArtifactCDCDTO dto = new WsFlinkArtifactCDCDTO(); + default WsArtifactFlinkCDCDTO toDto(WsArtifactFlinkCDC entity) { + WsArtifactFlinkCDCDTO dto = new WsArtifactFlinkCDCDTO(); BeanUtils.copyProperties(entity, dto); - dto.setWsFlinkArtifact(WsArtifactConvert.INSTANCE.toDto(entity.getWsArtifact())); + dto.setArtifact(WsArtifactConvert.INSTANCE.toDto(entity.getArtifact())); return dto; } } diff --git a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/dto/WsFlinkArtifactCDCDTO.java b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/dto/WsArtifactFlinkCDCDTO.java similarity index 90% rename from scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/dto/WsFlinkArtifactCDCDTO.java rename to scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/dto/WsArtifactFlinkCDCDTO.java index f3e873f6b..f50563980 100644 --- a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/dto/WsFlinkArtifactCDCDTO.java +++ b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/dto/WsArtifactFlinkCDCDTO.java @@ -27,11 +27,11 @@ import lombok.Data; @Data -@Schema(name = "WsFlinkArtifactCDC对象", description = "flink artifact cdc") -public class WsFlinkArtifactCDCDTO extends BaseDTO { +@Schema(name = "WsArtifactFlinkCDC对象", description = "artifact flink-cdc") +public class WsArtifactFlinkCDCDTO extends BaseDTO { @Schema(description = "作业artifact") - private WsArtifactDTO wsFlinkArtifact; + private WsArtifactDTO artifact; @Schema(description = "flink版本") private FlinkVersion flinkVersion; diff --git a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/impl/FlinkCDCJobServiceImpl.java b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/impl/FlinkCDCJobServiceImpl.java deleted file mode 100644 index dbdcbd1a1..000000000 --- a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/impl/FlinkCDCJobServiceImpl.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package cn.sliew.scaleph.workspace.flink.cdc.service.impl; - -import cn.sliew.scaleph.common.dict.common.YesOrNo; -import cn.sliew.scaleph.common.dict.flink.FlinkJobType; -import cn.sliew.scaleph.common.dict.flink.cdc.FlinkCDCVersion; -import cn.sliew.scaleph.common.exception.ScalephException; -import cn.sliew.scaleph.dao.entity.master.ws.WsFlinkArtifactCDC; -import cn.sliew.scaleph.dao.mapper.master.ws.WsFlinkArtifactCDCMapper; -import cn.sliew.scaleph.workspace.flink.cdc.service.FlinkCDCDagService; -import cn.sliew.scaleph.workspace.flink.cdc.service.FlinkCDCJobService; -import cn.sliew.scaleph.workspace.flink.cdc.service.convert.WsFlinkArtifactCDCConvert; -import cn.sliew.scaleph.workspace.flink.cdc.service.dto.WsFlinkArtifactCDCDTO; -import cn.sliew.scaleph.workspace.flink.cdc.service.param.WsFlinkArtifactCDCAddParam; -import cn.sliew.scaleph.workspace.flink.cdc.service.param.WsFlinkArtifactCDCListParam; -import cn.sliew.scaleph.workspace.flink.cdc.service.param.WsFlinkArtifactCDCSelectListParam; -import cn.sliew.scaleph.workspace.flink.cdc.service.param.WsFlinkArtifactCDCUpdateParam; -import cn.sliew.scaleph.workspace.project.service.WsArtifactService; -import cn.sliew.scaleph.workspace.project.service.dto.WsArtifactDTO; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; - -import static cn.sliew.milky.common.check.Ensures.checkState; - -@Service -public class FlinkCDCJobServiceImpl implements FlinkCDCJobService { - - @Autowired - private WsFlinkArtifactCDCMapper wsFlinkArtifactCDCMapper; - @Autowired - private WsArtifactService wsArtifactService; - @Autowired - private FlinkCDCDagService flinkCDCDagService; - - @Override - public Page listByPage(WsFlinkArtifactCDCListParam param) { - Page page = new Page<>(param.getCurrent(), param.getPageSize()); - Page cdcPage = wsFlinkArtifactCDCMapper.list(page, param.getProjectId(), param.getName(), param.getFlinkVersion()); - Page result = - new Page<>(cdcPage.getCurrent(), cdcPage.getSize(), cdcPage.getTotal()); - result.setRecords(WsFlinkArtifactCDCConvert.INSTANCE.toDto(cdcPage.getRecords())); - return result; - } - - @Override - public List listAll(WsFlinkArtifactCDCSelectListParam param) { - List cdcs = wsFlinkArtifactCDCMapper.listAll(param.getProjectId(), param.getName()); - return WsFlinkArtifactCDCConvert.INSTANCE.toDto(cdcs); - } - - @Override - public List listAllByArtifact(Long artifactId) { - List list = wsFlinkArtifactCDCMapper.selectList( - Wrappers.lambdaQuery(WsFlinkArtifactCDC.class) - .eq(WsFlinkArtifactCDC::getFlinkArtifactId, artifactId) - .orderByDesc(WsFlinkArtifactCDC::getId) - ); - return WsFlinkArtifactCDCConvert.INSTANCE.toDto(list); - } - - @Override - public WsFlinkArtifactCDCDTO selectOne(Long id) { - WsFlinkArtifactCDC record = wsFlinkArtifactCDCMapper.selectOne(id); - checkState(record != null, () -> "flink artifact cdc not exists for id: " + id); - return WsFlinkArtifactCDCConvert.INSTANCE.toDto(record); - } - - @Override - public WsFlinkArtifactCDCDTO selectCurrent(Long artifactId) { - WsFlinkArtifactCDC record = wsFlinkArtifactCDCMapper.selectCurrent(artifactId); - return WsFlinkArtifactCDCConvert.INSTANCE.toDto(record); - } - - @Override - public String preview(Long id) throws Exception { - return null; - } - - @Override - public WsFlinkArtifactCDCDTO insert(WsFlinkArtifactCDCAddParam param) { - WsArtifactDTO flinkArtifact = new WsArtifactDTO(); - flinkArtifact.setProjectId(param.getProjectId()); - flinkArtifact.setType(FlinkJobType.FLINK_CDC); - flinkArtifact.setName(param.getName()); - flinkArtifact.setRemark(param.getRemark()); - flinkArtifact = wsArtifactService.insert(flinkArtifact); - WsFlinkArtifactCDC record = new WsFlinkArtifactCDC(); - record.setFlinkArtifactId(flinkArtifact.getId()); - record.setFlinkVersion(param.getFlinkVersion()); - record.setFlinkCDCVersion(FlinkCDCVersion.current()); - record.setDagId(flinkCDCDagService.initialize()); - record.setCurrent(YesOrNo.YES); - wsFlinkArtifactCDCMapper.insert(record); - return selectOne(record.getId()); - } - - @Override - public int update(WsFlinkArtifactCDCUpdateParam param) { - WsFlinkArtifactCDCDTO wsFlinkArtifactCDCDTO = selectOne(param.getId()); - WsArtifactDTO flinkArtifact = new WsArtifactDTO(); - flinkArtifact.setId(wsFlinkArtifactCDCDTO.getWsFlinkArtifact().getId()); - flinkArtifact.setName(param.getName()); - flinkArtifact.setRemark(param.getRemark()); - wsArtifactService.update(flinkArtifact); - - WsFlinkArtifactCDC record = new WsFlinkArtifactCDC(); - record.setId(param.getId()); - record.setFlinkVersion(param.getFlinkVersion()); - record.setCurrent(YesOrNo.YES); - return wsFlinkArtifactCDCMapper.updateById(record); - } - - @Override - public int delete(Long id) throws ScalephException { - WsFlinkArtifactCDCDTO wsFlinkArtifactCDCDTO = selectOne(id); - if (wsFlinkArtifactCDCDTO.getCurrent() == YesOrNo.YES) { - throw new ScalephException("Unsupport delete current flink cdc job"); - } - flinkCDCDagService.destroy(wsFlinkArtifactCDCDTO.getDagId()); - return wsFlinkArtifactCDCMapper.deleteById(id); - } - - @Override - public int deleteBatch(List ids) throws ScalephException { - for (Long id : ids) { - delete(id); - } - return ids.size(); - } - - @Override - public int deleteAll(Long flinkArtifactId) throws ScalephException { - List dtos = listAllByArtifact(flinkArtifactId); - for (WsFlinkArtifactCDCDTO cdc : dtos) { - wsFlinkArtifactCDCMapper.deleteById(cdc.getId()); - } - return wsArtifactService.deleteById(flinkArtifactId); - } -} diff --git a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/impl/WsArtifactFlinkCDCServiceImpl.java b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/impl/WsArtifactFlinkCDCServiceImpl.java new file mode 100644 index 000000000..8f48b6908 --- /dev/null +++ b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/impl/WsArtifactFlinkCDCServiceImpl.java @@ -0,0 +1,168 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package cn.sliew.scaleph.workspace.flink.cdc.service.impl; + +import cn.sliew.scaleph.common.dict.common.YesOrNo; +import cn.sliew.scaleph.common.dict.flink.FlinkJobType; +import cn.sliew.scaleph.common.dict.flink.FlinkVersion; +import cn.sliew.scaleph.common.dict.flink.cdc.FlinkCDCVersion; +import cn.sliew.scaleph.common.exception.ScalephException; +import cn.sliew.scaleph.dao.entity.master.ws.WsArtifactFlinkCDC; +import cn.sliew.scaleph.dao.mapper.master.ws.WsArtifactFlinkCDCMapper; +import cn.sliew.scaleph.workspace.flink.cdc.service.FlinkCDCDagService; +import cn.sliew.scaleph.workspace.flink.cdc.service.WsArtifactFlinkCDCService; +import cn.sliew.scaleph.workspace.flink.cdc.service.convert.WsArtifactFlinkCDCConvert; +import cn.sliew.scaleph.workspace.flink.cdc.service.dto.WsArtifactFlinkCDCDTO; +import cn.sliew.scaleph.workspace.flink.cdc.service.param.*; +import cn.sliew.scaleph.workspace.project.service.WsArtifactService; +import cn.sliew.scaleph.workspace.project.service.dto.WsArtifactDTO; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +import static cn.sliew.milky.common.check.Ensures.checkState; + +@Service +public class WsArtifactFlinkCDCServiceImpl implements WsArtifactFlinkCDCService { + + @Autowired + private WsArtifactFlinkCDCMapper wsArtifactFlinkCDCMapper; + @Autowired + private WsArtifactService wsArtifactService; + @Autowired + private FlinkCDCDagService flinkCDCDagService; + + @Override + public Page list(WsArtifactFlinkCDCListParam param) { + Page page = new Page<>(param.getCurrent(), param.getPageSize()); + Page cdcPage = wsArtifactFlinkCDCMapper.list(page, param.getProjectId(), param.getName(), param.getFlinkVersion()); + Page result = + new Page<>(cdcPage.getCurrent(), cdcPage.getSize(), cdcPage.getTotal()); + result.setRecords(WsArtifactFlinkCDCConvert.INSTANCE.toDto(cdcPage.getRecords())); + return result; + } + + @Override + public Page listByArtifact(WsArtifactFlinkCDCArtifactParam param) { + Page page = new Page<>(param.getCurrent(), param.getPageSize()); + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(WsArtifactFlinkCDC.class) + .eq(WsArtifactFlinkCDC::getArtifactId, param.getArtifactId()) + .orderByDesc(WsArtifactFlinkCDC::getId); + Page wsArtifactFlinkCDCPage = wsArtifactFlinkCDCMapper.selectPage(page, queryWrapper); + Page result = + new Page<>(wsArtifactFlinkCDCPage.getCurrent(), wsArtifactFlinkCDCPage.getSize(), wsArtifactFlinkCDCPage.getTotal()); + result.setRecords(WsArtifactFlinkCDCConvert.INSTANCE.toDto(wsArtifactFlinkCDCPage.getRecords())); + return result; + } + + @Override + public List listAll(WsArtifactFlinkCDCSelectListParam param) { + List cdcs = wsArtifactFlinkCDCMapper.listAll(param.getProjectId(), param.getName()); + return WsArtifactFlinkCDCConvert.INSTANCE.toDto(cdcs); + } + + @Override + public List listAllByArtifact(Long artifactId) { + List list = wsArtifactFlinkCDCMapper.selectList( + Wrappers.lambdaQuery(WsArtifactFlinkCDC.class) + .eq(WsArtifactFlinkCDC::getArtifactId, artifactId) + .orderByDesc(WsArtifactFlinkCDC::getId) + ); + return WsArtifactFlinkCDCConvert.INSTANCE.toDto(list); + } + + @Override + public WsArtifactFlinkCDCDTO selectOne(Long id) { + WsArtifactFlinkCDC record = wsArtifactFlinkCDCMapper.selectOne(id); + checkState(record != null, () -> "artifact flink-cdc not exists for id: " + id); + return WsArtifactFlinkCDCConvert.INSTANCE.toDto(record); + } + + @Override + public WsArtifactFlinkCDCDTO selectCurrent(Long artifactId) { + WsArtifactFlinkCDC record = wsArtifactFlinkCDCMapper.selectCurrent(artifactId); + return WsArtifactFlinkCDCConvert.INSTANCE.toDto(record); + } + + @Override + public WsArtifactFlinkCDCDTO insert(WsArtifactFlinkCDCAddParam param) { + WsArtifactDTO artifactDTO = new WsArtifactDTO(); + artifactDTO.setProjectId(param.getProjectId()); + artifactDTO.setType(FlinkJobType.FLINK_CDC); + artifactDTO.setName(param.getName()); + artifactDTO.setRemark(param.getRemark()); + artifactDTO = wsArtifactService.insert(artifactDTO); + WsArtifactFlinkCDC record = new WsArtifactFlinkCDC(); + record.setArtifactId(artifactDTO.getId()); + record.setFlinkVersion(FlinkVersion.current()); + record.setFlinkCDCVersion(FlinkCDCVersion.current()); + record.setDagId(flinkCDCDagService.initialize()); + record.setCurrent(YesOrNo.YES); + wsArtifactFlinkCDCMapper.insert(record); + return selectOne(record.getId()); + } + + @Override + public int update(WsArtifactFlinkCDCUpdateParam param) { + WsArtifactFlinkCDCDTO wsArtifactFlinkCDCDTO = selectOne(param.getId()); + WsArtifactDTO flinkArtifact = new WsArtifactDTO(); + flinkArtifact.setId(wsArtifactFlinkCDCDTO.getArtifact().getId()); + flinkArtifact.setName(param.getName()); + flinkArtifact.setRemark(param.getRemark()); + wsArtifactService.update(flinkArtifact); + + WsArtifactFlinkCDC record = new WsArtifactFlinkCDC(); + record.setId(param.getId()); + record.setCurrent(YesOrNo.YES); + return wsArtifactFlinkCDCMapper.updateById(record); + } + + @Override + public int delete(Long id) throws ScalephException { + WsArtifactFlinkCDCDTO wsArtifactFlinkCDCDTO = selectOne(id); + checkState(wsArtifactFlinkCDCDTO.getCurrent() != YesOrNo.YES, () -> "Unsupport delete current flink cdc"); + return doDelete(wsArtifactFlinkCDCDTO); + } + + @Override + public int deleteBatch(List ids) throws ScalephException { + for (Long id : ids) { + delete(id); + } + return ids.size(); + } + + @Override + public int deleteArtifact(Long flinkArtifactId) { + List dtos = listAllByArtifact(flinkArtifactId); + for (WsArtifactFlinkCDCDTO cdc : dtos) { + doDelete(cdc); + } + return wsArtifactService.deleteById(flinkArtifactId); + } + + private int doDelete(WsArtifactFlinkCDCDTO cdc) { + flinkCDCDagService.destroy(cdc.getDagId()); + return wsArtifactFlinkCDCMapper.deleteById(cdc.getId()); + } +} diff --git a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsFlinkArtifactCDCAddParam.java b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCAddParam.java similarity index 79% rename from scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsFlinkArtifactCDCAddParam.java rename to scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCAddParam.java index 360f7bbf0..a8a8f8994 100644 --- a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsFlinkArtifactCDCAddParam.java +++ b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCAddParam.java @@ -18,14 +18,10 @@ package cn.sliew.scaleph.workspace.flink.cdc.service.param; -import cn.sliew.scaleph.common.dict.flink.FlinkVersion; import cn.sliew.scaleph.workspace.project.service.param.AbstractWsArtifactAddParam; -import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @Data -public class WsFlinkArtifactCDCAddParam extends AbstractWsArtifactAddParam { +public class WsArtifactFlinkCDCAddParam extends AbstractWsArtifactAddParam { - @Schema(description = "flink version") - private FlinkVersion flinkVersion; } diff --git a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCArtifactParam.java b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCArtifactParam.java new file mode 100644 index 000000000..309639640 --- /dev/null +++ b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCArtifactParam.java @@ -0,0 +1,33 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package cn.sliew.scaleph.workspace.flink.cdc.service.param; + +import cn.sliew.scaleph.system.model.PaginationParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +public class WsArtifactFlinkCDCArtifactParam extends PaginationParam { + + @NotNull + @Schema(description = "artifact id") + private Long artifactId; +} diff --git a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsFlinkArtifactCDCGraphParam.java b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCGraphParam.java similarity index 96% rename from scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsFlinkArtifactCDCGraphParam.java rename to scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCGraphParam.java index df97b66ef..692398d64 100644 --- a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsFlinkArtifactCDCGraphParam.java +++ b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCGraphParam.java @@ -27,7 +27,7 @@ @Data @EqualsAndHashCode -public class WsFlinkArtifactCDCGraphParam { +public class WsArtifactFlinkCDCGraphParam { @NotNull @Schema(description = "id") diff --git a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsFlinkArtifactCDCListParam.java b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCListParam.java similarity index 95% rename from scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsFlinkArtifactCDCListParam.java rename to scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCListParam.java index ceacd2928..59628f891 100644 --- a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsFlinkArtifactCDCListParam.java +++ b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCListParam.java @@ -27,7 +27,7 @@ @Data @EqualsAndHashCode(callSuper = true) -public class WsFlinkArtifactCDCListParam extends WsArtifactListParam { +public class WsArtifactFlinkCDCListParam extends WsArtifactListParam { @Schema(description = "flink version") private FlinkVersion flinkVersion; diff --git a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsFlinkArtifactCDCSelectListParam.java b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCSelectListParam.java similarity index 95% rename from scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsFlinkArtifactCDCSelectListParam.java rename to scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCSelectListParam.java index 493f9e657..910476f26 100644 --- a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsFlinkArtifactCDCSelectListParam.java +++ b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCSelectListParam.java @@ -24,7 +24,7 @@ import javax.validation.constraints.NotNull; @Data -public class WsFlinkArtifactCDCSelectListParam { +public class WsArtifactFlinkCDCSelectListParam { @NotNull @Schema(description = "项目id") diff --git a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsFlinkArtifactCDCUpdateParam.java b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCUpdateParam.java similarity index 79% rename from scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsFlinkArtifactCDCUpdateParam.java rename to scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCUpdateParam.java index eb5943057..96875bec1 100644 --- a/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsFlinkArtifactCDCUpdateParam.java +++ b/scaleph-workspace/scaleph-workspace-flink-cdc/src/main/java/cn/sliew/scaleph/workspace/flink/cdc/service/param/WsArtifactFlinkCDCUpdateParam.java @@ -18,14 +18,10 @@ package cn.sliew.scaleph.workspace.flink.cdc.service.param; -import cn.sliew.scaleph.common.dict.flink.FlinkVersion; import cn.sliew.scaleph.workspace.project.service.param.AbstractWsArtifactUpdateParam; -import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @Data -public class WsFlinkArtifactCDCUpdateParam extends AbstractWsArtifactUpdateParam { +public class WsArtifactFlinkCDCUpdateParam extends AbstractWsArtifactUpdateParam { - @Schema(description = "flink version") - private FlinkVersion flinkVersion; } diff --git a/scaleph-workspace/scaleph-workspace-flink-sql/src/main/java/cn/sliew/scaleph/workspace/flink/sql/service/impl/WsArtifactFlinkSqlServiceImpl.java b/scaleph-workspace/scaleph-workspace-flink-sql/src/main/java/cn/sliew/scaleph/workspace/flink/sql/service/impl/WsArtifactFlinkSqlServiceImpl.java index 8c2d72cb4..62ebd131f 100644 --- a/scaleph-workspace/scaleph-workspace-flink-sql/src/main/java/cn/sliew/scaleph/workspace/flink/sql/service/impl/WsArtifactFlinkSqlServiceImpl.java +++ b/scaleph-workspace/scaleph-workspace-flink-sql/src/main/java/cn/sliew/scaleph/workspace/flink/sql/service/impl/WsArtifactFlinkSqlServiceImpl.java @@ -89,7 +89,7 @@ public List listAllByArtifact(Long artifactId) { @Override public WsArtifactFlinkSqlDTO selectOne(Long id) { WsArtifactFlinkSql record = wsArtifactFlinkSqlMapper.selectOne(id); - checkState(record != null, () -> "flink artifact sql not exists for id: " + id); + checkState(record != null, () -> "artifact flink-sql not exists for id: " + id); return WsFlinkArtifactSqlConvert.INSTANCE.toDto(record); } diff --git a/tools/docker/mysql/init.d/scaleph-ws-mysql.sql b/tools/docker/mysql/init.d/scaleph-ws-mysql.sql index 76e5422ee..cb8dc4d81 100644 --- a/tools/docker/mysql/init.d/scaleph-ws-mysql.sql +++ b/tools/docker/mysql/init.d/scaleph-ws-mysql.sql @@ -89,7 +89,7 @@ create table ws_artifact_flink_sql update_time datetime not null default current_timestamp on update current_timestamp, PRIMARY KEY (id), key idx_flink_artifact (artifact_id) -) ENGINE = INNODB COMMENT = 'flink artifact sql'; +) ENGINE = INNODB COMMENT = 'artifact flink-sql'; INSERT INTO `ws_artifact_flink_sql` (`id`, `artifact_id`, `flink_version`, `script`, `current`, `creator`, `editor`) VALUES (1, 1, '1.18.0', @@ -120,11 +120,11 @@ VALUES (7, 9, '1.18.0', 'CREATE CATALOG sakura WITH(\n \'type\' = \'sakura\',\n \'jdbcUrl\' = \'jdbc:mysql://localhost:3306/sakura\',\n \'username\' = \'root\',\n \'password\' = \'123456\',\n \'driver\' = \'com.mysql.cj.jdbc.Driver\'\n);\n\nCREATE DATABASE sakura.dev;\n\nCREATE TABLE sakura.dev.orders (\n order_number BIGINT,\n price DECIMAL(32,2),\n buyer ROW,\n order_time TIMESTAMP(3)\n) WITH (\n \'connector\' = \'datagen\'\n);\n\nCREATE TABLE sakura.dev.print_table WITH (\'connector\' = \'print\')\n LIKE sakura.dev.orders;\n\nINSERT INTO sakura.dev.print_table \nSELECT * FROM sakura.dev.orders;', '1', 'sys', 'sys'); -drop table if exists ws_flink_artifact_cdc; -create table ws_flink_artifact_cdc +drop table if exists ws_artifact_flink_cdc; +create table ws_artifact_flink_cdc ( id bigint not null auto_increment comment '自增主键', - flink_artifact_id bigint not null comment '作业 artifact id', + artifact_id bigint not null comment '作业 artifact id', flink_version varchar(32) not null comment 'flink 版本', flink_cdc_version varchar(32) not null comment 'flink cdc 版本', dag_id bigint not null, @@ -134,9 +134,9 @@ create table ws_flink_artifact_cdc editor varchar(32) comment '修改人', update_time timestamp default current_timestamp on update current_timestamp comment '修改时间', primary key (id), - key idx_flink_artifact (flink_artifact_id) -) engine = innodb comment 'flink artifact cdc'; -INSERT INTO `ws_flink_artifact_cdc`(`id`, `flink_artifact_id`, `flink_version`, `flink_cdc_version`, `dag_id`, + key idx_artifact (artifact_id) +) engine = innodb comment 'artifact flink-cdc'; +INSERT INTO `ws_artifact_flink_cdc`(`id`, `artifact_id`, `flink_version`, `flink_cdc_version`, `dag_id`, `current`, `creator`, `editor`) VALUES (1, 10, '1.18.0', '3.0.0', 3, '1', 'sys', 'sys'); From 77ce50331ffd8f287afb9108716a135d97bf7180 Mon Sep 17 00:00:00 2001 From: wangqi <1942460489@qq.com> Date: Tue, 20 Feb 2024 21:05:11 +0800 Subject: [PATCH 2/5] refactor: refactor ws_flink_artifact_cdc --- .../Workspace/Artifact/CDC/Dag/index.tsx | 2 +- .../Artifact/CDC/FlinkArtifactCDCForm.tsx | 123 ++++++++---------- .../Artifact/Sql/FlinkArtifactSqlForm.tsx | 2 +- 3 files changed, 55 insertions(+), 72 deletions(-) diff --git a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/Dag/index.tsx b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/Dag/index.tsx index 6503cbee1..27b5f521d 100644 --- a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/Dag/index.tsx +++ b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/Dag/index.tsx @@ -12,7 +12,7 @@ const FlinkArtifactCDCDagWeb: React.FC = () => { return ( - Flink CDC Dag Web: {data.wsFlinkArtifact?.name} + Flink CDC Dag Web: {data.artifact?.name} ); }; diff --git a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/FlinkArtifactCDCForm.tsx b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/FlinkArtifactCDCForm.tsx index 60336bdab..bb7330c76 100644 --- a/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/FlinkArtifactCDCForm.tsx +++ b/scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/FlinkArtifactCDCForm.tsx @@ -1,97 +1,80 @@ -import {Form, message, Modal} from 'antd'; -import {ProForm, ProFormDigit, ProFormSelect, ProFormText, ProFormTextArea} from "@ant-design/pro-components"; +import {Form, message} from 'antd'; +import {ModalForm, ProFormDigit, ProFormText, ProFormTextArea} from "@ant-design/pro-components"; import {useIntl} from '@umijs/max'; import {ModalFormProps} from '@/typings'; import {WORKSPACE_CONF} from '@/constants/constant'; -import {DICT_TYPE} from '@/constants/dictType'; import {WsArtifactFlinkCDC} from '@/services/project/typings'; -import {DictDataService} from "@/services/admin/dictData.service"; import {WsArtifactFlinkCDCService} from "@/services/project/WsArtifactFlinkCDCService"; const FlinkArtifactCDCForm: React.FC> = ({ data, visible, - onVisibleChange, - onCancel + onVisibleChange }) => { const intl = useIntl(); const [form] = Form.useForm(); const projectId = localStorage.getItem(WORKSPACE_CONF.projectId); return ( - { - form.validateFields().then((values) => { - const param = { - id: values.id, - projectId: projectId, - name: values.name, - remark: values.remark, - flinkVersion: values.flinkVersion, - }; - data?.id - ? WsArtifactFlinkCDCService.update(param).then((response) => { - if (response.success) { - message.success(intl.formatMessage({id: 'app.common.operate.edit.success'})); - if (onVisibleChange) { - onVisibleChange(false); - } + layout={"horizontal"} + labelCol={{span: 6}} + wrapperCol={{span: 16}} + modalProps={{ + destroyOnClose: true, + closeIcon: false + }} + onFinish={(values: Record) => { + const param = { + id: values.id, + projectId: projectId, + name: values.name, + remark: values.remark + }; + return values.id + ? WsArtifactFlinkCDCService.update(param).then((response) => { + if (response.success) { + message.success(intl.formatMessage({id: 'app.common.operate.edit.success'})); + if (onVisibleChange) { + onVisibleChange(false); } - }) - : WsArtifactFlinkCDCService.add(param).then((response) => { - if (response.success) { - message.success(intl.formatMessage({id: 'app.common.operate.new.success'})); - if (onVisibleChange) { - onVisibleChange(false); - } + } + }) + : WsArtifactFlinkCDCService.add(param).then((response) => { + if (response.success) { + message.success(intl.formatMessage({id: 'app.common.operate.new.success'})); + if (onVisibleChange) { + onVisibleChange(false); } - }) - }); + } + }) }} > - - - +