diff --git a/ruoyi-modules/management-platform/pom.xml b/ruoyi-modules/management-platform/pom.xml
index c3254806..686357ee 100644
--- a/ruoyi-modules/management-platform/pom.xml
+++ b/ruoyi-modules/management-platform/pom.xml
@@ -183,7 +183,11 @@
opencsv
5.7.1
-
+
+ org.apache.commons
+ commons-csv
+ 1.9.0
+
io.fabric8
kubernetes-client
diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/kg/KgVersionController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/kg/KgVersionController.java
index 01468bd0..67514101 100644
--- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/kg/KgVersionController.java
+++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/kg/KgVersionController.java
@@ -4,12 +4,13 @@ import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.poi.ExcelUtil;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.web.page.TableDataInfo;
-import com.ruoyi.platform.domain.kg.KgInfo;
import com.ruoyi.platform.domain.kg.KnowledgeGraphVersion;
import com.ruoyi.platform.domain.kg.dto.KgInfoIdDTO;
+import com.ruoyi.platform.domain.kg.dto.KgVersionInsertDTO;
import com.ruoyi.platform.service.KgVersionService;
import com.ruoyi.system.api.domain.SysDictData;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -56,10 +57,9 @@ public class KgVersionController extends BaseController {
* 图谱版本导入
*
* @param file
- * @param kgId
*/
@PostMapping("/upload")
- public R uploadCsv(@RequestParam("file") MultipartFile file,@RequestParam("kgId") String kgId) {
+ public R uploadCsv(@RequestParam("file") MultipartFile file) {
if (file == null || file.isEmpty()) {
throw new IllegalArgumentException("文件不能为空");
}
@@ -67,41 +67,57 @@ public class KgVersionController extends BaseController {
if (!file.getOriginalFilename().endsWith(".csv")) {
throw new IllegalArgumentException("仅支持 CSV 文件");
}
- kgVersionService.uploadCsv(file, kgId);
- return R.ok("操作成功");
+
+ try {
+ return R.ok(kgVersionService.uploadCsv(file));
+ } catch (Exception e) {
+ e.printStackTrace();
+ return R.fail();
+ }
+ }
+
+ /**
+ * 图谱版本新增
+ *
+ * @param kgVersionInsertDTO
+ */
+ @PostMapping
+ public R insert(@RequestBody @Validated KgVersionInsertDTO kgVersionInsertDTO) {
+ kgVersionService.insert(kgVersionInsertDTO);
+ return R.ok();
}
/**
* 图谱版本全量更新
*
- * @param id 版本id
+ * @param kgInfoIdDTO 版本id
*/
@PostMapping("/fullUpdate")
- public R fullUpdate(@RequestParam("id") Long id) {
- kgVersionService.fullUpdate(id);
+ public R fullUpdate(@RequestBody @Validated KgInfoIdDTO kgInfoIdDTO) {
+ kgVersionService.fullUpdate(kgInfoIdDTO.getId());
return R.ok("操作成功");
}
/**
* 图谱版本增量更新
*
- * @param id
+ * @param kgInfoIdDTO
*/
@PostMapping("/incrementalUpdate")
- public R incrementalUpdate(@RequestParam("id") Long id) {
- kgVersionService.incrementalUpdate(id);
+ public R incrementalUpdate(@RequestBody @Validated KgInfoIdDTO kgInfoIdDTO) {
+ kgVersionService.incrementalUpdate(kgInfoIdDTO.getId());
return R.ok("操作成功");
}
/**
* 图谱版本回退
*
- * @param versionId
+ * @param kgInfoIdDTO
*/
@PostMapping("/rollback")
- public R rollback(@RequestParam("id") Long versionId) {
- kgVersionService.rollback(versionId);
+ public R rollback(@RequestBody @Validated KgInfoIdDTO kgInfoIdDTO) {
+ kgVersionService.rollback(kgInfoIdDTO.getId());
return R.ok("操作成功");
}
@@ -112,7 +128,7 @@ public class KgVersionController extends BaseController {
*/
@DeleteMapping("/{versionId}")
public R delete(@PathVariable Long versionId) {
- kgVersionService.rollback(versionId);
+ kgVersionService.delete(versionId);
return R.ok("操作成功");
}
}
diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/CsvParser.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/CsvParser.java
new file mode 100644
index 00000000..2ec30b73
--- /dev/null
+++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/CsvParser.java
@@ -0,0 +1,37 @@
+package com.ruoyi.platform.domain;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.opencsv.CSVReader;
+import com.opencsv.exceptions.CsvException;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+public class CsvParser {
+
+ public static List