From b953e85704506e96eedb9704c4a88aeaafa9a234 Mon Sep 17 00:00:00 2001
From: xiaohucoding <2307520758@qq.com>
Date: Tue, 13 May 2025 21:36:29 +0800
Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=9B=86=E6=96=B0=E5=A2=9E?=
=?UTF-8?q?=E5=8F=8A=E4=BF=AE=E6=94=B9=E5=8A=9F=E8=83=BD=E7=89=88=E6=9C=AC?=
=?UTF-8?q?1.0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 11 ++++
.../controller/DatasetController.java | 43 +++++++++++++
.../enumeration/OperationType.java | 27 ++++++++
.../mapper/DatasetMapper.java | 13 ++++
.../pojo/DatasetDTO.java | 17 ++++++
.../pojo/DatasetEntity.java | 28 +++++++++
.../pojo/OptResult.java | 40 ++++++++++++
.../service/DatasetService.java | 11 ++++
.../service/Impl/DatasetServiceImpl.java | 61 +++++++++++++++++++
src/main/resources/application.properties | 4 ++
src/main/resources/mapper/DatasetMapper.xml | 32 ++++++++++
11 files changed, 287 insertions(+)
create mode 100644 src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/DatasetController.java
create mode 100644 src/main/java/com/bipt/intelligentapplicationorchestrationservice/enumeration/OperationType.java
create mode 100644 src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/DatasetMapper.java
create mode 100644 src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/DatasetDTO.java
create mode 100644 src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/DatasetEntity.java
create mode 100644 src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/OptResult.java
create mode 100644 src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/DatasetService.java
create mode 100644 src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/Impl/DatasetServiceImpl.java
create mode 100644 src/main/resources/mapper/DatasetMapper.xml
diff --git a/pom.xml b/pom.xml
index f469829..5443fde 100644
--- a/pom.xml
+++ b/pom.xml
@@ -54,6 +54,17 @@
spring-boot-starter-test
test
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 3.0.4
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter-test
+ 3.0.4
+ test
+
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/DatasetController.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/DatasetController.java
new file mode 100644
index 0000000..fa47e8c
--- /dev/null
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/DatasetController.java
@@ -0,0 +1,43 @@
+package com.bipt.intelligentapplicationorchestrationservice.controller;
+
+import com.bipt.intelligentapplicationorchestrationservice.pojo.DatasetDTO;
+import com.bipt.intelligentapplicationorchestrationservice.pojo.DatasetEntity;
+import com.bipt.intelligentapplicationorchestrationservice.pojo.OptResult;
+import com.bipt.intelligentapplicationorchestrationservice.service.DatasetService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/dataset")
+@Slf4j
+public class DatasetController {
+ @Autowired
+ private DatasetService datasetService;
+
+ /**
+ * 新增数据集
+ * @param datasetDTO
+ * @return
+ */
+ @PostMapping
+ public OptResult save(@RequestBody DatasetDTO datasetDTO) {
+ log.info("新增数据集:{}", datasetDTO);
+ datasetService.save(datasetDTO);
+ return OptResult.success();
+ }
+
+ /**
+ * 修改数据集
+ * @param datasetEntity
+ * @return
+ */
+ @PutMapping
+ public OptResult update(@RequestBody DatasetEntity datasetEntity){
+ log.info("修改数据集",datasetEntity);
+ datasetService.update(datasetEntity);
+ return OptResult.success();
+ }
+
+
+}
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/enumeration/OperationType.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/enumeration/OperationType.java
new file mode 100644
index 0000000..cb6c5a1
--- /dev/null
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/enumeration/OperationType.java
@@ -0,0 +1,27 @@
+package com.bipt.intelligentapplicationorchestrationservice.enumeration;
+
+import org.apache.ibatis.annotations.Delete;
+
+/**
+ * 数据库操作类型
+ */
+public enum OperationType {
+ /**
+ * 更新操作
+ */
+ UPDATE,
+
+ /**
+ * 插入操作
+ */
+ INSERT,
+
+ /**
+ * 删除操作
+ */
+ DELETE,
+ /**
+ * 查询操作
+ */
+ SELECT
+}
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/DatasetMapper.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/DatasetMapper.java
new file mode 100644
index 0000000..4c55a0a
--- /dev/null
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/DatasetMapper.java
@@ -0,0 +1,13 @@
+package com.bipt.intelligentapplicationorchestrationservice.mapper;
+
+import com.bipt.intelligentapplicationorchestrationservice.pojo.DatasetEntity;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Update;
+
+import java.util.Map;
+
+@Mapper
+public interface DatasetMapper {
+
+ void updata(DatasetEntity datasetEntity);
+}
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/DatasetDTO.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/DatasetDTO.java
new file mode 100644
index 0000000..ee86df6
--- /dev/null
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/DatasetDTO.java
@@ -0,0 +1,17 @@
+package com.bipt.intelligentapplicationorchestrationservice.pojo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Map;
+
+/**
+ * @author hky
+ */
+@Data
+public class DatasetDTO implements Serializable {
+ private Integer datasetId;
+ private String datasetName;
+ private Integer datasetType;
+ private Map args;
+}
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/DatasetEntity.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/DatasetEntity.java
new file mode 100644
index 0000000..7409971
--- /dev/null
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/DatasetEntity.java
@@ -0,0 +1,28 @@
+package com.bipt.intelligentapplicationorchestrationservice.pojo;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Map;
+
+/**
+ * @author hky
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class DatasetEntity implements Serializable {
+ private Integer datasetId;
+ private String datasetName;
+ private Integer datasetType;
+ private Integer datasetStatus;
+ private String dsPath;
+ private Map args;
+ private LocalDateTime createTime;
+ private LocalDateTime updateTime;
+}
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/OptResult.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/OptResult.java
new file mode 100644
index 0000000..d89c6de
--- /dev/null
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/OptResult.java
@@ -0,0 +1,40 @@
+package com.bipt.intelligentapplicationorchestrationservice.pojo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 后端统一返回结果
+ * @author hky
+ * @param
+ */
+@Data
+public class OptResult implements Serializable {
+
+ private boolean isSuccess;
+ private String errorInfo;
+ private int statusCode;
+ private T data;
+
+ public static OptResult success() {
+ OptResult result = new OptResult<>();
+ result.isSuccess = true;
+ return result;
+ }
+
+ public static OptResult success(T object) {
+ OptResult result = new OptResult<>();
+ result.data = object;
+ result.isSuccess = true;
+ return result;
+ }
+
+ public static OptResult error(String errorInfo) {
+ OptResult result = new OptResult();
+ result.errorInfo = errorInfo;
+ result.isSuccess = false;
+ return result;
+ }
+
+}
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/DatasetService.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/DatasetService.java
new file mode 100644
index 0000000..377d960
--- /dev/null
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/DatasetService.java
@@ -0,0 +1,11 @@
+package com.bipt.intelligentapplicationorchestrationservice.service;
+
+import com.bipt.intelligentapplicationorchestrationservice.pojo.DatasetDTO;
+import com.bipt.intelligentapplicationorchestrationservice.pojo.DatasetEntity;
+import org.springframework.stereotype.Service;
+
+public interface DatasetService {
+ void save(DatasetDTO datasetDTO);
+
+ void update(DatasetEntity datasetEntity);
+}
diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/Impl/DatasetServiceImpl.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/Impl/DatasetServiceImpl.java
new file mode 100644
index 0000000..6b04606
--- /dev/null
+++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/Impl/DatasetServiceImpl.java
@@ -0,0 +1,61 @@
+package com.bipt.intelligentapplicationorchestrationservice.service.Impl;
+
+import com.bipt.intelligentapplicationorchestrationservice.mapper.DatasetMapper;
+import com.bipt.intelligentapplicationorchestrationservice.pojo.DatasetDTO;
+import com.bipt.intelligentapplicationorchestrationservice.pojo.DatasetEntity;
+import com.bipt.intelligentapplicationorchestrationservice.service.DatasetService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDateTime;
+import java.util.Map;
+
+@Service
+@Slf4j
+public class DatasetServiceImpl implements DatasetService {
+ @Autowired
+ private DatasetMapper datasetMapper;
+
+ /**
+ * 新增数据集
+ * @param datasetDTO
+ */
+ @Override
+ public void save(DatasetDTO datasetDTO) {
+ //判断数据集类型,如果是本地上传则保存,若用调用数据仓库进入下一步
+ if (datasetDTO.getDatasetType()==0){
+ //TODO 保存到分布式文件系统
+
+ }else {
+ Map args = datasetDTO.getArgs();
+ Integer datasetType = datasetDTO.getDatasetType();
+ //TODO 根据筛选条件调用数据仓库中的数据
+
+ //TODO 调用数据仓库保存到分布式文件系统
+ }
+
+ }
+
+ /**
+ * 修改数据集
+ * @param datasetEntity
+ */
+ @Override
+ @Transactional
+ public void update(DatasetEntity datasetEntity) {
+ if (datasetEntity.getDatasetType()==0){
+ //TODO 覆盖保存到分布式文件系统中
+
+ }else {
+
+ //TODO 覆盖数据文件
+
+ datasetEntity.setUpdateTime(LocalDateTime.now());
+ //maybe需要判断
+ datasetMapper.updata(datasetEntity);
+ }
+ }
+}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index d53e06e..28612b7 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1 +1,5 @@
spring.application.name=intelligent-application-orchestration-service
+# ?????
+spring.datasource.url=jdbc:kingbase8://116.205.121.200:54321/Ipz
+spring.datasource.username=system
+spring.datasource.password=root
\ No newline at end of file
diff --git a/src/main/resources/mapper/DatasetMapper.xml b/src/main/resources/mapper/DatasetMapper.xml
new file mode 100644
index 0000000..4d89113
--- /dev/null
+++ b/src/main/resources/mapper/DatasetMapper.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+ update dataset
+
+
+ dataset_name=#{datasetName},
+
+
+ dataset_type=#{datasetType},
+
+
+ dataset_status=#{datasetStatus},
+
+
+ ds_path=#{dsPath},
+
+
+ args=#{args},
+
+
+ create_time=#{createTime},
+
+
+ update_time=#{updateTime}
+
+
+ where dataset_id = #{datasetId}
+
+
\ No newline at end of file