diff --git a/doc/WorkReport/2025-05-14hky.md b/doc/WorkReport/2025-05-14hky.md new file mode 100644 index 0000000..c46cf0f --- /dev/null +++ b/doc/WorkReport/2025-05-14hky.md @@ -0,0 +1,13 @@ +# 工作日报 - 2025年5月 +## 2025年5月14日 +### ✅ 今日完成 +完成分页查询 + +### 🚧 进行中 +删除操作 + +### ⚠️ 问题/障碍 +测试方法不知道怎么写 + +### 📅 明日计划 +写完删除代码,进行测试 \ No newline at end of file diff --git a/pom.xml b/pom.xml index 99aface..27daee5 100644 --- a/pom.xml +++ b/pom.xml @@ -50,6 +50,13 @@ true + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.4.7 + + com.kingbase8 diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/DatasetController.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/DatasetController.java index fa47e8c..7f64e72 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/DatasetController.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/DatasetController.java @@ -1,13 +1,14 @@ 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.pojo.*; import com.bipt.intelligentapplicationorchestrationservice.service.DatasetService; +import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + @RestController @RequestMapping("/dataset") @Slf4j @@ -27,6 +28,14 @@ public class DatasetController { return OptResult.success(); } + @GetMapping("/page") + public OptResult page(DatasetPageQueryDTO dataSetPageQueryDTO) { + log.info("数据集分页查询:{}", dataSetPageQueryDTO); + PageResult pageResult = datasetService.pageQuery(dataSetPageQueryDTO); + return OptResult.success(pageResult); + } + + /** * 修改数据集 * @param datasetEntity @@ -39,5 +48,22 @@ public class DatasetController { return OptResult.success(); } + /** + * 批量删除数据集 + * @param datasetIds 数据集ID列表 + * @return 操作结果 + */ + @DeleteMapping + public OptResult deleteBatch(@RequestBody List datasetIds) { + log.info("批量删除数据集,ID列表:{}", datasetIds); + datasetService.deleteBatch(datasetIds); + return OptResult.success("批量删除成功"); + } + + + + + + } diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/DatasetMapper.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/DatasetMapper.java index 4c55a0a..3e83f61 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/DatasetMapper.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/DatasetMapper.java @@ -1,13 +1,25 @@ package com.bipt.intelligentapplicationorchestrationservice.mapper; import com.bipt.intelligentapplicationorchestrationservice.pojo.DatasetEntity; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Update; +import com.bipt.intelligentapplicationorchestrationservice.pojo.DatasetPageQueryDTO; +import com.bipt.intelligentapplicationorchestrationservice.pojo.DatasetVO; +import com.github.pagehelper.Page; +import org.apache.ibatis.annotations.*; +import java.util.List; import java.util.Map; @Mapper public interface DatasetMapper { void updata(DatasetEntity datasetEntity); + + void insert(DatasetEntity datasetEntity); + + Page pageQuery(DatasetPageQueryDTO dataSetPageQueryDTO); + + @Select("select * from dataset where dataset_id=#{datasetId}") + DatasetEntity getById(Integer datasetId); + @Delete("delete from dataset where dataset_id = #{datasetId}") + void deleteBatch(List datasetIds); } diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/DatasetPageQueryDTO.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/DatasetPageQueryDTO.java new file mode 100644 index 0000000..b047610 --- /dev/null +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/DatasetPageQueryDTO.java @@ -0,0 +1,18 @@ +package com.bipt.intelligentapplicationorchestrationservice.pojo; + +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Map; + +/** + * @author hky + */ +@Data +public class DatasetPageQueryDTO implements Serializable{ + private int page; + private int pageSize; + private Integer datasetType; + private Integer datasetStatus; +} diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/DatasetVO.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/DatasetVO.java new file mode 100644 index 0000000..4ebebc5 --- /dev/null +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/DatasetVO.java @@ -0,0 +1,18 @@ +package com.bipt.intelligentapplicationorchestrationservice.pojo; + +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.Map; + +/** + * @author hky + */ +public class DatasetVO implements Serializable { + 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/PageResult.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/PageResult.java new file mode 100644 index 0000000..3b6c15b --- /dev/null +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/PageResult.java @@ -0,0 +1,19 @@ +package com.bipt.intelligentapplicationorchestrationservice.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 分页 + * @param + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class PageResult { + private Long total; + private List rows; +} diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/DatasetService.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/DatasetService.java index 377d960..f3e844e 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/DatasetService.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/DatasetService.java @@ -2,10 +2,20 @@ package com.bipt.intelligentapplicationorchestrationservice.service; import com.bipt.intelligentapplicationorchestrationservice.pojo.DatasetDTO; import com.bipt.intelligentapplicationorchestrationservice.pojo.DatasetEntity; -import org.springframework.stereotype.Service; +import com.bipt.intelligentapplicationorchestrationservice.pojo.DatasetPageQueryDTO; +import com.bipt.intelligentapplicationorchestrationservice.pojo.PageResult; +import java.util.List; + +/** + * @author hky + */ public interface DatasetService { void save(DatasetDTO datasetDTO); void update(DatasetEntity datasetEntity); + + PageResult pageQuery(DatasetPageQueryDTO dataSetPageQueryDTO); + + void deleteBatch(List datasetIds); } diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/Impl/DatasetServiceImpl.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/Impl/DatasetServiceImpl.java index 6b04606..3e97b91 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/Impl/DatasetServiceImpl.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/Impl/DatasetServiceImpl.java @@ -1,9 +1,10 @@ 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.pojo.*; import com.bipt.intelligentapplicationorchestrationservice.service.DatasetService; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -11,6 +12,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; +import java.util.List; import java.util.Map; @Service @@ -36,11 +38,18 @@ public class DatasetServiceImpl implements DatasetService { //TODO 调用数据仓库保存到分布式文件系统 } + DatasetEntity datasetEntity = new DatasetEntity(); + BeanUtils.copyProperties(datasetEntity,datasetDTO); + datasetEntity.setDatasetStatus(1); + datasetEntity.setCreateTime(LocalDateTime.now()); + datasetEntity.setUpdateTime(LocalDateTime.now()); + datasetMapper.insert(datasetEntity); } /** * 修改数据集 + * * @param datasetEntity */ @Override @@ -50,12 +59,46 @@ public class DatasetServiceImpl implements DatasetService { //TODO 覆盖保存到分布式文件系统中 }else { - //TODO 覆盖数据文件 + + //TODO datasetEntity.setUpdateTime(LocalDateTime.now()); - //maybe需要判断 datasetMapper.updata(datasetEntity); } } + + /** + * 分页查询 + * @param dataSetPageQueryDTO + * @return + */ + @Override + public PageResult pageQuery(DatasetPageQueryDTO dataSetPageQueryDTO) { + int pageNum = dataSetPageQueryDTO.getPage(); + int pageSize = dataSetPageQueryDTO.getPageSize(); + PageHelper.startPage(pageNum, pageSize); + Page page = datasetMapper.pageQuery(dataSetPageQueryDTO); + return new PageResult(page.getTotal(), page.getResult()); + } + + /** + * 批量删除 + * @param datasetIds + */ + @Override + @Transactional + public void deleteBatch(List datasetIds) { + for (Integer datasetId : datasetIds) { + DatasetEntity datasetEntity = datasetMapper.getById(datasetId); + if (datasetEntity == null) { + throw new IllegalArgumentException("数据集不存在,ID:" + datasetId); + } + + } + //TODO 在分布式文件系统中删除 + + datasetMapper.deleteBatch(datasetIds); + } + } diff --git a/src/main/resources/mapper/DatasetMapper.xml b/src/main/resources/mapper/DatasetMapper.xml index 4d89113..41d1f85 100644 --- a/src/main/resources/mapper/DatasetMapper.xml +++ b/src/main/resources/mapper/DatasetMapper.xml @@ -1,6 +1,11 @@ + + INSERT INTO dataset + (dataset_name,dataset_type,dataset_status,ds_path,args,create_time,update_time) + values (#{datasetName}, #{datasetType}, #{datasetStatus}, #{dsPath}, #{args},#{createTime},#{updateTime}) + update dataset @@ -29,4 +34,30 @@ where dataset_id = #{datasetId} + \ No newline at end of file