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