Browse Source

dev extract

allen 2 years ago
parent
commit
aed6dc9ecb
66 changed files with 3555 additions and 690 deletions
  1. 2 1
      kgraph-framework/src/main/java/com/kgraph/framework/config/ResourcesConfig.java
  2. 7 0
      kgraph-graph/pom.xml
  3. 0 1
      kgraph-graph/src/main/java/com/kgraph/graph/demo1/README.md
  4. 0 59
      kgraph-graph/src/main/java/com/kgraph/graph/demo1/controller/DemoMovieController.java
  5. 0 37
      kgraph-graph/src/main/java/com/kgraph/graph/demo1/controller/DemoPersonController.java
  6. 0 37
      kgraph-graph/src/main/java/com/kgraph/graph/demo1/controller/DemoRolesController.java
  7. 0 47
      kgraph-graph/src/main/java/com/kgraph/graph/demo1/domain/DemoMovie.java
  8. 0 33
      kgraph-graph/src/main/java/com/kgraph/graph/demo1/domain/DemoPerson.java
  9. 0 38
      kgraph-graph/src/main/java/com/kgraph/graph/demo1/domain/DemoRoles.java
  10. 0 12
      kgraph-graph/src/main/java/com/kgraph/graph/demo1/mapper/DemoMovieRepository.java
  11. 0 12
      kgraph-graph/src/main/java/com/kgraph/graph/demo1/mapper/DemoPersonRepository.java
  12. 0 12
      kgraph-graph/src/main/java/com/kgraph/graph/demo1/mapper/DemoRolesRepository.java
  13. 0 20
      kgraph-graph/src/main/java/com/kgraph/graph/demo1/service/IDemoMovieService.java
  14. 0 10
      kgraph-graph/src/main/java/com/kgraph/graph/demo1/service/IDemoPersonService.java
  15. 0 10
      kgraph-graph/src/main/java/com/kgraph/graph/demo1/service/IDemoRolesService.java
  16. 0 88
      kgraph-graph/src/main/java/com/kgraph/graph/demo1/service/impl/DemoMovieServiceImpl.java
  17. 0 34
      kgraph-graph/src/main/java/com/kgraph/graph/demo1/service/impl/DemoPersonServiceImpl.java
  18. 0 34
      kgraph-graph/src/main/java/com/kgraph/graph/demo1/service/impl/DemoRolesServiceImpl.java
  19. 0 37
      kgraph-graph/src/main/java/com/kgraph/graph/demo2/README.md
  20. 0 34
      kgraph-graph/src/main/java/com/kgraph/graph/demo2/controller/MomentController.java
  21. 0 28
      kgraph-graph/src/main/java/com/kgraph/graph/demo2/domain/Moment.java
  22. 0 23
      kgraph-graph/src/main/java/com/kgraph/graph/demo2/domain/MomentRelationship.java
  23. 0 28
      kgraph-graph/src/main/java/com/kgraph/graph/demo2/mapper/IMomentRepository.java
  24. 0 14
      kgraph-graph/src/main/java/com/kgraph/graph/demo2/service/IMomentService.java
  25. 0 40
      kgraph-graph/src/main/java/com/kgraph/graph/demo2/service/impl/MomentServiceImpl.java
  26. 12 0
      kgraph-graph/src/main/java/com/kgraph/graph/neo4j/DTO/KgDTO.java
  27. 38 0
      kgraph-graph/src/main/java/com/kgraph/graph/neo4j/controller/KgController.java
  28. 21 0
      kgraph-graph/src/main/java/com/kgraph/graph/neo4j/domain/Neo4jEntity.java
  29. 24 0
      kgraph-graph/src/main/java/com/kgraph/graph/neo4j/domain/Neo4jRelation.java
  30. 7 0
      kgraph-graph/src/main/java/com/kgraph/graph/neo4j/mapper/EntityRepository.java
  31. 7 0
      kgraph-graph/src/main/java/com/kgraph/graph/neo4j/mapper/RelationRepository.java
  32. 13 0
      kgraph-graph/src/main/java/com/kgraph/graph/neo4j/seavice/IKgService.java
  33. 74 0
      kgraph-graph/src/main/java/com/kgraph/graph/neo4j/seavice/impl/KgServiceImpl.java
  34. 104 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/controller/DataManageController.java
  35. 104 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/controller/ExtractKnowledgeSubTaskController.java
  36. 104 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/controller/ExtractKnowledgeSubTaskDetailController.java
  37. 106 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/controller/ExtractKnowledgeTaskController.java
  38. 107 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/controller/UploadManageController.java
  39. 335 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/domain/DataManage.java
  40. 132 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/domain/ExtractKnowledgeSubTask.java
  41. 97 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/domain/ExtractKnowledgeSubTaskDetail.java
  42. 150 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/domain/ExtractKnowledgeTask.java
  43. 140 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/domain/UploadManage.java
  44. 61 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/mapper/DataManageMapper.java
  45. 61 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/mapper/ExtractKnowledgeSubTaskDetailMapper.java
  46. 61 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/mapper/ExtractKnowledgeSubTaskMapper.java
  47. 61 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/mapper/ExtractKnowledgeTaskMapper.java
  48. 69 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/mapper/UploadManageMapper.java
  49. 61 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/service/IDataManageService.java
  50. 61 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/service/IExtractKnowledgeSubTaskDetailService.java
  51. 68 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/service/IExtractKnowledgeSubTaskService.java
  52. 61 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/service/IExtractKnowledgeTaskService.java
  53. 69 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/service/IUploadManageService.java
  54. 96 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/service/impl/DataManageServiceImpl.java
  55. 96 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/service/impl/ExtractKnowledgeSubTaskDetailServiceImpl.java
  56. 115 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/service/impl/ExtractKnowledgeSubTaskServiceImpl.java
  57. 102 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/service/impl/ExtractKnowledgeTaskServiceImpl.java
  58. 114 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/service/impl/UploadManageServiceImpl.java
  59. 30 0
      kgraph-graph/src/main/java/com/kgraph/graph/suport/vo/UploadManageOptionVO.java
  60. 81 0
      kgraph-graph/src/main/resources/mapper/extract/ExtractKnowledgeSubTaskDetailMapper.xml
  61. 91 0
      kgraph-graph/src/main/resources/mapper/extract/ExtractKnowledgeSubTaskMapper.xml
  62. 112 0
      kgraph-graph/src/main/resources/mapper/extract/ExtractKnowledgeTaskMapper.xml
  63. 166 0
      kgraph-graph/src/main/resources/mapper/upload/DataManageMapper.xml
  64. 105 0
      kgraph-graph/src/main/resources/mapper/upload/UploadManageMapper.xml
  65. 1 1
      pom.xml
  66. 229 0
      sql/system.sql

+ 2 - 1
kgraph-framework/src/main/java/com/kgraph/framework/config/ResourcesConfig.java

@@ -55,7 +55,8 @@ public class ResourcesConfig implements WebMvcConfigurer {
         CorsConfiguration config = new CorsConfiguration();
         CorsConfiguration config = new CorsConfiguration();
         config.setAllowCredentials(true);
         config.setAllowCredentials(true);
         // 设置访问源地址
         // 设置访问源地址
-        config.addAllowedOriginPattern("*");
+//        config.addAllowedOriginPattern("*");
+        config.addAllowedOrigin("*");
         // 设置访问源请求头
         // 设置访问源请求头
         config.addAllowedHeader("*");
         config.addAllowedHeader("*");
         // 设置访问源请求方法
         // 设置访问源请求方法

+ 7 - 0
kgraph-graph/pom.xml

@@ -27,6 +27,13 @@
 			<groupId>org.springframework.boot</groupId>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-data-neo4j</artifactId>
 			<artifactId>spring-boot-starter-data-neo4j</artifactId>
 		</dependency>
 		</dependency>
+
+		<dependency>
+			<groupId>io.github.classgraph</groupId>
+			<artifactId>classgraph</artifactId>
+			<version>4.8.86</version>
+		</dependency>
+
 		<dependency>
 		<dependency>
 			<groupId>org.projectlombok</groupId>
 			<groupId>org.projectlombok</groupId>
 			<artifactId>lombok</artifactId>
 			<artifactId>lombok</artifactId>

+ 0 - 1
kgraph-graph/src/main/java/com/kgraph/graph/demo1/README.md

@@ -1 +0,0 @@
-最基本的增删改查demo

+ 0 - 59
kgraph-graph/src/main/java/com/kgraph/graph/demo1/controller/DemoMovieController.java

@@ -1,59 +0,0 @@
-package com.kgraph.graph.demo1.controller;
-
-import com.kgraph.common.core.controller.BaseController;
-import com.kgraph.common.core.domain.AjaxResult;
-import com.kgraph.graph.demo1.domain.DemoMovie;
-import com.kgraph.graph.demo1.service.IDemoMovieService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * @author allen
- */
-@Api("电影")
-@RestController
-@RequestMapping("/movie")
-public class DemoMovieController extends BaseController {
-
-    @Autowired
-    private IDemoMovieService movieService;
-
-    @ApiOperation("添加一组电影关系")
-    @GetMapping("/add")
-    public AjaxResult addMovie() {
-        movieService.add();
-        return success();
-    }
-
-    @ApiOperation("创建一个电影")
-    @PostMapping()
-    public DemoMovie create(@RequestBody DemoMovie demoMovie) {
-        return movieService.create(demoMovie);
-    }
-
-    @ApiOperation("根据电影题目删除")
-    @DeleteMapping()
-    public void deleteByTitle(String title) {
-        movieService.deleteById(title);
-    }
-
-    @ApiOperation("更新电影信息")
-    @PutMapping()
-    public DemoMovie update(@RequestBody DemoMovie demoMovie) {
-        return movieService.update(demoMovie);
-    }
-
-    @ApiOperation("通过电影题目获取电影信息")
-    @GetMapping()
-    public DemoMovie getByTitle(String title) {
-        return movieService.getById(title);
-    }
-
-    @ApiOperation("通过电影题目获取电影信息")
-    @GetMapping("/getMovieByTitleAndCql")
-    public DemoMovie getMovieByTitleAndCql(String title) {
-        return movieService.getMovieByTitleAndCql(title);
-    }
-}

+ 0 - 37
kgraph-graph/src/main/java/com/kgraph/graph/demo1/controller/DemoPersonController.java

@@ -1,37 +0,0 @@
-package com.kgraph.graph.demo1.controller;
-
-import com.kgraph.graph.demo1.domain.DemoPerson;
-import com.kgraph.graph.demo1.service.IDemoPersonService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * @author allen
- */
-@RestController
-@RequestMapping("/person")
-public class DemoPersonController {
-
-    @Autowired
-    private IDemoPersonService personService;
-
-    @PostMapping()
-    public DemoPerson create(@RequestBody DemoPerson demoPerson) {
-        return personService.create(demoPerson);
-    }
-
-    @DeleteMapping()
-    public void deleteById(String id) {
-        personService.deleteById(id);
-    }
-
-    @PutMapping()
-    public DemoPerson update(@RequestBody DemoPerson demoPerson) {
-        return personService.update(demoPerson);
-    }
-
-    @GetMapping()
-    public DemoPerson getById(String id) {
-        return personService.getById(id);
-    }
-}

+ 0 - 37
kgraph-graph/src/main/java/com/kgraph/graph/demo1/controller/DemoRolesController.java

@@ -1,37 +0,0 @@
-package com.kgraph.graph.demo1.controller;
-
-import com.kgraph.graph.demo1.domain.DemoRoles;
-import com.kgraph.graph.demo1.service.IDemoRolesService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-/**
- * @author allen
- */
-@RestController
-@RequestMapping("/roles")
-public class DemoRolesController {
-
-    @Autowired
-    private IDemoRolesService rolesService;
-
-    @PostMapping()
-    public DemoRoles create(@RequestBody DemoRoles demoRoles) {
-        return rolesService.create(demoRoles);
-    }
-
-    @DeleteMapping()
-    public void deleteById(Long id) {
-        rolesService.deleteById(id);
-    }
-
-    @PutMapping()
-    public DemoRoles update(@RequestBody DemoRoles demoRoles) {
-        return rolesService.update(demoRoles);
-    }
-
-    @GetMapping()
-    public DemoRoles getById(Long id) {
-        return rolesService.getById(id);
-    }
-}

+ 0 - 47
kgraph-graph/src/main/java/com/kgraph/graph/demo1/domain/DemoMovie.java

@@ -1,47 +0,0 @@
-package com.kgraph.graph.demo1.domain;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-import org.springframework.data.neo4j.core.schema.Property;
-import org.springframework.data.neo4j.core.schema.Relationship;
-
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * 电影实体类
- * @author allen
- */
-@ApiModel(value = "MovieEntity", description = "电影实体")
-@Data
-@NoArgsConstructor
-@Node(value = "DemoMovie11,DemoMovie12", labels = "DemoMovie11,DemoMovie12",primaryLabel = "DemoMovie22")
-public class DemoMovie implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    @ApiModelProperty("电影标题")
-    @Id
-    private String title;
-
-    @ApiModelProperty("电影描述")
-    @Property("description")
-    private String description;
-
-    @ApiModelProperty("电影角色列表")
-    @Relationship(type = "ACTED_IN", direction = Relationship.Direction.OUTGOING)
-    private List<DemoRoles> roles;
-
-    @ApiModelProperty("导演列表")
-    @Relationship(type = "DIRECTED", direction = Relationship.Direction.INCOMING)
-    private List<DemoPerson> directors;
-
-    public DemoMovie(String title, String description) {
-        this.title = title;
-        this.description = description;
-    }
-}

+ 0 - 33
kgraph-graph/src/main/java/com/kgraph/graph/demo1/domain/DemoPerson.java

@@ -1,33 +0,0 @@
-package com.kgraph.graph.demo1.domain;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-import org.springframework.data.neo4j.core.schema.Property;
-
-import java.io.Serializable;
-
-/**
- * 人员实体类
- */
-@ApiModel(value = "PersonEntity", description = "人员实体")
-@Data
-@NoArgsConstructor
-@Node("DemoPerson")
-public class DemoPerson implements Serializable {
-    @ApiModelProperty("姓名")
-    @Id
-    private String name;
-
-    @ApiModelProperty("出生日期")
-    @Property("born")
-    private Integer born;
-
-    public DemoPerson(Integer born, String name) {
-        this.born = born;
-        this.name = name;
-    }
-}

+ 0 - 38
kgraph-graph/src/main/java/com/kgraph/graph/demo1/domain/DemoRoles.java

@@ -1,38 +0,0 @@
-package com.kgraph.graph.demo1.domain;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import org.springframework.data.neo4j.core.schema.*;
-
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * 电影-人员关系类
- * @author allen
- */
-@ApiModel(value = "DemoRoles", description = "电影-人员关系实体")
-@Data
-@NoArgsConstructor
-@RelationshipProperties
-public class DemoRoles implements Serializable {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    @ApiModelProperty("角色列表")
-    @Property("demoRoles")
-    private List<String> roleList;
-
-    @ApiModelProperty("人员实体")
-    @TargetNode
-    private DemoPerson demoPerson;
-
-    public DemoRoles(Long id, DemoPerson demoPerson, List<String> roleList) {
-//        this.id = id;
-        this.demoPerson = demoPerson;
-        this.roleList = roleList;
-    }
-}

+ 0 - 12
kgraph-graph/src/main/java/com/kgraph/graph/demo1/mapper/DemoMovieRepository.java

@@ -1,12 +0,0 @@
-package com.kgraph.graph.demo1.mapper;
-
-import com.kgraph.graph.demo1.domain.DemoMovie;
-import org.springframework.data.neo4j.repository.Neo4jRepository;
-import org.springframework.data.neo4j.repository.query.Query;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface DemoMovieRepository extends Neo4jRepository<DemoMovie, String> {
-    @Query("MATCH (n:Movie{title:{0}}) RETURN n")
-    DemoMovie getMovieByTitleAndCql(String title);
-}

+ 0 - 12
kgraph-graph/src/main/java/com/kgraph/graph/demo1/mapper/DemoPersonRepository.java

@@ -1,12 +0,0 @@
-package com.kgraph.graph.demo1.mapper;
-
-import com.kgraph.graph.demo1.domain.DemoPerson;
-import org.springframework.data.neo4j.repository.Neo4jRepository;
-import org.springframework.stereotype.Repository;
-
-/**
- * @author allen
- */
-@Repository
-public interface DemoPersonRepository extends Neo4jRepository<DemoPerson, String> {
-}

+ 0 - 12
kgraph-graph/src/main/java/com/kgraph/graph/demo1/mapper/DemoRolesRepository.java

@@ -1,12 +0,0 @@
-package com.kgraph.graph.demo1.mapper;
-
-import com.kgraph.graph.demo1.domain.DemoRoles;
-import org.springframework.data.neo4j.repository.Neo4jRepository;
-import org.springframework.stereotype.Repository;
-
-/**
- * @author allen
- */
-@Repository
-public interface DemoRolesRepository extends Neo4jRepository<DemoRoles, Long> {
-}

+ 0 - 20
kgraph-graph/src/main/java/com/kgraph/graph/demo1/service/IDemoMovieService.java

@@ -1,20 +0,0 @@
-package com.kgraph.graph.demo1.service;
-
-import com.kgraph.graph.demo1.domain.DemoMovie;
-
-public interface IDemoMovieService {
-    public void add();
-
-    public DemoMovie findMovie();
-
-    public DemoMovie testNeo4jTemplate();
-
-    public Long count();
-
-    DemoMovie create(DemoMovie demoMovie);
-    void deleteById(String id);
-    DemoMovie update(DemoMovie demoMovie);
-    DemoMovie getById(String id);
-
-    DemoMovie getMovieByTitleAndCql(String title);
-}

+ 0 - 10
kgraph-graph/src/main/java/com/kgraph/graph/demo1/service/IDemoPersonService.java

@@ -1,10 +0,0 @@
-package com.kgraph.graph.demo1.service;
-
-import com.kgraph.graph.demo1.domain.DemoPerson;
-
-public interface IDemoPersonService {
-    DemoPerson create(DemoPerson demoPerson);
-    void deleteById(String id);
-    DemoPerson update(DemoPerson demoPerson);
-    DemoPerson getById(String id);
-}

+ 0 - 10
kgraph-graph/src/main/java/com/kgraph/graph/demo1/service/IDemoRolesService.java

@@ -1,10 +0,0 @@
-package com.kgraph.graph.demo1.service;
-
-import com.kgraph.graph.demo1.domain.DemoRoles;
-
-public interface IDemoRolesService {
-    DemoRoles create(DemoRoles demoRoles);
-    void deleteById(Long id);
-    DemoRoles update(DemoRoles demoRoles);
-    DemoRoles getById(Long id);
-}

+ 0 - 88
kgraph-graph/src/main/java/com/kgraph/graph/demo1/service/impl/DemoMovieServiceImpl.java

@@ -1,88 +0,0 @@
-package com.kgraph.graph.demo1.service.impl;
-
-import com.kgraph.graph.demo1.domain.DemoMovie;
-import com.kgraph.graph.demo1.domain.DemoPerson;
-import com.kgraph.graph.demo1.domain.DemoRoles;
-import com.kgraph.graph.demo1.mapper.DemoMovieRepository;
-import com.kgraph.graph.demo1.service.IDemoMovieService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.neo4j.core.Neo4jTemplate;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-@Service
-public class DemoMovieServiceImpl implements IDemoMovieService {
-
-    @Autowired
-    private DemoMovieRepository demoMovieRepository;
-    @Autowired
-    private Neo4jTemplate neo4jTemplate;
-
-//    @Autowired
-//    public MovieServiceImpl(MovieRepository movieRepository, Neo4jTemplate neo4jTemplate) {
-//        this.movieRepository = movieRepository;
-//        this.neo4jTemplate = neo4jTemplate;
-//    }
-
-
-    @Override
-    public void add() {
-        DemoMovie demoMovie = new DemoMovie("我爱我的祖国", "该片讲述了新中国成立70年间普通百姓与共和国息息相关的故事");
-
-        List<DemoRoles> demoRolesList = new ArrayList<>(8);
-        demoRolesList.add(new DemoRoles(1L, new DemoPerson(1974, "黄渤"), new ArrayList<>(Collections.singletonList("林治远"))));
-        demoRolesList.add(new DemoRoles(2L, new DemoPerson(1978, "张译"), new ArrayList<>(Collections.singletonList("高远"))));
-        demoRolesList.add(new DemoRoles(3L, new DemoPerson(1974, "吴京"), new ArrayList<>(Collections.singletonList("陈冬冬"))));
-        demoRolesList.add(new DemoRoles(4L, new DemoPerson(1985, "杜江"), new ArrayList<>(Collections.singletonList("朱涛"))));
-        demoRolesList.add(new DemoRoles(5L, new DemoPerson(1957, "葛优"), new ArrayList<>(Collections.singletonList("张北京"))));
-        demoRolesList.add(new DemoRoles(6L, new DemoPerson(1997, "刘昊然"), new ArrayList<>(Collections.singletonList("沃德乐"))));
-
-        demoMovie.setRoles(demoRolesList);
-        demoMovie.setDirectors(Collections.singletonList(new DemoPerson(1952, "陈凯歌")));
-
-        demoMovieRepository.save(demoMovie);
-    }
-
-    @Override
-    public DemoMovie findMovie() {
-        return demoMovieRepository.findById("我爱我的祖国").orElse(null);
-    }
-
-    @Override
-    public DemoMovie testNeo4jTemplate() {
-        return neo4jTemplate.findById("我爱我的祖国", DemoMovie.class).orElse(null);
-    }
-
-    @Override
-    public Long count() {
-        return demoMovieRepository.count();
-    }
-
-    @Override
-    public DemoMovie create(DemoMovie demoMovie) {
-        return demoMovieRepository.save(demoMovie);
-    }
-
-    @Override
-    public void deleteById(String id) {
-        demoMovieRepository.deleteById(id);
-    }
-
-    @Override
-    public DemoMovie update(DemoMovie demoMovie) {
-        return demoMovieRepository.save(demoMovie);
-    }
-
-    @Override
-    public DemoMovie getById(String id) {
-        return demoMovieRepository.findById(id).orElse(null);
-    }
-
-    @Override
-    public DemoMovie getMovieByTitleAndCql(String title) {
-        return demoMovieRepository.getMovieByTitleAndCql(title);
-    }
-}

+ 0 - 34
kgraph-graph/src/main/java/com/kgraph/graph/demo1/service/impl/DemoPersonServiceImpl.java

@@ -1,34 +0,0 @@
-package com.kgraph.graph.demo1.service.impl;
-
-import com.kgraph.graph.demo1.domain.DemoPerson;
-import com.kgraph.graph.demo1.mapper.DemoPersonRepository;
-import com.kgraph.graph.demo1.service.IDemoPersonService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-@Service
-public class DemoPersonServiceImpl implements IDemoPersonService {
-
-    @Autowired
-    private DemoPersonRepository demoPersonRepository;
-
-    @Override
-    public DemoPerson create(DemoPerson movie) {
-        return demoPersonRepository.save(movie);
-    }
-
-    @Override
-    public void deleteById(String id) {
-        demoPersonRepository.deleteById(id);
-    }
-
-    @Override
-    public DemoPerson update(DemoPerson movie) {
-        return demoPersonRepository.save(movie);
-    }
-
-    @Override
-    public DemoPerson getById(String id) {
-        return demoPersonRepository.findById(id).orElse(null);
-    }
-}

+ 0 - 34
kgraph-graph/src/main/java/com/kgraph/graph/demo1/service/impl/DemoRolesServiceImpl.java

@@ -1,34 +0,0 @@
-package com.kgraph.graph.demo1.service.impl;
-
-import com.kgraph.graph.demo1.domain.DemoRoles;
-import com.kgraph.graph.demo1.mapper.DemoRolesRepository;
-import com.kgraph.graph.demo1.service.IDemoRolesService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-@Service
-public class DemoRolesServiceImpl implements IDemoRolesService {
-
-    @Autowired
-    private DemoRolesRepository demoRolesRepository;
-
-    @Override
-    public DemoRoles create(DemoRoles demoRoles) {
-        return demoRolesRepository.save(demoRoles);
-    }
-
-    @Override
-    public void deleteById(Long id) {
-        demoRolesRepository.deleteById(id);
-    }
-
-    @Override
-    public DemoRoles update(DemoRoles demoRoles) {
-        return demoRolesRepository.save(demoRoles);
-    }
-
-    @Override
-    public DemoRoles getById(Long id) {
-        return demoRolesRepository.findById(id).orElse(null);
-    }
-}

+ 0 - 37
kgraph-graph/src/main/java/com/kgraph/graph/demo2/README.md

@@ -1,37 +0,0 @@
-最短路径demo
-cql:
-create (小北:朋友圈{姓名:"小北", 喜欢的书类:"Poetry"}),
-(小菲:朋友圈{姓名:"小菲", 喜欢的书类:"Science Fiction"}),
-(小鹏:朋友圈{姓名:"小鹏", 喜欢的书类:"Music"}),
-(小颖:朋友圈{姓名:"小颖", 喜欢的书类:"Politics"}),
-(小兰:朋友圈{姓名:"小兰", 喜欢的书类:"Music"}),
-(小峰:朋友圈{姓名:"小峰", 喜欢的书类:"Travel"}),
-(小讯:朋友圈{姓名:"小讯", 喜欢的书类:"Poetry"}),
-(小东:朋友圈{姓名:"小东", 喜欢的书类:"Sequential Art"}),
-(小唯:朋友圈{姓名:"小唯", 喜欢的书类:"Young Adult"}),
-(小窦:朋友圈{姓名:"小窦", 喜欢的书类:"Poetry"}),
-(小齐:朋友圈{姓名:"小齐", 喜欢的书类:"Default"}),
-(小林:朋友圈{姓名:"小林", 喜欢的书类:"Poetry"}),
-(小锐:朋友圈{姓名:"小锐", 喜欢的书类:"Default"}),
-(小伟:朋友圈{姓名:"小伟", 喜欢的书类:"Young Adult"}),
-(小玲:朋友圈{姓名:"小玲", 喜欢的书类:"Business"}),
-(小讯)-[:认识]->(小窦),
-(小讯)-[:认识]->(小齐),
-(小讯)-[:认识]->(小林),
-(小讯)-[:认识]->(小鹏),
-(小讯)-[:认识]->(小伟),
-(小讯)-[:认识]->(小峰),
-(小菲)-[:认识]->(小鹏),
-(小菲)-[:认识]->(小峰),
-(小菲)-[:认识]->(小唯),
-(小峰)-[:认识]->(小北),
-(小峰)-[:认识]->(小兰),
-(小东)-[:认识]->(小林),
-(小东)-[:认识]->(小锐),
-(小东)-[:认识]->(小菲),
-(小鹏)-[:认识]->(小颖),
-(小北)-[:认识]->(小兰),
-(小颖)-[:认识]->(小东),
-(小唯)-[:认识]->(小鹏),
-(小唯)-[:认识]->(小锐),
-(小伟)-[:认识]->(小玲)

+ 0 - 34
kgraph-graph/src/main/java/com/kgraph/graph/demo2/controller/MomentController.java

@@ -1,34 +0,0 @@
-package com.kgraph.graph.demo2.controller;
-
-import com.kgraph.common.core.controller.BaseController;
-import com.kgraph.common.core.domain.AjaxResult;
-import com.kgraph.graph.demo2.service.IMomentService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @author allen
- */
-@RestController
-@RequestMapping("/demo/moment")
-public class MomentController extends BaseController {
-    @Autowired
-    private IMomentService momentService;
-
-    @GetMapping("/queryShortestPath")
-    public AjaxResult queryShortestPath(String startName, String endName) {
-        return success(momentService.queryShortestPath(startName, endName));
-    }
-
-    // TODO fix this bug
-    @GetMapping("/queryPathByStep")
-    public AjaxResult queryPathByStep(String startName, String endName, int step) {
-        return success(momentService.queryPathByStep(startName, endName, step));
-    }
-    @GetMapping("/getAll")
-    public AjaxResult getAll() {
-        return success(momentService.getAll());
-    }
-}

+ 0 - 28
kgraph-graph/src/main/java/com/kgraph/graph/demo2/domain/Moment.java

@@ -1,28 +0,0 @@
-package com.kgraph.graph.demo2.domain;
-
-import lombok.Data;
-import org.springframework.data.neo4j.core.schema.*;
-
-import java.util.List;
-
-/**
- * @author allen
- */
-@Data
-@Node("朋友圈")
-public class Moment {
-
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    @Property("姓名")
-    private String name;
-
-    @Property("喜欢的书类")
-    private String likeBook;
-
-    @Relationship(type = "认识", direction = Relationship.Direction.OUTGOING)
-    private List<MomentRelationship> known;
-
-}

+ 0 - 23
kgraph-graph/src/main/java/com/kgraph/graph/demo2/domain/MomentRelationship.java

@@ -1,23 +0,0 @@
-package com.kgraph.graph.demo2.domain;
-
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.kgraph.graph.demo1.domain.DemoPerson;
-import lombok.Data;
-import org.springframework.data.neo4j.core.schema.*;
-
-/**
- * @author allen
- */
-@Data
-@RelationshipProperties
-public class MomentRelationship {
-
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    @TargetNode
-    @JsonIgnoreProperties(value = {"known"})
-    private Moment moment;
-
-}

+ 0 - 28
kgraph-graph/src/main/java/com/kgraph/graph/demo2/mapper/IMomentRepository.java

@@ -1,28 +0,0 @@
-package com.kgraph.graph.demo2.mapper;
-
-import com.kgraph.graph.demo2.domain.Moment;
-import org.springframework.data.domain.Pageable;
-import org.springframework.data.neo4j.repository.Neo4jRepository;
-import org.springframework.data.neo4j.repository.query.Query;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-
-/**
- * @author allen
- */
-@Repository
-public interface IMomentRepository extends Neo4jRepository<Moment, Long> {
-
-    @Query("MATCH n=allshortestPaths((a:朋友圈{姓名:{0}})-[*]->(b:朋友圈{姓名:{1}})) return n")
-    List<Moment> queryAllShortestPath(String startName, String endName);
-
-    @Query("MATCH n=shortestPath((a:朋友圈{姓名:{0}})-[*]->(b:朋友圈{姓名:{1}})) return n")
-    List<Moment> queryShortestPath(String startName, String endName);
-
-    @Query("MATCH (a:朋友圈{姓名:{0}}),(b:朋友圈{姓名:{1}}) return (a)-[*{2}]->(b) as p")
-    Object queryPathByStep(String startName, String endName, int step);
-
-    @Query("MATCH n=allshortestPaths((a:朋友圈{姓名:{0}})-[*]->(b:朋友圈{姓名:{1}})) return n")
-    List<Moment> queryPagedMoment(Pageable pageable);
-}

+ 0 - 14
kgraph-graph/src/main/java/com/kgraph/graph/demo2/service/IMomentService.java

@@ -1,14 +0,0 @@
-package com.kgraph.graph.demo2.service;
-
-import com.kgraph.graph.demo2.domain.Moment;
-
-import java.util.List;
-
-public interface IMomentService {
-
-    List<Moment> queryShortestPath(String startName, String endName);
-
-    Object queryPathByStep(String startName, String endName, int step);
-
-    List<Moment> getAll();
-}

+ 0 - 40
kgraph-graph/src/main/java/com/kgraph/graph/demo2/service/impl/MomentServiceImpl.java

@@ -1,40 +0,0 @@
-package com.kgraph.graph.demo2.service.impl;
-
-import com.kgraph.graph.demo2.domain.Moment;
-import com.kgraph.graph.demo2.mapper.IMomentRepository;
-import com.kgraph.graph.demo2.service.IMomentService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Pageable;
-import org.springframework.data.domain.Sort;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-@Service
-public class MomentServiceImpl implements IMomentService {
-
-    @Autowired
-    private IMomentRepository momentRepository;
-
-    @Override
-    public List<Moment> queryShortestPath(String startName, String endName) {
-        return momentRepository.queryShortestPath(startName, endName);
-    }
-
-    @Override
-    public Object queryPathByStep(String startName, String endName, int step) {
-        return momentRepository.queryPathByStep(startName, endName, step);
-    }
-
-    @Override
-    public List<Moment> getAll(){
-        return momentRepository.findAll();
-    }
-
-
-    public List<Moment> queryPagedMoment(String startName, String endName){
-        Pageable pageable= PageRequest.of(1,10, Sort.by(Sort.Direction.ASC,"id"));
-        return null;
-    }
-}

+ 12 - 0
kgraph-graph/src/main/java/com/kgraph/graph/neo4j/DTO/KgDTO.java

@@ -0,0 +1,12 @@
+package com.kgraph.graph.neo4j.DTO;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class KgDTO implements Serializable {
+    private String start;
+    private String end;
+    private String relation;
+}

+ 38 - 0
kgraph-graph/src/main/java/com/kgraph/graph/neo4j/controller/KgController.java

@@ -0,0 +1,38 @@
+package com.kgraph.graph.neo4j.controller;
+
+import com.kgraph.common.core.controller.BaseController;
+import com.kgraph.common.core.domain.AjaxResult;
+import com.kgraph.graph.neo4j.DTO.KgDTO;
+import com.kgraph.graph.neo4j.seavice.IKgService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/kg")
+public class KgController extends BaseController {
+
+    @Autowired
+    IKgService kgService;
+
+    @PostMapping("/create")
+    public AjaxResult create(@RequestBody List<KgDTO> kgDTOList){
+        if(CollectionUtils.isEmpty(kgDTOList)){
+            return AjaxResult.error("没有数据");
+        }
+        kgService.create(kgDTOList);
+        return AjaxResult.success();
+    }
+
+    @GetMapping("/getAllEntityList")
+    public AjaxResult getAllEntityList(){
+        return AjaxResult.success(kgService.getAllEntityList());
+    }
+
+    @GetMapping("/getAllRelationList")
+    public AjaxResult getAllRelationList(){
+        return AjaxResult.success(kgService.getAllRelationList());
+    }
+}

+ 21 - 0
kgraph-graph/src/main/java/com/kgraph/graph/neo4j/domain/Neo4jEntity.java

@@ -0,0 +1,21 @@
+package com.kgraph.graph.neo4j.domain;
+
+import lombok.Data;
+import org.neo4j.ogm.annotation.GeneratedValue;
+import org.neo4j.ogm.annotation.Id;
+import org.neo4j.ogm.annotation.NodeEntity;
+import org.neo4j.ogm.annotation.Property;
+
+@NodeEntity("Entity")
+@Data
+public class Neo4jEntity {
+    @Id
+    @GeneratedValue
+    private Long id;
+    @Property("name")
+    private String name;
+    @Property("content")
+    private String content;
+    @Property("attachmentUrl")
+    private String attachmentUrl;
+}

+ 24 - 0
kgraph-graph/src/main/java/com/kgraph/graph/neo4j/domain/Neo4jRelation.java

@@ -0,0 +1,24 @@
+package com.kgraph.graph.neo4j.domain;
+
+import lombok.Data;
+import org.neo4j.ogm.annotation.*;
+
+@RelationshipEntity("Relation")
+@Data
+public class Neo4jRelation {
+    @Id
+    @GeneratedValue
+    private Long id;
+
+    @Property("name")
+    private String name;
+
+    @Property("content")
+    private String content;
+
+    @StartNode
+    private Neo4jEntity startNode;
+
+    @EndNode
+    private Neo4jEntity endNode;
+}

+ 7 - 0
kgraph-graph/src/main/java/com/kgraph/graph/neo4j/mapper/EntityRepository.java

@@ -0,0 +1,7 @@
+package com.kgraph.graph.neo4j.mapper;
+
+import com.kgraph.graph.neo4j.domain.Neo4jEntity;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+
+public interface EntityRepository extends Neo4jRepository<Neo4jEntity, Long> {
+}

+ 7 - 0
kgraph-graph/src/main/java/com/kgraph/graph/neo4j/mapper/RelationRepository.java

@@ -0,0 +1,7 @@
+package com.kgraph.graph.neo4j.mapper;
+
+import com.kgraph.graph.neo4j.domain.Neo4jRelation;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+
+public interface RelationRepository extends Neo4jRepository<Neo4jRelation, Long> {
+}

+ 13 - 0
kgraph-graph/src/main/java/com/kgraph/graph/neo4j/seavice/IKgService.java

@@ -0,0 +1,13 @@
+package com.kgraph.graph.neo4j.seavice;
+
+import com.kgraph.graph.neo4j.DTO.KgDTO;
+
+import java.util.List;
+
+public interface IKgService {
+    void create(List<KgDTO> kgDTOList);
+
+    Iterable getAllEntityList();
+
+    Iterable getAllRelationList();
+}

+ 74 - 0
kgraph-graph/src/main/java/com/kgraph/graph/neo4j/seavice/impl/KgServiceImpl.java

@@ -0,0 +1,74 @@
+package com.kgraph.graph.neo4j.seavice.impl;
+
+import com.kgraph.graph.neo4j.DTO.KgDTO;
+import com.kgraph.graph.neo4j.domain.Neo4jEntity;
+import com.kgraph.graph.neo4j.domain.Neo4jRelation;
+import com.kgraph.graph.neo4j.mapper.EntityRepository;
+import com.kgraph.graph.neo4j.mapper.RelationRepository;
+import com.kgraph.graph.neo4j.seavice.IKgService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Service
+public class KgServiceImpl implements IKgService {
+
+    @Autowired
+    private EntityRepository entityRepository;
+
+    @Autowired
+    private RelationRepository relationRepository;
+
+    @Override
+    public void create(List<KgDTO> kgDTOList) {
+        // build entity
+        List<Neo4jEntity> entityList = buildEntity(kgDTOList);
+
+        Map<String, Neo4jEntity> entityMap = entityList.stream().collect(Collectors.toMap(Neo4jEntity::getName, Neo4jEntity -> Neo4jEntity));
+
+        // build relation
+        List<Neo4jRelation> relationList = buildRelation(kgDTOList, entityMap);
+        // save entity
+        // save relation
+        relationRepository.saveAll(relationList);
+    }
+
+    @Override
+    public Iterable getAllEntityList() {
+        return entityRepository.findAll();
+    }
+
+    @Override
+    public Iterable getAllRelationList() {
+        return relationRepository.findAll();
+    }
+
+    private List<Neo4jEntity> buildEntity(List<KgDTO> kgDTOList) {
+        Set<String> entitySet = new HashSet<>(kgDTOList.size() * 2);
+        for (KgDTO kgDTO : kgDTOList) {
+            entitySet.add(kgDTO.getStart());
+            entitySet.add(kgDTO.getEnd());
+        }
+        List<Neo4jEntity> entityList = new ArrayList<>(entitySet.size());
+        for (String entityStr : entitySet) {
+            Neo4jEntity neo4jEntity = new Neo4jEntity();
+            neo4jEntity.setName(entityStr);
+            entityList.add(neo4jEntity);
+        }
+        return entityList;
+    }
+
+    private List<Neo4jRelation> buildRelation(List<KgDTO> kgDTOList, Map<String, Neo4jEntity> entityMap) {
+        List<Neo4jRelation> relationList = new ArrayList<>(kgDTOList.size());
+        for (KgDTO kgDTO : kgDTOList) {
+            Neo4jRelation neo4jRelation = new Neo4jRelation();
+            neo4jRelation.setName(kgDTO.getRelation());
+            neo4jRelation.setStartNode(entityMap.get(kgDTO.getStart()));
+            neo4jRelation.setEndNode(entityMap.get(kgDTO.getEnd()));
+            relationList.add(neo4jRelation);
+        }
+        return relationList;
+    }
+}

+ 104 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/controller/DataManageController.java

@@ -0,0 +1,104 @@
+package com.kgraph.graph.suport.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.kgraph.common.annotation.Log;;
+import com.kgraph.common.core.controller.BaseController;;
+import com.kgraph.common.core.domain.AjaxResult;;
+import com.kgraph.common.enums.BusinessType;;
+import com.kgraph.graph.suport.domain.DataManage;
+import com.kgraph.graph.suport.service.IDataManageService;
+import com.kgraph.common.utils.poi.ExcelUtil;;
+import com.kgraph.common.core.page.TableDataInfo;;
+
+/**
+ * 数据管理Controller
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+@RestController
+@RequestMapping("/upload/dataManage")
+public class DataManageController extends BaseController
+{
+    @Autowired
+    private IDataManageService dataManageService;
+
+    /**
+     * 查询数据管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('upload:dataManage:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(DataManage dataManage)
+    {
+        startPage();
+        List<DataManage> list = dataManageService.selectDataManageList(dataManage);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出数据管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('upload:dataManage:export')")
+    @Log(title = "数据管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, DataManage dataManage)
+    {
+        List<DataManage> list = dataManageService.selectDataManageList(dataManage);
+        ExcelUtil<DataManage> util = new ExcelUtil<DataManage>(DataManage.class);
+        util.exportExcel(response, list, "数据管理数据");
+    }
+
+    /**
+     * 获取数据管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('upload:dataManage:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(dataManageService.selectDataManageById(id));
+    }
+
+    /**
+     * 新增数据管理
+     */
+    @PreAuthorize("@ss.hasPermi('upload:dataManage:add')")
+    @Log(title = "数据管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody DataManage dataManage)
+    {
+        return toAjax(dataManageService.insertDataManage(dataManage));
+    }
+
+    /**
+     * 修改数据管理
+     */
+    @PreAuthorize("@ss.hasPermi('upload:dataManage:edit')")
+    @Log(title = "数据管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody DataManage dataManage)
+    {
+        return toAjax(dataManageService.updateDataManage(dataManage));
+    }
+
+    /**
+     * 删除数据管理
+     */
+    @PreAuthorize("@ss.hasPermi('upload:dataManage:remove')")
+    @Log(title = "数据管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(dataManageService.deleteDataManageByIds(ids));
+    }
+}

+ 104 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/controller/ExtractKnowledgeSubTaskController.java

@@ -0,0 +1,104 @@
+package com.kgraph.graph.suport.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.kgraph.common.annotation.Log;;
+import com.kgraph.common.core.controller.BaseController;;
+import com.kgraph.common.core.domain.AjaxResult;;
+import com.kgraph.common.enums.BusinessType;;
+import com.kgraph.graph.suport.domain.ExtractKnowledgeSubTask;
+import com.kgraph.graph.suport.service.IExtractKnowledgeSubTaskService;
+import com.kgraph.common.utils.poi.ExcelUtil;;
+import com.kgraph.common.core.page.TableDataInfo;;
+
+/**
+ * 知识抽取子任务Controller
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+@RestController
+@RequestMapping("/extract/subTask")
+public class ExtractKnowledgeSubTaskController extends BaseController
+{
+    @Autowired
+    private IExtractKnowledgeSubTaskService extractKnowledgeSubTaskService;
+
+    /**
+     * 查询知识抽取子任务列表
+     */
+    @PreAuthorize("@ss.hasPermi('extract:subTask:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ExtractKnowledgeSubTask extractKnowledgeSubTask)
+    {
+        startPage();
+        List<ExtractKnowledgeSubTask> list = extractKnowledgeSubTaskService.selectExtractKnowledgeSubTaskList(extractKnowledgeSubTask);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出知识抽取子任务列表
+     */
+    @PreAuthorize("@ss.hasPermi('extract:subTask:export')")
+    @Log(title = "知识抽取子任务", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ExtractKnowledgeSubTask extractKnowledgeSubTask)
+    {
+        List<ExtractKnowledgeSubTask> list = extractKnowledgeSubTaskService.selectExtractKnowledgeSubTaskList(extractKnowledgeSubTask);
+        ExcelUtil<ExtractKnowledgeSubTask> util = new ExcelUtil<ExtractKnowledgeSubTask>(ExtractKnowledgeSubTask.class);
+        util.exportExcel(response, list, "知识抽取子任务数据");
+    }
+
+    /**
+     * 获取知识抽取子任务详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('extract:subTask:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(extractKnowledgeSubTaskService.selectExtractKnowledgeSubTaskById(id));
+    }
+
+    /**
+     * 新增知识抽取子任务
+     */
+    @PreAuthorize("@ss.hasPermi('extract:subTask:add')")
+    @Log(title = "知识抽取子任务", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ExtractKnowledgeSubTask extractKnowledgeSubTask)
+    {
+        return toAjax(extractKnowledgeSubTaskService.insertExtractKnowledgeSubTask(extractKnowledgeSubTask));
+    }
+
+    /**
+     * 修改知识抽取子任务
+     */
+    @PreAuthorize("@ss.hasPermi('extract:subTask:edit')")
+    @Log(title = "知识抽取子任务", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ExtractKnowledgeSubTask extractKnowledgeSubTask)
+    {
+        return toAjax(extractKnowledgeSubTaskService.updateExtractKnowledgeSubTask(extractKnowledgeSubTask));
+    }
+
+    /**
+     * 删除知识抽取子任务
+     */
+    @PreAuthorize("@ss.hasPermi('extract:subTask:remove')")
+    @Log(title = "知识抽取子任务", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(extractKnowledgeSubTaskService.deleteExtractKnowledgeSubTaskByIds(ids));
+    }
+}

+ 104 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/controller/ExtractKnowledgeSubTaskDetailController.java

@@ -0,0 +1,104 @@
+package com.kgraph.graph.suport.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.kgraph.common.annotation.Log;;
+import com.kgraph.common.core.controller.BaseController;;
+import com.kgraph.common.core.domain.AjaxResult;;
+import com.kgraph.common.enums.BusinessType;;
+import com.kgraph.graph.suport.domain.ExtractKnowledgeSubTaskDetail;
+import com.kgraph.graph.suport.service.IExtractKnowledgeSubTaskDetailService;
+import com.kgraph.common.utils.poi.ExcelUtil;;
+import com.kgraph.common.core.page.TableDataInfo;;
+
+/**
+ * 知识抽取子任务明细Controller
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+@RestController
+@RequestMapping("/extract/subTaskDetail")
+public class ExtractKnowledgeSubTaskDetailController extends BaseController
+{
+    @Autowired
+    private IExtractKnowledgeSubTaskDetailService extractKnowledgeSubTaskDetailService;
+
+    /**
+     * 查询知识抽取子任务明细列表
+     */
+    @PreAuthorize("@ss.hasPermi('extract:subTaskDetail:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ExtractKnowledgeSubTaskDetail extractKnowledgeSubTaskDetail)
+    {
+        startPage();
+        List<ExtractKnowledgeSubTaskDetail> list = extractKnowledgeSubTaskDetailService.selectExtractKnowledgeSubTaskDetailList(extractKnowledgeSubTaskDetail);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出知识抽取子任务明细列表
+     */
+    @PreAuthorize("@ss.hasPermi('extract:subTaskDetail:export')")
+    @Log(title = "知识抽取子任务明细", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ExtractKnowledgeSubTaskDetail extractKnowledgeSubTaskDetail)
+    {
+        List<ExtractKnowledgeSubTaskDetail> list = extractKnowledgeSubTaskDetailService.selectExtractKnowledgeSubTaskDetailList(extractKnowledgeSubTaskDetail);
+        ExcelUtil<ExtractKnowledgeSubTaskDetail> util = new ExcelUtil<ExtractKnowledgeSubTaskDetail>(ExtractKnowledgeSubTaskDetail.class);
+        util.exportExcel(response, list, "知识抽取子任务明细数据");
+    }
+
+    /**
+     * 获取知识抽取子任务明细详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('extract:subTaskDetail:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(extractKnowledgeSubTaskDetailService.selectExtractKnowledgeSubTaskDetailById(id));
+    }
+
+    /**
+     * 新增知识抽取子任务明细
+     */
+    @PreAuthorize("@ss.hasPermi('extract:subTaskDetail:add')")
+    @Log(title = "知识抽取子任务明细", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ExtractKnowledgeSubTaskDetail extractKnowledgeSubTaskDetail)
+    {
+        return toAjax(extractKnowledgeSubTaskDetailService.insertExtractKnowledgeSubTaskDetail(extractKnowledgeSubTaskDetail));
+    }
+
+    /**
+     * 修改知识抽取子任务明细
+     */
+    @PreAuthorize("@ss.hasPermi('extract:subTaskDetail:edit')")
+    @Log(title = "知识抽取子任务明细", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ExtractKnowledgeSubTaskDetail extractKnowledgeSubTaskDetail)
+    {
+        return toAjax(extractKnowledgeSubTaskDetailService.updateExtractKnowledgeSubTaskDetail(extractKnowledgeSubTaskDetail));
+    }
+
+    /**
+     * 删除知识抽取子任务明细
+     */
+    @PreAuthorize("@ss.hasPermi('extract:subTaskDetail:remove')")
+    @Log(title = "知识抽取子任务明细", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(extractKnowledgeSubTaskDetailService.deleteExtractKnowledgeSubTaskDetailByIds(ids));
+    }
+}

+ 106 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/controller/ExtractKnowledgeTaskController.java

@@ -0,0 +1,106 @@
+package com.kgraph.graph.suport.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.kgraph.common.annotation.Log;;
+import com.kgraph.common.core.controller.BaseController;;
+import com.kgraph.common.core.domain.AjaxResult;;
+import com.kgraph.common.enums.BusinessType;;
+import com.kgraph.graph.suport.domain.ExtractKnowledgeTask;
+import com.kgraph.graph.suport.service.IExtractKnowledgeTaskService;
+import com.kgraph.common.utils.poi.ExcelUtil;;
+import com.kgraph.common.core.page.TableDataInfo;;
+
+/**
+ * 知识抽取任务Controller
+ * 
+ * @author Allen
+ * @date 2023-03-21
+ */
+@RestController
+@RequestMapping("/extract/task")
+public class ExtractKnowledgeTaskController extends BaseController
+{
+    @Autowired
+    private IExtractKnowledgeTaskService extractKnowledgeTaskService;
+
+    /**
+     * 查询知识抽取任务列表
+     */
+    @PreAuthorize("@ss.hasPermi('extract:task:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ExtractKnowledgeTask extractKnowledgeTask)
+    {
+        startPage();
+        List<ExtractKnowledgeTask> list = extractKnowledgeTaskService.selectExtractKnowledgeTaskList(extractKnowledgeTask);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出知识抽取任务列表
+     */
+    @PreAuthorize("@ss.hasPermi('extract:task:export')")
+    @Log(title = "知识抽取任务", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ExtractKnowledgeTask extractKnowledgeTask)
+    {
+        List<ExtractKnowledgeTask> list = extractKnowledgeTaskService.selectExtractKnowledgeTaskList(extractKnowledgeTask);
+        ExcelUtil<ExtractKnowledgeTask> util = new ExcelUtil<ExtractKnowledgeTask>(ExtractKnowledgeTask.class);
+        util.exportExcel(response, list, "知识抽取任务数据");
+    }
+
+    /**
+     * 获取知识抽取任务详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('extract:task:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(extractKnowledgeTaskService.selectExtractKnowledgeTaskById(id));
+    }
+
+    /**
+     * 新增知识抽取任务
+     */
+    @PreAuthorize("@ss.hasPermi('extract:task:add')")
+    @Log(title = "知识抽取任务", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ExtractKnowledgeTask extractKnowledgeTask)
+    {
+        extractKnowledgeTask.setCreateBy(getUsername());
+        return toAjax(extractKnowledgeTaskService.insertExtractKnowledgeTask(extractKnowledgeTask));
+    }
+
+    /**
+     * 修改知识抽取任务
+     */
+    @PreAuthorize("@ss.hasPermi('extract:task:edit')")
+    @Log(title = "知识抽取任务", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ExtractKnowledgeTask extractKnowledgeTask)
+    {
+        extractKnowledgeTask.setUpdateBy(getUsername());
+        return toAjax(extractKnowledgeTaskService.updateExtractKnowledgeTask(extractKnowledgeTask));
+    }
+
+    /**
+     * 删除知识抽取任务
+     */
+    @PreAuthorize("@ss.hasPermi('extract:task:remove')")
+    @Log(title = "知识抽取任务", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(extractKnowledgeTaskService.deleteExtractKnowledgeTaskByIds(ids));
+    }
+}

+ 107 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/controller/UploadManageController.java

@@ -0,0 +1,107 @@
+package com.kgraph.graph.suport.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.kgraph.common.annotation.Log;;
+import com.kgraph.common.core.controller.BaseController;;
+import com.kgraph.common.core.domain.AjaxResult;;
+import com.kgraph.common.enums.BusinessType;;
+import com.kgraph.graph.suport.domain.UploadManage;
+import com.kgraph.graph.suport.service.IUploadManageService;
+import com.kgraph.common.utils.poi.ExcelUtil;;
+import com.kgraph.common.core.page.TableDataInfo;;
+
+/**
+ * 上传管理Controller
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+@RestController
+@RequestMapping("/upload/uploadManage")
+public class UploadManageController extends BaseController
+{
+    @Autowired
+    private IUploadManageService uploadManageService;
+
+    /**
+     * 查询上传管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('upload:uploadManage:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(UploadManage uploadManage)
+    {
+        startPage();
+        List<UploadManage> list = uploadManageService.selectUploadManageList(uploadManage);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出上传管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('upload:uploadManage:export')")
+    @Log(title = "上传管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, UploadManage uploadManage)
+    {
+        List<UploadManage> list = uploadManageService.selectUploadManageList(uploadManage);
+        ExcelUtil<UploadManage> util = new ExcelUtil<UploadManage>(UploadManage.class);
+        util.exportExcel(response, list, "上传管理数据");
+    }
+
+    /**
+     * 获取上传管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('upload:uploadManage:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(uploadManageService.selectUploadManageById(id));
+    }
+
+    /**
+     * 新增上传管理
+     */
+    @PreAuthorize("@ss.hasPermi('upload:uploadManage:add')")
+    @Log(title = "上传管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody UploadManage uploadManage)
+    {
+        uploadManage.setCreateBy(getUsername());
+        return toAjax(uploadManageService.insertUploadManage(uploadManage));
+    }
+
+    /**
+     * 修改上传管理
+     */
+    @PreAuthorize("@ss.hasPermi('upload:uploadManage:edit')")
+    @Log(title = "上传管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody UploadManage uploadManage)
+    {
+        uploadManage.setUpdateBy(getUsername());
+        return toAjax(uploadManageService.updateUploadManage(uploadManage));
+    }
+
+    /**
+     * 删除上传管理
+     */
+    @PreAuthorize("@ss.hasPermi('upload:uploadManage:remove')")
+    @Log(title = "上传管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(uploadManageService.deleteUploadManageByIds(ids));
+    }
+
+    /**
+     * 获取上传管理详细信息
+     */
+    @GetMapping(value = "/getOptionByName")
+    public AjaxResult getOptionByName(@RequestParam(name = "name", required = false) String name) {
+        return success(uploadManageService.getOptionByName(name));
+    }
+}

+ 335 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/domain/DataManage.java

@@ -0,0 +1,335 @@
+package com.kgraph.graph.suport.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.kgraph.common.annotation.Excel;
+import com.kgraph.common.core.domain.BaseEntity;;
+
+/**
+ * 数据管理对象 t_data_manage
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+public class DataManage extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 编号 */
+    private Long id;
+
+    /** 上传管理主键 */
+    @Excel(name = "上传管理主键")
+    private Long tUploadId;
+
+    /** 额外存储1 */
+    @Excel(name = "额外存储1")
+    private String extra1;
+
+    /** 额外存储2 */
+    @Excel(name = "额外存储2")
+    private String extra2;
+
+    /** 额外存储3 */
+    @Excel(name = "额外存储3")
+    private String extra3;
+
+    /** 额外存储4 */
+    @Excel(name = "额外存储4")
+    private String extra4;
+
+    /** 额外存储5 */
+    @Excel(name = "额外存储5")
+    private String extra5;
+
+    /** 额外存储6 */
+    @Excel(name = "额外存储6")
+    private String extra6;
+
+    /** 额外存储7 */
+    @Excel(name = "额外存储7")
+    private String extra7;
+
+    /** 额外存储8 */
+    @Excel(name = "额外存储8")
+    private String extra8;
+
+    /** 额外存储9 */
+    @Excel(name = "额外存储9")
+    private String extra9;
+
+    /** 额外存储10 */
+    @Excel(name = "额外存储10")
+    private String extra10;
+
+    /** 额外存储11 */
+    @Excel(name = "额外存储11")
+    private String extra11;
+
+    /** 额外存储12 */
+    @Excel(name = "额外存储12")
+    private String extra12;
+
+    /** 额外存储13 */
+    @Excel(name = "额外存储13")
+    private String extra13;
+
+    /** 额外存储14 */
+    @Excel(name = "额外存储14")
+    private String extra14;
+
+    /** 额外存储15 */
+    @Excel(name = "额外存储15")
+    private String extra15;
+
+    /** 额外存储16 */
+    @Excel(name = "额外存储16")
+    private String extra16;
+
+    /** 额外存储17 */
+    @Excel(name = "额外存储17")
+    private String extra17;
+
+    /** 额外存储18 */
+    @Excel(name = "额外存储18")
+    private String extra18;
+
+    /** 额外存储19 */
+    @Excel(name = "额外存储19")
+    private String extra19;
+
+    /** 额外存储20 */
+    @Excel(name = "额外存储20")
+    private String extra20;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void settUploadId(Long tUploadId) 
+    {
+        this.tUploadId = tUploadId;
+    }
+
+    public Long gettUploadId() 
+    {
+        return tUploadId;
+    }
+    public void setExtra1(String extra1) 
+    {
+        this.extra1 = extra1;
+    }
+
+    public String getExtra1() 
+    {
+        return extra1;
+    }
+    public void setExtra2(String extra2) 
+    {
+        this.extra2 = extra2;
+    }
+
+    public String getExtra2() 
+    {
+        return extra2;
+    }
+    public void setExtra3(String extra3) 
+    {
+        this.extra3 = extra3;
+    }
+
+    public String getExtra3() 
+    {
+        return extra3;
+    }
+    public void setExtra4(String extra4) 
+    {
+        this.extra4 = extra4;
+    }
+
+    public String getExtra4() 
+    {
+        return extra4;
+    }
+    public void setExtra5(String extra5) 
+    {
+        this.extra5 = extra5;
+    }
+
+    public String getExtra5() 
+    {
+        return extra5;
+    }
+    public void setExtra6(String extra6) 
+    {
+        this.extra6 = extra6;
+    }
+
+    public String getExtra6() 
+    {
+        return extra6;
+    }
+    public void setExtra7(String extra7) 
+    {
+        this.extra7 = extra7;
+    }
+
+    public String getExtra7() 
+    {
+        return extra7;
+    }
+    public void setExtra8(String extra8) 
+    {
+        this.extra8 = extra8;
+    }
+
+    public String getExtra8() 
+    {
+        return extra8;
+    }
+    public void setExtra9(String extra9) 
+    {
+        this.extra9 = extra9;
+    }
+
+    public String getExtra9() 
+    {
+        return extra9;
+    }
+    public void setExtra10(String extra10) 
+    {
+        this.extra10 = extra10;
+    }
+
+    public String getExtra10() 
+    {
+        return extra10;
+    }
+    public void setExtra11(String extra11) 
+    {
+        this.extra11 = extra11;
+    }
+
+    public String getExtra11() 
+    {
+        return extra11;
+    }
+    public void setExtra12(String extra12) 
+    {
+        this.extra12 = extra12;
+    }
+
+    public String getExtra12() 
+    {
+        return extra12;
+    }
+    public void setExtra13(String extra13) 
+    {
+        this.extra13 = extra13;
+    }
+
+    public String getExtra13() 
+    {
+        return extra13;
+    }
+    public void setExtra14(String extra14) 
+    {
+        this.extra14 = extra14;
+    }
+
+    public String getExtra14() 
+    {
+        return extra14;
+    }
+    public void setExtra15(String extra15) 
+    {
+        this.extra15 = extra15;
+    }
+
+    public String getExtra15() 
+    {
+        return extra15;
+    }
+    public void setExtra16(String extra16) 
+    {
+        this.extra16 = extra16;
+    }
+
+    public String getExtra16() 
+    {
+        return extra16;
+    }
+    public void setExtra17(String extra17) 
+    {
+        this.extra17 = extra17;
+    }
+
+    public String getExtra17() 
+    {
+        return extra17;
+    }
+    public void setExtra18(String extra18) 
+    {
+        this.extra18 = extra18;
+    }
+
+    public String getExtra18() 
+    {
+        return extra18;
+    }
+    public void setExtra19(String extra19) 
+    {
+        this.extra19 = extra19;
+    }
+
+    public String getExtra19() 
+    {
+        return extra19;
+    }
+    public void setExtra20(String extra20) 
+    {
+        this.extra20 = extra20;
+    }
+
+    public String getExtra20() 
+    {
+        return extra20;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("tUploadId", gettUploadId())
+            .append("extra1", getExtra1())
+            .append("extra2", getExtra2())
+            .append("extra3", getExtra3())
+            .append("extra4", getExtra4())
+            .append("extra5", getExtra5())
+            .append("extra6", getExtra6())
+            .append("extra7", getExtra7())
+            .append("extra8", getExtra8())
+            .append("extra9", getExtra9())
+            .append("extra10", getExtra10())
+            .append("extra11", getExtra11())
+            .append("extra12", getExtra12())
+            .append("extra13", getExtra13())
+            .append("extra14", getExtra14())
+            .append("extra15", getExtra15())
+            .append("extra16", getExtra16())
+            .append("extra17", getExtra17())
+            .append("extra18", getExtra18())
+            .append("extra19", getExtra19())
+            .append("extra20", getExtra20())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 132 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/domain/ExtractKnowledgeSubTask.java

@@ -0,0 +1,132 @@
+package com.kgraph.graph.suport.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.kgraph.common.annotation.Excel;
+import com.kgraph.common.core.domain.BaseEntity;;
+
+/**
+ * 知识抽取子任务对象 t_extract_knowledge_sub_task
+ * 
+ * @author Allen
+ * @date 2023-03-21
+ */
+public class ExtractKnowledgeSubTask extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    public static final String PROCESSING = "0";
+    public static final String TO_BE_REVIEWED = "1";
+    public static final String REVIEWED = "2";
+    public static final String DOWN = "3";
+    public static final String FAILED = "4";
+
+    /** 编号 */
+    private Long id;
+
+    /** 子任务类型 */
+    @Excel(name = "任务id")
+    private Long taskId;
+    /** 子任务类型 */
+    @Excel(name = "子任务类型")
+    private String type;
+
+    /** 任务状态 */
+    @Excel(name = "任务状态")
+    private String status;
+
+    /** 日志 */
+    @Excel(name = "日志")
+    private String log;
+
+    /** 完成时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date completedDate;
+
+    /** 花费时间(s) */
+    @Excel(name = "花费时间(s)")
+    private Long costTime;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+
+    public Long getTaskId() {
+        return taskId;
+    }
+
+    public void setTaskId(Long taskId) {
+        this.taskId = taskId;
+    }
+
+    public void setType(String type)
+    {
+        this.type = type;
+    }
+
+    public String getType() 
+    {
+        return type;
+    }
+    public void setStatus(String status) 
+    {
+        this.status = status;
+    }
+
+    public String getStatus() 
+    {
+        return status;
+    }
+    public void setLog(String log) 
+    {
+        this.log = log;
+    }
+
+    public String getLog() 
+    {
+        return log;
+    }
+    public void setCompletedDate(Date completedDate) 
+    {
+        this.completedDate = completedDate;
+    }
+
+    public Date getCompletedDate() 
+    {
+        return completedDate;
+    }
+    public void setCostTime(Long costTime) 
+    {
+        this.costTime = costTime;
+    }
+
+    public Long getCostTime() 
+    {
+        return costTime;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("type", getType())
+            .append("status", getStatus())
+            .append("log", getLog())
+            .append("completedDate", getCompletedDate())
+            .append("costTime", getCostTime())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 97 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/domain/ExtractKnowledgeSubTaskDetail.java

@@ -0,0 +1,97 @@
+package com.kgraph.graph.suport.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.kgraph.common.annotation.Excel;
+import com.kgraph.common.core.domain.BaseEntity;;
+
+/**
+ * 知识抽取子任务明细对象 t_extract_knowledge_sub_task_detail
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+public class ExtractKnowledgeSubTaskDetail extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 编号 */
+    private Long id;
+
+    /** 子任务id */
+    @Excel(name = "子任务id")
+    private Long subTaskId;
+
+    /** 起点实体 */
+    @Excel(name = "起点实体")
+    private String start;
+
+    /** 关系 */
+    @Excel(name = "关系")
+    private String relation;
+
+    /** 终点实体 */
+    @Excel(name = "终点实体")
+    private String end;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setSubTaskId(Long subTaskId) 
+    {
+        this.subTaskId = subTaskId;
+    }
+
+    public Long getSubTaskId() 
+    {
+        return subTaskId;
+    }
+    public void setStart(String start) 
+    {
+        this.start = start;
+    }
+
+    public String getStart() 
+    {
+        return start;
+    }
+    public void setRelation(String relation) 
+    {
+        this.relation = relation;
+    }
+
+    public String getRelation() 
+    {
+        return relation;
+    }
+    public void setEnd(String end) 
+    {
+        this.end = end;
+    }
+
+    public String getEnd() 
+    {
+        return end;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("subTaskId", getSubTaskId())
+            .append("start", getStart())
+            .append("relation", getRelation())
+            .append("end", getEnd())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 150 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/domain/ExtractKnowledgeTask.java

@@ -0,0 +1,150 @@
+package com.kgraph.graph.suport.domain;
+
+import java.util.Date;
+import java.util.StringJoiner;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.kgraph.common.annotation.Excel;
+import com.kgraph.common.core.domain.BaseEntity;;
+
+/**
+ * 知识抽取任务对象 t_extract_knowledge_task
+ * 
+ * @author Allen
+ * @date 2023-03-21
+ */
+public class ExtractKnowledgeTask extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 编号 */
+    private Long id;
+
+    /** 上传文件id */
+    @Excel(name = "上传文件id")
+    private Long uploadId;
+
+    /** 上传文件名称 */
+    @Excel(name = "上传文件名称")
+    private String uploadName;
+
+    /** 任务名称 */
+    @Excel(name = "任务名称")
+    private String name;
+
+    /** 选择需要执行的子任务 */
+    @Excel(name = "选择需要执行的子任务")
+    private String selectSubTask;
+
+//    private String[] selectSubTaskArray;
+
+    /** 任务状态 */
+    @Excel(name = "任务状态")
+    private String status;
+
+    /** 完成时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date completedDate;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setUploadId(Long uploadId) 
+    {
+        this.uploadId = uploadId;
+    }
+
+    public Long getUploadId() 
+    {
+        return uploadId;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setSelectSubTask(String selectSubTask) 
+    {
+        this.selectSubTask = selectSubTask;
+    }
+
+    public String getSelectSubTask() 
+    {
+        return selectSubTask;
+    }
+
+    public String[] getSelectSubTaskArray() {
+        if(selectSubTask != null){
+            return selectSubTask.split(",");
+        }
+        return new String[0];
+    }
+
+    public void setSelectSubTaskArray(String[] selectSubTaskArray) {
+        if(selectSubTaskArray != null){
+            StringJoiner sj = new StringJoiner(",");
+            for (String subTask : selectSubTaskArray) {
+                sj.add(subTask);
+            }
+            this.selectSubTask = sj.toString();
+        } else {
+            this.selectSubTask = null;
+        }
+    }
+
+    public void setStatus(String status) 
+    {
+        this.status = status;
+    }
+
+    public String getStatus() 
+    {
+        return status;
+    }
+    public void setCompletedDate(Date completedDate) 
+    {
+        this.completedDate = completedDate;
+    }
+
+    public Date getCompletedDate() 
+    {
+        return completedDate;
+    }
+
+    public String getUploadName() {
+        return uploadName;
+    }
+
+    public void setUploadName(String uploadName) {
+        this.uploadName = uploadName;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("uploadId", getUploadId())
+            .append("name", getName())
+            .append("selectSubTask", getSelectSubTask())
+            .append("status", getStatus())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("completedDate", getCompletedDate())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 140 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/domain/UploadManage.java

@@ -0,0 +1,140 @@
+package com.kgraph.graph.suport.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.kgraph.common.annotation.Excel;
+import com.kgraph.common.core.domain.BaseEntity;;
+
+/**
+ * 上传管理对象 t_upload_manage
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+public class UploadManage extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    public static final String SUCCESS = "1";
+
+    /** 编号 */
+    private Long id;
+
+    /** 文件名称 */
+    @Excel(name = "文件名称")
+    private String name;
+
+    /** 模板类型 */
+    @Excel(name = "模板类型")
+    private String templateType;
+
+    /** 数据类型 */
+    @Excel(name = "数据类型")
+    private String dataType;
+
+    /** 文件类型(doc/pdf/xls/xml) */
+    @Excel(name = "文件类型(doc/pdf/xls/xml)")
+    private String fileType;
+
+    /** 文件地址 */
+    private String filePath;
+
+    /** 状态 */
+    @Excel(name = "状态")
+    private String status;
+
+    /** 数量 */
+    @Excel(name = "数量")
+    private Long amount;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setTemplateType(String templateType) 
+    {
+        this.templateType = templateType;
+    }
+
+    public String getTemplateType() 
+    {
+        return templateType;
+    }
+    public void setDataType(String dataType) 
+    {
+        this.dataType = dataType;
+    }
+
+    public String getDataType() 
+    {
+        return dataType;
+    }
+    public void setFileType(String fileType) 
+    {
+        this.fileType = fileType;
+    }
+
+    public String getFileType() 
+    {
+        return fileType;
+    }
+    public void setFilePath(String filePath) 
+    {
+        this.filePath = filePath;
+    }
+
+    public String getFilePath() 
+    {
+        return filePath;
+    }
+    public void setStatus(String status) 
+    {
+        this.status = status;
+    }
+
+    public String getStatus() 
+    {
+        return status;
+    }
+    public void setAmount(Long amount) 
+    {
+        this.amount = amount;
+    }
+
+    public Long getAmount() 
+    {
+        return amount;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("name", getName())
+            .append("templateType", getTemplateType())
+            .append("dataType", getDataType())
+            .append("fileType", getFileType())
+            .append("filePath", getFilePath())
+            .append("status", getStatus())
+            .append("amount", getAmount())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 61 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/mapper/DataManageMapper.java

@@ -0,0 +1,61 @@
+package com.kgraph.graph.suport.mapper;
+
+import java.util.List;
+import com.kgraph.graph.suport.domain.DataManage;
+
+/**
+ * 数据管理Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+public interface DataManageMapper 
+{
+    /**
+     * 查询数据管理
+     * 
+     * @param id 数据管理主键
+     * @return 数据管理
+     */
+    public DataManage selectDataManageById(Long id);
+
+    /**
+     * 查询数据管理列表
+     * 
+     * @param dataManage 数据管理
+     * @return 数据管理集合
+     */
+    public List<DataManage> selectDataManageList(DataManage dataManage);
+
+    /**
+     * 新增数据管理
+     * 
+     * @param dataManage 数据管理
+     * @return 结果
+     */
+    public int insertDataManage(DataManage dataManage);
+
+    /**
+     * 修改数据管理
+     * 
+     * @param dataManage 数据管理
+     * @return 结果
+     */
+    public int updateDataManage(DataManage dataManage);
+
+    /**
+     * 删除数据管理
+     * 
+     * @param id 数据管理主键
+     * @return 结果
+     */
+    public int deleteDataManageById(Long id);
+
+    /**
+     * 批量删除数据管理
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteDataManageByIds(Long[] ids);
+}

+ 61 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/mapper/ExtractKnowledgeSubTaskDetailMapper.java

@@ -0,0 +1,61 @@
+package com.kgraph.graph.suport.mapper;
+
+import java.util.List;
+import com.kgraph.graph.suport.domain.ExtractKnowledgeSubTaskDetail;
+
+/**
+ * 知识抽取子任务明细Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+public interface ExtractKnowledgeSubTaskDetailMapper 
+{
+    /**
+     * 查询知识抽取子任务明细
+     * 
+     * @param id 知识抽取子任务明细主键
+     * @return 知识抽取子任务明细
+     */
+    public ExtractKnowledgeSubTaskDetail selectExtractKnowledgeSubTaskDetailById(Long id);
+
+    /**
+     * 查询知识抽取子任务明细列表
+     * 
+     * @param extractKnowledgeSubTaskDetail 知识抽取子任务明细
+     * @return 知识抽取子任务明细集合
+     */
+    public List<ExtractKnowledgeSubTaskDetail> selectExtractKnowledgeSubTaskDetailList(ExtractKnowledgeSubTaskDetail extractKnowledgeSubTaskDetail);
+
+    /**
+     * 新增知识抽取子任务明细
+     * 
+     * @param extractKnowledgeSubTaskDetail 知识抽取子任务明细
+     * @return 结果
+     */
+    public int insertExtractKnowledgeSubTaskDetail(ExtractKnowledgeSubTaskDetail extractKnowledgeSubTaskDetail);
+
+    /**
+     * 修改知识抽取子任务明细
+     * 
+     * @param extractKnowledgeSubTaskDetail 知识抽取子任务明细
+     * @return 结果
+     */
+    public int updateExtractKnowledgeSubTaskDetail(ExtractKnowledgeSubTaskDetail extractKnowledgeSubTaskDetail);
+
+    /**
+     * 删除知识抽取子任务明细
+     * 
+     * @param id 知识抽取子任务明细主键
+     * @return 结果
+     */
+    public int deleteExtractKnowledgeSubTaskDetailById(Long id);
+
+    /**
+     * 批量删除知识抽取子任务明细
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteExtractKnowledgeSubTaskDetailByIds(Long[] ids);
+}

+ 61 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/mapper/ExtractKnowledgeSubTaskMapper.java

@@ -0,0 +1,61 @@
+package com.kgraph.graph.suport.mapper;
+
+import java.util.List;
+import com.kgraph.graph.suport.domain.ExtractKnowledgeSubTask;
+
+/**
+ * 知识抽取子任务Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+public interface ExtractKnowledgeSubTaskMapper 
+{
+    /**
+     * 查询知识抽取子任务
+     * 
+     * @param id 知识抽取子任务主键
+     * @return 知识抽取子任务
+     */
+    public ExtractKnowledgeSubTask selectExtractKnowledgeSubTaskById(Long id);
+
+    /**
+     * 查询知识抽取子任务列表
+     * 
+     * @param extractKnowledgeSubTask 知识抽取子任务
+     * @return 知识抽取子任务集合
+     */
+    public List<ExtractKnowledgeSubTask> selectExtractKnowledgeSubTaskList(ExtractKnowledgeSubTask extractKnowledgeSubTask);
+
+    /**
+     * 新增知识抽取子任务
+     * 
+     * @param extractKnowledgeSubTask 知识抽取子任务
+     * @return 结果
+     */
+    public int insertExtractKnowledgeSubTask(ExtractKnowledgeSubTask extractKnowledgeSubTask);
+
+    /**
+     * 修改知识抽取子任务
+     * 
+     * @param extractKnowledgeSubTask 知识抽取子任务
+     * @return 结果
+     */
+    public int updateExtractKnowledgeSubTask(ExtractKnowledgeSubTask extractKnowledgeSubTask);
+
+    /**
+     * 删除知识抽取子任务
+     * 
+     * @param id 知识抽取子任务主键
+     * @return 结果
+     */
+    public int deleteExtractKnowledgeSubTaskById(Long id);
+
+    /**
+     * 批量删除知识抽取子任务
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteExtractKnowledgeSubTaskByIds(Long[] ids);
+}

+ 61 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/mapper/ExtractKnowledgeTaskMapper.java

@@ -0,0 +1,61 @@
+package com.kgraph.graph.suport.mapper;
+
+import java.util.List;
+import com.kgraph.graph.suport.domain.ExtractKnowledgeTask;
+
+/**
+ * 知识抽取任务Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-03-21
+ */
+public interface ExtractKnowledgeTaskMapper 
+{
+    /**
+     * 查询知识抽取任务
+     * 
+     * @param id 知识抽取任务主键
+     * @return 知识抽取任务
+     */
+    public ExtractKnowledgeTask selectExtractKnowledgeTaskById(Long id);
+
+    /**
+     * 查询知识抽取任务列表
+     * 
+     * @param extractKnowledgeTask 知识抽取任务
+     * @return 知识抽取任务集合
+     */
+    public List<ExtractKnowledgeTask> selectExtractKnowledgeTaskList(ExtractKnowledgeTask extractKnowledgeTask);
+
+    /**
+     * 新增知识抽取任务
+     * 
+     * @param extractKnowledgeTask 知识抽取任务
+     * @return 结果
+     */
+    public int insertExtractKnowledgeTask(ExtractKnowledgeTask extractKnowledgeTask);
+
+    /**
+     * 修改知识抽取任务
+     * 
+     * @param extractKnowledgeTask 知识抽取任务
+     * @return 结果
+     */
+    public int updateExtractKnowledgeTask(ExtractKnowledgeTask extractKnowledgeTask);
+
+    /**
+     * 删除知识抽取任务
+     * 
+     * @param id 知识抽取任务主键
+     * @return 结果
+     */
+    public int deleteExtractKnowledgeTaskById(Long id);
+
+    /**
+     * 批量删除知识抽取任务
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteExtractKnowledgeTaskByIds(Long[] ids);
+}

+ 69 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/mapper/UploadManageMapper.java

@@ -0,0 +1,69 @@
+package com.kgraph.graph.suport.mapper;
+
+import java.util.List;
+import com.kgraph.graph.suport.domain.UploadManage;
+import com.kgraph.graph.suport.vo.UploadManageOptionVO;
+
+/**
+ * 上传管理Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+public interface UploadManageMapper 
+{
+    /**
+     * 查询上传管理
+     * 
+     * @param id 上传管理主键
+     * @return 上传管理
+     */
+    public UploadManage selectUploadManageById(Long id);
+
+    /**
+     * 查询上传管理列表
+     * 
+     * @param uploadManage 上传管理
+     * @return 上传管理集合
+     */
+    public List<UploadManage> selectUploadManageList(UploadManage uploadManage);
+
+    /**
+     * 新增上传管理
+     * 
+     * @param uploadManage 上传管理
+     * @return 结果
+     */
+    public int insertUploadManage(UploadManage uploadManage);
+
+    /**
+     * 修改上传管理
+     * 
+     * @param uploadManage 上传管理
+     * @return 结果
+     */
+    public int updateUploadManage(UploadManage uploadManage);
+
+    /**
+     * 删除上传管理
+     * 
+     * @param id 上传管理主键
+     * @return 结果
+     */
+    public int deleteUploadManageById(Long id);
+
+    /**
+     * 批量删除上传管理
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteUploadManageByIds(Long[] ids);
+
+    /**
+     * 通过name模糊查option
+     * @param name name
+     * @return List<UploadManageOptionVO>
+     */
+    public List<UploadManageOptionVO> getOptionByName(String name);
+}

+ 61 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/service/IDataManageService.java

@@ -0,0 +1,61 @@
+package com.kgraph.graph.suport.service;
+
+import java.util.List;
+import com.kgraph.graph.suport.domain.DataManage;
+
+/**
+ * 数据管理Service接口
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+public interface IDataManageService 
+{
+    /**
+     * 查询数据管理
+     * 
+     * @param id 数据管理主键
+     * @return 数据管理
+     */
+    public DataManage selectDataManageById(Long id);
+
+    /**
+     * 查询数据管理列表
+     * 
+     * @param dataManage 数据管理
+     * @return 数据管理集合
+     */
+    public List<DataManage> selectDataManageList(DataManage dataManage);
+
+    /**
+     * 新增数据管理
+     * 
+     * @param dataManage 数据管理
+     * @return 结果
+     */
+    public int insertDataManage(DataManage dataManage);
+
+    /**
+     * 修改数据管理
+     * 
+     * @param dataManage 数据管理
+     * @return 结果
+     */
+    public int updateDataManage(DataManage dataManage);
+
+    /**
+     * 批量删除数据管理
+     * 
+     * @param ids 需要删除的数据管理主键集合
+     * @return 结果
+     */
+    public int deleteDataManageByIds(Long[] ids);
+
+    /**
+     * 删除数据管理信息
+     * 
+     * @param id 数据管理主键
+     * @return 结果
+     */
+    public int deleteDataManageById(Long id);
+}

+ 61 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/service/IExtractKnowledgeSubTaskDetailService.java

@@ -0,0 +1,61 @@
+package com.kgraph.graph.suport.service;
+
+import java.util.List;
+import com.kgraph.graph.suport.domain.ExtractKnowledgeSubTaskDetail;
+
+/**
+ * 知识抽取子任务明细Service接口
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+public interface IExtractKnowledgeSubTaskDetailService 
+{
+    /**
+     * 查询知识抽取子任务明细
+     * 
+     * @param id 知识抽取子任务明细主键
+     * @return 知识抽取子任务明细
+     */
+    public ExtractKnowledgeSubTaskDetail selectExtractKnowledgeSubTaskDetailById(Long id);
+
+    /**
+     * 查询知识抽取子任务明细列表
+     * 
+     * @param extractKnowledgeSubTaskDetail 知识抽取子任务明细
+     * @return 知识抽取子任务明细集合
+     */
+    public List<ExtractKnowledgeSubTaskDetail> selectExtractKnowledgeSubTaskDetailList(ExtractKnowledgeSubTaskDetail extractKnowledgeSubTaskDetail);
+
+    /**
+     * 新增知识抽取子任务明细
+     * 
+     * @param extractKnowledgeSubTaskDetail 知识抽取子任务明细
+     * @return 结果
+     */
+    public int insertExtractKnowledgeSubTaskDetail(ExtractKnowledgeSubTaskDetail extractKnowledgeSubTaskDetail);
+
+    /**
+     * 修改知识抽取子任务明细
+     * 
+     * @param extractKnowledgeSubTaskDetail 知识抽取子任务明细
+     * @return 结果
+     */
+    public int updateExtractKnowledgeSubTaskDetail(ExtractKnowledgeSubTaskDetail extractKnowledgeSubTaskDetail);
+
+    /**
+     * 批量删除知识抽取子任务明细
+     * 
+     * @param ids 需要删除的知识抽取子任务明细主键集合
+     * @return 结果
+     */
+    public int deleteExtractKnowledgeSubTaskDetailByIds(Long[] ids);
+
+    /**
+     * 删除知识抽取子任务明细信息
+     * 
+     * @param id 知识抽取子任务明细主键
+     * @return 结果
+     */
+    public int deleteExtractKnowledgeSubTaskDetailById(Long id);
+}

+ 68 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/service/IExtractKnowledgeSubTaskService.java

@@ -0,0 +1,68 @@
+package com.kgraph.graph.suport.service;
+
+import java.util.List;
+import com.kgraph.graph.suport.domain.ExtractKnowledgeSubTask;
+import com.kgraph.graph.suport.domain.ExtractKnowledgeTask;
+
+/**
+ * 知识抽取子任务Service接口
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+public interface IExtractKnowledgeSubTaskService 
+{
+    /**
+     * 查询知识抽取子任务
+     * 
+     * @param id 知识抽取子任务主键
+     * @return 知识抽取子任务
+     */
+    public ExtractKnowledgeSubTask selectExtractKnowledgeSubTaskById(Long id);
+
+    /**
+     * 查询知识抽取子任务列表
+     * 
+     * @param extractKnowledgeSubTask 知识抽取子任务
+     * @return 知识抽取子任务集合
+     */
+    public List<ExtractKnowledgeSubTask> selectExtractKnowledgeSubTaskList(ExtractKnowledgeSubTask extractKnowledgeSubTask);
+
+    /**
+     * 新增知识抽取子任务
+     * 
+     * @param extractKnowledgeSubTask 知识抽取子任务
+     * @return 结果
+     */
+    public int insertExtractKnowledgeSubTask(ExtractKnowledgeSubTask extractKnowledgeSubTask);
+
+    /**
+     * 修改知识抽取子任务
+     * 
+     * @param extractKnowledgeSubTask 知识抽取子任务
+     * @return 结果
+     */
+    public int updateExtractKnowledgeSubTask(ExtractKnowledgeSubTask extractKnowledgeSubTask);
+
+    /**
+     * 批量删除知识抽取子任务
+     * 
+     * @param ids 需要删除的知识抽取子任务主键集合
+     * @return 结果
+     */
+    public int deleteExtractKnowledgeSubTaskByIds(Long[] ids);
+
+    /**
+     * 删除知识抽取子任务信息
+     * 
+     * @param id 知识抽取子任务主键
+     * @return 结果
+     */
+    public int deleteExtractKnowledgeSubTaskById(Long id);
+
+    /**
+     * 根据任务创建子任务
+     * @param extractKnowledgeTask
+     */
+    void createSubTaskByTask(ExtractKnowledgeTask extractKnowledgeTask);
+}

+ 61 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/service/IExtractKnowledgeTaskService.java

@@ -0,0 +1,61 @@
+package com.kgraph.graph.suport.service;
+
+import java.util.List;
+import com.kgraph.graph.suport.domain.ExtractKnowledgeTask;
+
+/**
+ * 知识抽取任务Service接口
+ * 
+ * @author Allen
+ * @date 2023-03-21
+ */
+public interface IExtractKnowledgeTaskService 
+{
+    /**
+     * 查询知识抽取任务
+     * 
+     * @param id 知识抽取任务主键
+     * @return 知识抽取任务
+     */
+    public ExtractKnowledgeTask selectExtractKnowledgeTaskById(Long id);
+
+    /**
+     * 查询知识抽取任务列表
+     * 
+     * @param extractKnowledgeTask 知识抽取任务
+     * @return 知识抽取任务集合
+     */
+    public List<ExtractKnowledgeTask> selectExtractKnowledgeTaskList(ExtractKnowledgeTask extractKnowledgeTask);
+
+    /**
+     * 新增知识抽取任务
+     * 
+     * @param extractKnowledgeTask 知识抽取任务
+     * @return 结果
+     */
+    public int insertExtractKnowledgeTask(ExtractKnowledgeTask extractKnowledgeTask);
+
+    /**
+     * 修改知识抽取任务
+     * 
+     * @param extractKnowledgeTask 知识抽取任务
+     * @return 结果
+     */
+    public int updateExtractKnowledgeTask(ExtractKnowledgeTask extractKnowledgeTask);
+
+    /**
+     * 批量删除知识抽取任务
+     * 
+     * @param ids 需要删除的知识抽取任务主键集合
+     * @return 结果
+     */
+    public int deleteExtractKnowledgeTaskByIds(Long[] ids);
+
+    /**
+     * 删除知识抽取任务信息
+     * 
+     * @param id 知识抽取任务主键
+     * @return 结果
+     */
+    public int deleteExtractKnowledgeTaskById(Long id);
+}

+ 69 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/service/IUploadManageService.java

@@ -0,0 +1,69 @@
+package com.kgraph.graph.suport.service;
+
+import java.util.List;
+import com.kgraph.graph.suport.domain.UploadManage;
+import com.kgraph.graph.suport.vo.UploadManageOptionVO;
+
+/**
+ * 上传管理Service接口
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+public interface IUploadManageService 
+{
+    /**
+     * 查询上传管理
+     * 
+     * @param id 上传管理主键
+     * @return 上传管理
+     */
+    public UploadManage selectUploadManageById(Long id);
+
+    /**
+     * 查询上传管理列表
+     * 
+     * @param uploadManage 上传管理
+     * @return 上传管理集合
+     */
+    public List<UploadManage> selectUploadManageList(UploadManage uploadManage);
+
+    /**
+     * 新增上传管理
+     * 
+     * @param uploadManage 上传管理
+     * @return 结果
+     */
+    public int insertUploadManage(UploadManage uploadManage);
+
+    /**
+     * 修改上传管理
+     * 
+     * @param uploadManage 上传管理
+     * @return 结果
+     */
+    public int updateUploadManage(UploadManage uploadManage);
+
+    /**
+     * 批量删除上传管理
+     * 
+     * @param ids 需要删除的上传管理主键集合
+     * @return 结果
+     */
+    public int deleteUploadManageByIds(Long[] ids);
+
+    /**
+     * 删除上传管理信息
+     * 
+     * @param id 上传管理主键
+     * @return 结果
+     */
+    public int deleteUploadManageById(Long id);
+
+    /**
+     * 通过name模糊查option
+     * @param name name
+     * @return List<UploadManageOptionVO>
+     */
+    public List<UploadManageOptionVO> getOptionByName(String name);
+}

+ 96 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/service/impl/DataManageServiceImpl.java

@@ -0,0 +1,96 @@
+package com.kgraph.graph.suport.service.impl;
+
+import java.util.List;
+import com.kgraph.common.utils.DateUtils;;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.kgraph.graph.suport.mapper.DataManageMapper;
+import com.kgraph.graph.suport.domain.DataManage;
+import com.kgraph.graph.suport.service.IDataManageService;
+
+/**
+ * 数据管理Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+@Service
+public class DataManageServiceImpl implements IDataManageService 
+{
+    @Autowired
+    private DataManageMapper dataManageMapper;
+
+    /**
+     * 查询数据管理
+     * 
+     * @param id 数据管理主键
+     * @return 数据管理
+     */
+    @Override
+    public DataManage selectDataManageById(Long id)
+    {
+        return dataManageMapper.selectDataManageById(id);
+    }
+
+    /**
+     * 查询数据管理列表
+     * 
+     * @param dataManage 数据管理
+     * @return 数据管理
+     */
+    @Override
+    public List<DataManage> selectDataManageList(DataManage dataManage)
+    {
+        return dataManageMapper.selectDataManageList(dataManage);
+    }
+
+    /**
+     * 新增数据管理
+     * 
+     * @param dataManage 数据管理
+     * @return 结果
+     */
+    @Override
+    public int insertDataManage(DataManage dataManage)
+    {
+        dataManage.setCreateTime(DateUtils.getNowDate());
+        return dataManageMapper.insertDataManage(dataManage);
+    }
+
+    /**
+     * 修改数据管理
+     * 
+     * @param dataManage 数据管理
+     * @return 结果
+     */
+    @Override
+    public int updateDataManage(DataManage dataManage)
+    {
+        dataManage.setUpdateTime(DateUtils.getNowDate());
+        return dataManageMapper.updateDataManage(dataManage);
+    }
+
+    /**
+     * 批量删除数据管理
+     * 
+     * @param ids 需要删除的数据管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteDataManageByIds(Long[] ids)
+    {
+        return dataManageMapper.deleteDataManageByIds(ids);
+    }
+
+    /**
+     * 删除数据管理信息
+     * 
+     * @param id 数据管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteDataManageById(Long id)
+    {
+        return dataManageMapper.deleteDataManageById(id);
+    }
+}

+ 96 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/service/impl/ExtractKnowledgeSubTaskDetailServiceImpl.java

@@ -0,0 +1,96 @@
+package com.kgraph.graph.suport.service.impl;
+
+import java.util.List;
+import com.kgraph.common.utils.DateUtils;;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.kgraph.graph.suport.mapper.ExtractKnowledgeSubTaskDetailMapper;
+import com.kgraph.graph.suport.domain.ExtractKnowledgeSubTaskDetail;
+import com.kgraph.graph.suport.service.IExtractKnowledgeSubTaskDetailService;
+
+/**
+ * 知识抽取子任务明细Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+@Service
+public class ExtractKnowledgeSubTaskDetailServiceImpl implements IExtractKnowledgeSubTaskDetailService 
+{
+    @Autowired
+    private ExtractKnowledgeSubTaskDetailMapper extractKnowledgeSubTaskDetailMapper;
+
+    /**
+     * 查询知识抽取子任务明细
+     * 
+     * @param id 知识抽取子任务明细主键
+     * @return 知识抽取子任务明细
+     */
+    @Override
+    public ExtractKnowledgeSubTaskDetail selectExtractKnowledgeSubTaskDetailById(Long id)
+    {
+        return extractKnowledgeSubTaskDetailMapper.selectExtractKnowledgeSubTaskDetailById(id);
+    }
+
+    /**
+     * 查询知识抽取子任务明细列表
+     * 
+     * @param extractKnowledgeSubTaskDetail 知识抽取子任务明细
+     * @return 知识抽取子任务明细
+     */
+    @Override
+    public List<ExtractKnowledgeSubTaskDetail> selectExtractKnowledgeSubTaskDetailList(ExtractKnowledgeSubTaskDetail extractKnowledgeSubTaskDetail)
+    {
+        return extractKnowledgeSubTaskDetailMapper.selectExtractKnowledgeSubTaskDetailList(extractKnowledgeSubTaskDetail);
+    }
+
+    /**
+     * 新增知识抽取子任务明细
+     * 
+     * @param extractKnowledgeSubTaskDetail 知识抽取子任务明细
+     * @return 结果
+     */
+    @Override
+    public int insertExtractKnowledgeSubTaskDetail(ExtractKnowledgeSubTaskDetail extractKnowledgeSubTaskDetail)
+    {
+        extractKnowledgeSubTaskDetail.setCreateTime(DateUtils.getNowDate());
+        return extractKnowledgeSubTaskDetailMapper.insertExtractKnowledgeSubTaskDetail(extractKnowledgeSubTaskDetail);
+    }
+
+    /**
+     * 修改知识抽取子任务明细
+     * 
+     * @param extractKnowledgeSubTaskDetail 知识抽取子任务明细
+     * @return 结果
+     */
+    @Override
+    public int updateExtractKnowledgeSubTaskDetail(ExtractKnowledgeSubTaskDetail extractKnowledgeSubTaskDetail)
+    {
+        extractKnowledgeSubTaskDetail.setUpdateTime(DateUtils.getNowDate());
+        return extractKnowledgeSubTaskDetailMapper.updateExtractKnowledgeSubTaskDetail(extractKnowledgeSubTaskDetail);
+    }
+
+    /**
+     * 批量删除知识抽取子任务明细
+     * 
+     * @param ids 需要删除的知识抽取子任务明细主键
+     * @return 结果
+     */
+    @Override
+    public int deleteExtractKnowledgeSubTaskDetailByIds(Long[] ids)
+    {
+        return extractKnowledgeSubTaskDetailMapper.deleteExtractKnowledgeSubTaskDetailByIds(ids);
+    }
+
+    /**
+     * 删除知识抽取子任务明细信息
+     * 
+     * @param id 知识抽取子任务明细主键
+     * @return 结果
+     */
+    @Override
+    public int deleteExtractKnowledgeSubTaskDetailById(Long id)
+    {
+        return extractKnowledgeSubTaskDetailMapper.deleteExtractKnowledgeSubTaskDetailById(id);
+    }
+}

+ 115 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/service/impl/ExtractKnowledgeSubTaskServiceImpl.java

@@ -0,0 +1,115 @@
+package com.kgraph.graph.suport.service.impl;
+
+import java.util.List;
+import com.kgraph.common.utils.DateUtils;;
+import com.kgraph.graph.suport.domain.ExtractKnowledgeTask;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.kgraph.graph.suport.mapper.ExtractKnowledgeSubTaskMapper;
+import com.kgraph.graph.suport.domain.ExtractKnowledgeSubTask;
+import com.kgraph.graph.suport.service.IExtractKnowledgeSubTaskService;
+
+/**
+ * 知识抽取子任务Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+@Service
+public class ExtractKnowledgeSubTaskServiceImpl implements IExtractKnowledgeSubTaskService 
+{
+    @Autowired
+    private ExtractKnowledgeSubTaskMapper extractKnowledgeSubTaskMapper;
+
+    /**
+     * 查询知识抽取子任务
+     * 
+     * @param id 知识抽取子任务主键
+     * @return 知识抽取子任务
+     */
+    @Override
+    public ExtractKnowledgeSubTask selectExtractKnowledgeSubTaskById(Long id)
+    {
+        return extractKnowledgeSubTaskMapper.selectExtractKnowledgeSubTaskById(id);
+    }
+
+    /**
+     * 查询知识抽取子任务列表
+     * 
+     * @param extractKnowledgeSubTask 知识抽取子任务
+     * @return 知识抽取子任务
+     */
+    @Override
+    public List<ExtractKnowledgeSubTask> selectExtractKnowledgeSubTaskList(ExtractKnowledgeSubTask extractKnowledgeSubTask)
+    {
+        return extractKnowledgeSubTaskMapper.selectExtractKnowledgeSubTaskList(extractKnowledgeSubTask);
+    }
+
+    /**
+     * 新增知识抽取子任务
+     * 
+     * @param extractKnowledgeSubTask 知识抽取子任务
+     * @return 结果
+     */
+    @Override
+    public int insertExtractKnowledgeSubTask(ExtractKnowledgeSubTask extractKnowledgeSubTask)
+    {
+        extractKnowledgeSubTask.setCreateTime(DateUtils.getNowDate());
+        return extractKnowledgeSubTaskMapper.insertExtractKnowledgeSubTask(extractKnowledgeSubTask);
+    }
+
+    /**
+     * 修改知识抽取子任务
+     * 
+     * @param extractKnowledgeSubTask 知识抽取子任务
+     * @return 结果
+     */
+    @Override
+    public int updateExtractKnowledgeSubTask(ExtractKnowledgeSubTask extractKnowledgeSubTask)
+    {
+        extractKnowledgeSubTask.setUpdateTime(DateUtils.getNowDate());
+        return extractKnowledgeSubTaskMapper.updateExtractKnowledgeSubTask(extractKnowledgeSubTask);
+    }
+
+    /**
+     * 批量删除知识抽取子任务
+     * 
+     * @param ids 需要删除的知识抽取子任务主键
+     * @return 结果
+     */
+    @Override
+    public int deleteExtractKnowledgeSubTaskByIds(Long[] ids)
+    {
+        return extractKnowledgeSubTaskMapper.deleteExtractKnowledgeSubTaskByIds(ids);
+    }
+
+    /**
+     * 删除知识抽取子任务信息
+     * 
+     * @param id 知识抽取子任务主键
+     * @return 结果
+     */
+    @Override
+    public int deleteExtractKnowledgeSubTaskById(Long id)
+    {
+        return extractKnowledgeSubTaskMapper.deleteExtractKnowledgeSubTaskById(id);
+    }
+
+    @Override
+    public void createSubTaskByTask(ExtractKnowledgeTask extractKnowledgeTask) {
+        // TODO 获取子任务集合
+        String[] selectSubTasks = extractKnowledgeTask.getSelectSubTask().split(",");
+        Long taskId = extractKnowledgeTask.getId();
+        String createBy = extractKnowledgeTask.getCreateBy();
+        // 根据子任务创建任务
+        for (String subTask: selectSubTasks) {
+            ExtractKnowledgeSubTask extractKnowledgeSubTask = new ExtractKnowledgeSubTask();
+
+            extractKnowledgeSubTask.setTaskId(taskId);
+            extractKnowledgeSubTask.setType(subTask);
+            extractKnowledgeSubTask.setStatus(ExtractKnowledgeSubTask.PROCESSING);
+            extractKnowledgeSubTask.setCreateBy(createBy);
+            extractKnowledgeSubTaskMapper.insertExtractKnowledgeSubTask(extractKnowledgeSubTask);
+        }
+    }
+}

+ 102 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/service/impl/ExtractKnowledgeTaskServiceImpl.java

@@ -0,0 +1,102 @@
+package com.kgraph.graph.suport.service.impl;
+
+import java.util.List;
+import com.kgraph.common.utils.DateUtils;;
+import com.kgraph.graph.suport.service.IExtractKnowledgeSubTaskService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.kgraph.graph.suport.mapper.ExtractKnowledgeTaskMapper;
+import com.kgraph.graph.suport.domain.ExtractKnowledgeTask;
+import com.kgraph.graph.suport.service.IExtractKnowledgeTaskService;
+
+/**
+ * 知识抽取任务Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-03-21
+ */
+@Service
+public class ExtractKnowledgeTaskServiceImpl implements IExtractKnowledgeTaskService 
+{
+    @Autowired
+    private ExtractKnowledgeTaskMapper extractKnowledgeTaskMapper;
+
+    @Autowired
+    private IExtractKnowledgeSubTaskService extractKnowledgeSubTaskService;
+    /**
+     * 查询知识抽取任务
+     * 
+     * @param id 知识抽取任务主键
+     * @return 知识抽取任务
+     */
+    @Override
+    public ExtractKnowledgeTask selectExtractKnowledgeTaskById(Long id)
+    {
+        return extractKnowledgeTaskMapper.selectExtractKnowledgeTaskById(id);
+    }
+
+    /**
+     * 查询知识抽取任务列表
+     * 
+     * @param extractKnowledgeTask 知识抽取任务
+     * @return 知识抽取任务
+     */
+    @Override
+    public List<ExtractKnowledgeTask> selectExtractKnowledgeTaskList(ExtractKnowledgeTask extractKnowledgeTask)
+    {
+        return extractKnowledgeTaskMapper.selectExtractKnowledgeTaskList(extractKnowledgeTask);
+    }
+
+    /**
+     * 新增知识抽取任务
+     * 
+     * @param extractKnowledgeTask 知识抽取任务
+     * @return 结果
+     */
+    @Override
+    public int insertExtractKnowledgeTask(ExtractKnowledgeTask extractKnowledgeTask)
+    {
+        extractKnowledgeTask.setCreateTime(DateUtils.getNowDate());
+        int i = extractKnowledgeTaskMapper.insertExtractKnowledgeTask(extractKnowledgeTask);
+        // todo 创建子任务
+        extractKnowledgeSubTaskService.createSubTaskByTask(extractKnowledgeTask);
+        return i;
+    }
+
+    /**
+     * 修改知识抽取任务
+     * 
+     * @param extractKnowledgeTask 知识抽取任务
+     * @return 结果
+     */
+    @Override
+    public int updateExtractKnowledgeTask(ExtractKnowledgeTask extractKnowledgeTask)
+    {
+        extractKnowledgeTask.setUpdateTime(DateUtils.getNowDate());
+        return extractKnowledgeTaskMapper.updateExtractKnowledgeTask(extractKnowledgeTask);
+    }
+
+    /**
+     * 批量删除知识抽取任务
+     * 
+     * @param ids 需要删除的知识抽取任务主键
+     * @return 结果
+     */
+    @Override
+    public int deleteExtractKnowledgeTaskByIds(Long[] ids)
+    {
+        return extractKnowledgeTaskMapper.deleteExtractKnowledgeTaskByIds(ids);
+    }
+
+    /**
+     * 删除知识抽取任务信息
+     * 
+     * @param id 知识抽取任务主键
+     * @return 结果
+     */
+    @Override
+    public int deleteExtractKnowledgeTaskById(Long id)
+    {
+        return extractKnowledgeTaskMapper.deleteExtractKnowledgeTaskById(id);
+    }
+}

+ 114 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/service/impl/UploadManageServiceImpl.java

@@ -0,0 +1,114 @@
+package com.kgraph.graph.suport.service.impl;
+
+import java.util.List;
+import com.kgraph.common.utils.DateUtils;;
+import com.kgraph.graph.suport.vo.UploadManageOptionVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.kgraph.graph.suport.mapper.UploadManageMapper;
+import com.kgraph.graph.suport.domain.UploadManage;
+import com.kgraph.graph.suport.service.IUploadManageService;
+
+/**
+ * 上传管理Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+@Service
+public class UploadManageServiceImpl implements IUploadManageService 
+{
+    @Autowired
+    private UploadManageMapper uploadManageMapper;
+
+    /**
+     * 查询上传管理
+     * 
+     * @param id 上传管理主键
+     * @return 上传管理
+     */
+    @Override
+    public UploadManage selectUploadManageById(Long id)
+    {
+        return uploadManageMapper.selectUploadManageById(id);
+    }
+
+    /**
+     * 查询上传管理列表
+     * 
+     * @param uploadManage 上传管理
+     * @return 上传管理
+     */
+    @Override
+    public List<UploadManage> selectUploadManageList(UploadManage uploadManage)
+    {
+        return uploadManageMapper.selectUploadManageList(uploadManage);
+    }
+
+    /**
+     * 新增上传管理
+     * 
+     * @param uploadManage 上传管理
+     * @return 结果
+     */
+    @Override
+    public int insertUploadManage(UploadManage uploadManage)
+    {
+        String[] filePaths = uploadManage.getFilePath().split("/");
+        String fileFullName = filePaths[filePaths.length - 1];
+
+        uploadManage.setName(fileFullName.split("\\.")[0]);
+        uploadManage.setCreateTime(DateUtils.getNowDate());
+        uploadManageMapper.insertUploadManage(uploadManage);
+        // TODO process upload
+        uploadManage.setStatus(UploadManage.SUCCESS);
+        return uploadManageMapper.updateUploadManage(uploadManage);
+    }
+
+    /**
+     * 修改上传管理
+     * 
+     * @param uploadManage 上传管理
+     * @return 结果
+     */
+    @Override
+    public int updateUploadManage(UploadManage uploadManage)
+    {
+        uploadManage.setUpdateTime(DateUtils.getNowDate());
+        return uploadManageMapper.updateUploadManage(uploadManage);
+    }
+
+    /**
+     * 批量删除上传管理
+     * 
+     * @param ids 需要删除的上传管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteUploadManageByIds(Long[] ids)
+    {
+        return uploadManageMapper.deleteUploadManageByIds(ids);
+    }
+
+    /**
+     * 删除上传管理信息
+     * 
+     * @param id 上传管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteUploadManageById(Long id)
+    {
+        return uploadManageMapper.deleteUploadManageById(id);
+    }
+
+    /**
+     * 通过name模糊查option
+     * @param name name
+     * @return List<UploadManageOptionVO>
+     */
+    @Override
+    public List<UploadManageOptionVO> getOptionByName(String name) {
+        return uploadManageMapper.getOptionByName(name);
+    }
+}

+ 30 - 0
kgraph-graph/src/main/java/com/kgraph/graph/suport/vo/UploadManageOptionVO.java

@@ -0,0 +1,30 @@
+package com.kgraph.graph.suport.vo;
+
+import com.kgraph.common.annotation.Excel;
+import com.kgraph.common.core.domain.BaseEntity;
+import lombok.Data;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+;
+
+/**
+ * 上传管理对象 t_upload_manage
+ * 
+ * @author Allen
+ * @date 2023-03-20
+ */
+
+@Data
+public class UploadManageOptionVO
+{
+    private static final long serialVersionUID = 1L;
+
+
+    /** 编号 */
+    private Long id;
+
+    /** 文件名称 */
+    private String name;
+
+}

+ 81 - 0
kgraph-graph/src/main/resources/mapper/extract/ExtractKnowledgeSubTaskDetailMapper.xml

@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.kgraph.graph.suport.mapper.ExtractKnowledgeSubTaskDetailMapper">
+    
+    <resultMap type="ExtractKnowledgeSubTaskDetail" id="ExtractKnowledgeSubTaskDetailResult">
+        <result property="id"    column="id"    />
+        <result property="subTaskId"    column="sub_task_id"    />
+        <result property="start"    column="start"    />
+        <result property="relation"    column="relation"    />
+        <result property="end"    column="end"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectExtractKnowledgeSubTaskDetailVo">
+        select id, sub_task_id, start, relation, end, create_by, create_time, update_by, update_time from t_extract_knowledge_sub_task_detail
+    </sql>
+
+    <select id="selectExtractKnowledgeSubTaskDetailList" parameterType="ExtractKnowledgeSubTaskDetail" resultMap="ExtractKnowledgeSubTaskDetailResult">
+        <include refid="selectExtractKnowledgeSubTaskDetailVo"/>
+        <where>  
+            <if test="subTaskId != null "> and sub_task_id = #{subTaskId}</if>
+            <if test="start != null  and start != ''"> and start = #{start}</if>
+            <if test="relation != null  and relation != ''"> and relation = #{relation}</if>
+            <if test="end != null  and end != ''"> and end = #{end}</if>
+        </where>
+    </select>
+    
+    <select id="selectExtractKnowledgeSubTaskDetailById" parameterType="Long" resultMap="ExtractKnowledgeSubTaskDetailResult">
+        <include refid="selectExtractKnowledgeSubTaskDetailVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertExtractKnowledgeSubTaskDetail" parameterType="ExtractKnowledgeSubTaskDetail" useGeneratedKeys="true" keyProperty="id">
+        insert into t_extract_knowledge_sub_task_detail
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="subTaskId != null">sub_task_id,</if>
+            <if test="start != null">start,</if>
+            <if test="relation != null">relation,</if>
+            <if test="end != null">end,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="subTaskId != null">#{subTaskId},</if>
+            <if test="start != null">#{start},</if>
+            <if test="relation != null">#{relation},</if>
+            <if test="end != null">#{end},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateExtractKnowledgeSubTaskDetail" parameterType="ExtractKnowledgeSubTaskDetail">
+        update t_extract_knowledge_sub_task_detail
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="subTaskId != null">sub_task_id = #{subTaskId},</if>
+            <if test="start != null">start = #{start},</if>
+            <if test="relation != null">relation = #{relation},</if>
+            <if test="end != null">end = #{end},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteExtractKnowledgeSubTaskDetailById" parameterType="Long">
+        delete from t_extract_knowledge_sub_task_detail where id = #{id}
+    </delete>
+
+    <delete id="deleteExtractKnowledgeSubTaskDetailByIds" parameterType="String">
+        delete from t_extract_knowledge_sub_task_detail where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 91 - 0
kgraph-graph/src/main/resources/mapper/extract/ExtractKnowledgeSubTaskMapper.xml

@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.kgraph.graph.suport.mapper.ExtractKnowledgeSubTaskMapper">
+    
+    <resultMap type="ExtractKnowledgeSubTask" id="ExtractKnowledgeSubTaskResult">
+        <result property="id"    column="id"    />
+        <result property="taskId"    column="task_id"    />
+        <result property="type"    column="type"    />
+        <result property="status"    column="status"    />
+        <result property="log"    column="log"    />
+        <result property="completedDate"    column="completed_date"    />
+        <result property="costTime"    column="cost_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectExtractKnowledgeSubTaskVo">
+        select id, task_id, type, status, log, completed_date, cost_time, create_by, create_time, update_by, update_time from t_extract_knowledge_sub_task
+    </sql>
+
+    <select id="selectExtractKnowledgeSubTaskList" parameterType="ExtractKnowledgeSubTask" resultMap="ExtractKnowledgeSubTaskResult">
+        <include refid="selectExtractKnowledgeSubTaskVo"/>
+        <where>  
+            <if test="taskId != null "> and task_id = #{taskId}</if>
+            <if test="type != null  and type != ''"> and type = #{type}</if>
+            <if test="status != null  and status != ''"> and status = #{status}</if>
+            <if test="log != null  and log != ''"> and log = #{log}</if>
+            <if test="completedDate != null "> and completed_date = #{completedDate}</if>
+            <if test="costTime != null "> and cost_time = #{costTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectExtractKnowledgeSubTaskById" parameterType="Long" resultMap="ExtractKnowledgeSubTaskResult">
+        <include refid="selectExtractKnowledgeSubTaskVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertExtractKnowledgeSubTask" parameterType="ExtractKnowledgeSubTask" useGeneratedKeys="true" keyProperty="id">
+        insert into t_extract_knowledge_sub_task
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="taskId != null">task_id,</if>
+            <if test="type != null">type,</if>
+            <if test="status != null">status,</if>
+            <if test="log != null">log,</if>
+            <if test="completedDate != null">completed_date,</if>
+            <if test="costTime != null">cost_time,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="taskId != null">#{taskId},</if>
+            <if test="type != null">#{type},</if>
+            <if test="status != null">#{status},</if>
+            <if test="log != null">#{log},</if>
+            <if test="completedDate != null">#{completedDate},</if>
+            <if test="costTime != null">#{costTime},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateExtractKnowledgeSubTask" parameterType="ExtractKnowledgeSubTask">
+        update t_extract_knowledge_sub_task
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="taskId != null">task_id = #{taskId},</if>
+            <if test="type != null">type = #{type},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="log != null">log = #{log},</if>
+            <if test="completedDate != null">completed_date = #{completedDate},</if>
+            <if test="costTime != null">cost_time = #{costTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteExtractKnowledgeSubTaskById" parameterType="Long">
+        delete from t_extract_knowledge_sub_task where id = #{id}
+    </delete>
+
+    <delete id="deleteExtractKnowledgeSubTaskByIds" parameterType="String">
+        delete from t_extract_knowledge_sub_task where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 112 - 0
kgraph-graph/src/main/resources/mapper/extract/ExtractKnowledgeTaskMapper.xml

@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.kgraph.graph.suport.mapper.ExtractKnowledgeTaskMapper">
+    
+    <resultMap type="ExtractKnowledgeTask" id="ExtractKnowledgeTaskResult">
+        <result property="id"    column="id"    />
+        <result property="uploadId"    column="upload_id"    />
+        <result property="uploadName"    column="uploadName"    />
+        <result property="name"    column="name"    />
+        <result property="selectSubTask"    column="select_sub_task"    />
+        <result property="status"    column="status"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="completedDate"    column="completed_date"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectExtractKnowledgeTaskVo">
+        select id, upload_id, name, select_sub_task, status, create_by, create_time, completed_date, update_by, update_time from t_extract_knowledge_task
+    </sql>
+
+    <sql id="selectExtractKnowledgeTaskVo2">
+        SELECT
+            ekt.id,
+            ekt.upload_id,
+            um.`name` uploadName,
+            ekt.NAME,
+            ekt.select_sub_task,
+            ekt.STATUS,
+            ekt.create_by,
+            ekt.create_time,
+            ekt.completed_date,
+            ekt.update_by,
+            ekt.update_time
+        FROM
+            t_extract_knowledge_task ekt,
+            t_upload_manage um
+        WHERE
+            ekt.upload_id = um.id
+    </sql>
+
+    <select id="selectExtractKnowledgeTaskList" parameterType="ExtractKnowledgeTask" resultMap="ExtractKnowledgeTaskResult">
+        <include refid="selectExtractKnowledgeTaskVo2"/>
+        <if test="uploadId != null "> and upload_id = #{uploadId}</if>
+        <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+        <if test="status != null  and status != ''"> and status = #{status}</if>
+        ORDER BY ekt.update_time DESC
+    </select>
+    
+    <select id="selectExtractKnowledgeTaskById" parameterType="Long" resultMap="ExtractKnowledgeTaskResult">
+        <include refid="selectExtractKnowledgeTaskVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertExtractKnowledgeTask" parameterType="ExtractKnowledgeTask" useGeneratedKeys="true" keyProperty="id">
+        insert into t_extract_knowledge_task
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            name,
+            <if test="uploadId != null">upload_id,</if>
+            <if test="selectSubTask != null">select_sub_task,</if>
+            <if test="status != null">status,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="completedDate != null">completed_date,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="name != null">#{name},</if>
+            <choose>
+                <when test="name != null">#{name},</when>
+                <otherwise>
+                    (SELECT concat(LEFT(um.name, LENGTH(um.name)-23), ' task') FROM t_upload_manage um WHERE id = #{uploadId} limit 1),
+                </otherwise>
+            </choose>
+            <if test="uploadId != null">#{uploadId},</if>
+            <if test="selectSubTask != null">#{selectSubTask},</if>
+            <if test="status != null">#{status},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="completedDate != null">#{completedDate},</if>
+         </trim>
+    </insert>
+
+    <update id="updateExtractKnowledgeTask" parameterType="ExtractKnowledgeTask">
+        update t_extract_knowledge_task
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="uploadId != null">upload_id = #{uploadId},</if>
+            <if test="name != null">name = #{name},</if>
+            <if test="selectSubTask != null">select_sub_task = #{selectSubTask},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="completedDate != null">completed_date = #{completedDate},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteExtractKnowledgeTaskById" parameterType="Long">
+        delete from t_extract_knowledge_task where id = #{id}
+    </delete>
+
+    <delete id="deleteExtractKnowledgeTaskByIds" parameterType="String">
+        delete from t_extract_knowledge_task where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 166 - 0
kgraph-graph/src/main/resources/mapper/upload/DataManageMapper.xml

@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.kgraph.graph.suport.mapper.DataManageMapper">
+    
+    <resultMap type="DataManage" id="DataManageResult">
+        <result property="id"    column="id"    />
+        <result property="tUploadId"    column="t_upload_id"    />
+        <result property="extra1"    column="extra1"    />
+        <result property="extra2"    column="extra2"    />
+        <result property="extra3"    column="extra3"    />
+        <result property="extra4"    column="extra4"    />
+        <result property="extra5"    column="extra5"    />
+        <result property="extra6"    column="extra6"    />
+        <result property="extra7"    column="extra7"    />
+        <result property="extra8"    column="extra8"    />
+        <result property="extra9"    column="extra9"    />
+        <result property="extra10"    column="extra10"    />
+        <result property="extra11"    column="extra11"    />
+        <result property="extra12"    column="extra12"    />
+        <result property="extra13"    column="extra13"    />
+        <result property="extra14"    column="extra14"    />
+        <result property="extra15"    column="extra15"    />
+        <result property="extra16"    column="extra16"    />
+        <result property="extra17"    column="extra17"    />
+        <result property="extra18"    column="extra18"    />
+        <result property="extra19"    column="extra19"    />
+        <result property="extra20"    column="extra20"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectDataManageVo">
+        select id, t_upload_id, extra1, extra2, extra3, extra4, extra5, extra6, extra7, extra8, extra9, extra10, extra11, extra12, extra13, extra14, extra15, extra16, extra17, extra18, extra19, extra20, create_by, create_time, update_by, update_time from t_data_manage
+    </sql>
+
+    <select id="selectDataManageList" parameterType="DataManage" resultMap="DataManageResult">
+        <include refid="selectDataManageVo"/>
+        <where>  
+            <if test="tUploadId != null "> and t_upload_id = #{tUploadId}</if>
+            <if test="extra1 != null  and extra1 != ''"> and extra1 = #{extra1}</if>
+            <if test="extra2 != null  and extra2 != ''"> and extra2 = #{extra2}</if>
+            <if test="extra3 != null  and extra3 != ''"> and extra3 = #{extra3}</if>
+            <if test="extra4 != null  and extra4 != ''"> and extra4 = #{extra4}</if>
+            <if test="extra5 != null  and extra5 != ''"> and extra5 = #{extra5}</if>
+            <if test="extra6 != null  and extra6 != ''"> and extra6 = #{extra6}</if>
+            <if test="extra7 != null  and extra7 != ''"> and extra7 = #{extra7}</if>
+            <if test="extra8 != null  and extra8 != ''"> and extra8 = #{extra8}</if>
+            <if test="extra9 != null  and extra9 != ''"> and extra9 = #{extra9}</if>
+            <if test="extra10 != null  and extra10 != ''"> and extra10 = #{extra10}</if>
+            <if test="extra11 != null  and extra11 != ''"> and extra11 = #{extra11}</if>
+            <if test="extra12 != null  and extra12 != ''"> and extra12 = #{extra12}</if>
+            <if test="extra13 != null  and extra13 != ''"> and extra13 = #{extra13}</if>
+            <if test="extra14 != null  and extra14 != ''"> and extra14 = #{extra14}</if>
+            <if test="extra15 != null  and extra15 != ''"> and extra15 = #{extra15}</if>
+            <if test="extra16 != null  and extra16 != ''"> and extra16 = #{extra16}</if>
+            <if test="extra17 != null  and extra17 != ''"> and extra17 = #{extra17}</if>
+            <if test="extra18 != null  and extra18 != ''"> and extra18 = #{extra18}</if>
+            <if test="extra19 != null  and extra19 != ''"> and extra19 = #{extra19}</if>
+            <if test="extra20 != null  and extra20 != ''"> and extra20 = #{extra20}</if>
+        </where>
+    </select>
+    
+    <select id="selectDataManageById" parameterType="Long" resultMap="DataManageResult">
+        <include refid="selectDataManageVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertDataManage" parameterType="DataManage" useGeneratedKeys="true" keyProperty="id">
+        insert into t_data_manage
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="tUploadId != null">t_upload_id,</if>
+            <if test="extra1 != null">extra1,</if>
+            <if test="extra2 != null">extra2,</if>
+            <if test="extra3 != null">extra3,</if>
+            <if test="extra4 != null">extra4,</if>
+            <if test="extra5 != null">extra5,</if>
+            <if test="extra6 != null">extra6,</if>
+            <if test="extra7 != null">extra7,</if>
+            <if test="extra8 != null">extra8,</if>
+            <if test="extra9 != null">extra9,</if>
+            <if test="extra10 != null">extra10,</if>
+            <if test="extra11 != null">extra11,</if>
+            <if test="extra12 != null">extra12,</if>
+            <if test="extra13 != null">extra13,</if>
+            <if test="extra14 != null">extra14,</if>
+            <if test="extra15 != null">extra15,</if>
+            <if test="extra16 != null">extra16,</if>
+            <if test="extra17 != null">extra17,</if>
+            <if test="extra18 != null">extra18,</if>
+            <if test="extra19 != null">extra19,</if>
+            <if test="extra20 != null">extra20,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="tUploadId != null">#{tUploadId},</if>
+            <if test="extra1 != null">#{extra1},</if>
+            <if test="extra2 != null">#{extra2},</if>
+            <if test="extra3 != null">#{extra3},</if>
+            <if test="extra4 != null">#{extra4},</if>
+            <if test="extra5 != null">#{extra5},</if>
+            <if test="extra6 != null">#{extra6},</if>
+            <if test="extra7 != null">#{extra7},</if>
+            <if test="extra8 != null">#{extra8},</if>
+            <if test="extra9 != null">#{extra9},</if>
+            <if test="extra10 != null">#{extra10},</if>
+            <if test="extra11 != null">#{extra11},</if>
+            <if test="extra12 != null">#{extra12},</if>
+            <if test="extra13 != null">#{extra13},</if>
+            <if test="extra14 != null">#{extra14},</if>
+            <if test="extra15 != null">#{extra15},</if>
+            <if test="extra16 != null">#{extra16},</if>
+            <if test="extra17 != null">#{extra17},</if>
+            <if test="extra18 != null">#{extra18},</if>
+            <if test="extra19 != null">#{extra19},</if>
+            <if test="extra20 != null">#{extra20},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateDataManage" parameterType="DataManage">
+        update t_data_manage
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="tUploadId != null">t_upload_id = #{tUploadId},</if>
+            <if test="extra1 != null">extra1 = #{extra1},</if>
+            <if test="extra2 != null">extra2 = #{extra2},</if>
+            <if test="extra3 != null">extra3 = #{extra3},</if>
+            <if test="extra4 != null">extra4 = #{extra4},</if>
+            <if test="extra5 != null">extra5 = #{extra5},</if>
+            <if test="extra6 != null">extra6 = #{extra6},</if>
+            <if test="extra7 != null">extra7 = #{extra7},</if>
+            <if test="extra8 != null">extra8 = #{extra8},</if>
+            <if test="extra9 != null">extra9 = #{extra9},</if>
+            <if test="extra10 != null">extra10 = #{extra10},</if>
+            <if test="extra11 != null">extra11 = #{extra11},</if>
+            <if test="extra12 != null">extra12 = #{extra12},</if>
+            <if test="extra13 != null">extra13 = #{extra13},</if>
+            <if test="extra14 != null">extra14 = #{extra14},</if>
+            <if test="extra15 != null">extra15 = #{extra15},</if>
+            <if test="extra16 != null">extra16 = #{extra16},</if>
+            <if test="extra17 != null">extra17 = #{extra17},</if>
+            <if test="extra18 != null">extra18 = #{extra18},</if>
+            <if test="extra19 != null">extra19 = #{extra19},</if>
+            <if test="extra20 != null">extra20 = #{extra20},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteDataManageById" parameterType="Long">
+        delete from t_data_manage where id = #{id}
+    </delete>
+
+    <delete id="deleteDataManageByIds" parameterType="String">
+        delete from t_data_manage where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 105 - 0
kgraph-graph/src/main/resources/mapper/upload/UploadManageMapper.xml

@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.kgraph.graph.suport.mapper.UploadManageMapper">
+    
+    <resultMap type="UploadManage" id="UploadManageResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="templateType"    column="template_type"    />
+        <result property="dataType"    column="data_type"    />
+        <result property="fileType"    column="file_type"    />
+        <result property="filePath"    column="file_path"    />
+        <result property="status"    column="status"    />
+        <result property="amount"    column="amount"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectUploadManageVo">
+        select id, name, template_type, data_type, file_type, file_path, status, amount, create_by, create_time, update_by, update_time from t_upload_manage
+    </sql>
+
+    <select id="selectUploadManageList" parameterType="UploadManage" resultMap="UploadManageResult">
+        <include refid="selectUploadManageVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="templateType != null  and templateType != ''"> and template_type = #{templateType}</if>
+            <if test="dataType != null  and dataType != ''"> and data_type = #{dataType}</if>
+            <if test="fileType != null  and fileType != ''"> and file_type = #{fileType}</if>
+            <if test="status != null  and status != ''"> and status = #{status}</if>
+        </where>
+    </select>
+    
+    <select id="selectUploadManageById" parameterType="Long" resultMap="UploadManageResult">
+        <include refid="selectUploadManageVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertUploadManage" parameterType="UploadManage" useGeneratedKeys="true" keyProperty="id">
+        insert into t_upload_manage
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="name != null">name,</if>
+            <if test="templateType != null">template_type,</if>
+            <if test="dataType != null">data_type,</if>
+            <if test="fileType != null">file_type,</if>
+            <if test="filePath != null">file_path,</if>
+            <if test="status != null">status,</if>
+            <if test="amount != null">amount,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="name != null">#{name},</if>
+            <if test="templateType != null">#{templateType},</if>
+            <if test="dataType != null">#{dataType},</if>
+            <if test="fileType != null">#{fileType},</if>
+            <if test="filePath != null">#{filePath},</if>
+            <if test="status != null">#{status},</if>
+            <if test="amount != null">#{amount},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateUploadManage" parameterType="UploadManage">
+        update t_upload_manage
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="templateType != null">template_type = #{templateType},</if>
+            <if test="dataType != null">data_type = #{dataType},</if>
+            <if test="fileType != null">file_type = #{fileType},</if>
+            <if test="filePath != null">file_path = #{filePath},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="amount != null">amount = #{amount},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteUploadManageById" parameterType="Long">
+        delete from t_upload_manage where id = #{id}
+    </delete>
+
+    <delete id="deleteUploadManageByIds" parameterType="String">
+        delete from t_upload_manage where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+
+    <select id="getOptionByName" parameterType="String"
+            resultType="com.kgraph.graph.suport.vo.UploadManageOptionVO">
+        SELECT
+            id,
+            `name`
+        FROM
+            t_upload_manage
+        <if test="name != null">WHERE `name` like concat('%', #{name}, '%')</if>
+        ORDER BY update_time DESC
+    </select>
+</mapper>

+ 1 - 1
pom.xml

@@ -42,7 +42,7 @@
             <dependency>
             <dependency>
                 <groupId>org.springframework.boot</groupId>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-dependencies</artifactId>
                 <artifactId>spring-boot-dependencies</artifactId>
-                <version>2.5.14</version>
+                <version>2.3.12.RELEASE</version>
                 <type>pom</type>
                 <type>pom</type>
                 <scope>import</scope>
                 <scope>import</scope>
                 <exclusions>
                 <exclusions>

+ 229 - 0
sql/system.sql

@@ -980,3 +980,232 @@ values('实体关系删除', @parentId, '4',  '#', '', 1, 0, 'F', '0', '0', 'kno
 
 
 insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
 insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
 values('实体关系导出', @parentId, '5',  '#', '', 1, 0, 'F', '0', '0', 'knowledge:entityRelation:export',       '#', 'admin', sysdate(), '', null, '');
 values('实体关系导出', @parentId, '5',  '#', '', 1, 0, 'F', '0', '0', 'knowledge:entityRelation:export',       '#', 'admin', sysdate(), '', null, '');
+
+
+-- 上传管理
+DROP TABLE
+IF
+	EXISTS t_upload_manage;
+CREATE TABLE t_upload_manage (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '编号',
+	`name` VARCHAR ( 255 ) COMMENT '文件名称',
+	template_type VARCHAR ( 7 ) COMMENT '模板类型',
+	data_type VARCHAR ( 7 ) COMMENT '数据类型',
+	file_type VARCHAR ( 7 ) COMMENT '文件类型(doc/pdf/xls/xml)',
+	file_path VARCHAR ( 255 ) COMMENT '文件地址',
+	`status` VARCHAR ( 7 ) COMMENT '状态',
+	amount INT ( 7 ) COMMENT '数量',
+	log VARCHAR(511) COMMENT '日志',
+	create_by VARCHAR ( 64 ) DEFAULT '' COMMENT '创建者',
+	create_time datetime COMMENT '上传时间',
+	update_by VARCHAR ( 64 ) DEFAULT '' COMMENT '更新者',
+	update_time datetime COMMENT '更新时间',
+PRIMARY KEY ( id )
+) ENGINE = INNODB auto_increment = 1 COMMENT = '上传管理';
+
+-- 导入数据管理
+DROP TABLE
+IF
+	EXISTS t_data_manage;
+CREATE TABLE t_data_manage (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '编号',
+	t_upload_id BIGINT ( 20 ) NOT NULL COMMENT '上传管理主键',
+	extra1 TEXT COMMENT '额外存储1,具体内容跟由模板类型定义',
+	extra2 TEXT COMMENT '额外存储2,具体内容跟由模板类型定义',
+	extra3 TEXT COMMENT '额外存储3,具体内容跟由模板类型定义',
+	extra4 TEXT COMMENT '额外存储4,具体内容跟由模板类型定义',
+	extra5 TEXT COMMENT '额外存储5,具体内容跟由模板类型定义',
+	extra6 TEXT COMMENT '额外存储6,具体内容跟由模板类型定义',
+	extra7 TEXT COMMENT '额外存储7,具体内容跟由模板类型定义',
+	extra8 TEXT COMMENT '额外存储8,具体内容跟由模板类型定义',
+	extra9 TEXT COMMENT '额外存储9,具体内容跟由模板类型定义',
+	extra10 TEXT COMMENT '额外存储10,具体内容跟由模板类型定义',
+	extra11 TEXT COMMENT '额外存储11,具体内容跟由模板类型定义',
+	extra12 TEXT COMMENT '额外存储12,具体内容跟由模板类型定义',
+	extra13 TEXT COMMENT '额外存储13,具体内容跟由模板类型定义',
+	extra14 TEXT COMMENT '额外存储14,具体内容跟由模板类型定义',
+	extra15 TEXT COMMENT '额外存储15,具体内容跟由模板类型定义',
+	extra16 TEXT COMMENT '额外存储16,具体内容跟由模板类型定义',
+	extra17 TEXT COMMENT '额外存储17,具体内容跟由模板类型定义',
+	extra18 TEXT COMMENT '额外存储18,具体内容跟由模板类型定义',
+	extra19 TEXT COMMENT '额外存储19,具体内容跟由模板类型定义',
+	extra20 TEXT COMMENT '额外存储20,具体内容跟由模板类型定义',
+	create_by VARCHAR ( 64 ) DEFAULT '' COMMENT '创建者',
+	create_time datetime COMMENT '创建时间',
+	update_by VARCHAR ( 64 ) DEFAULT '' COMMENT '更新者',
+	update_time datetime COMMENT '更新时间',
+PRIMARY KEY ( id )
+) ENGINE = INNODB auto_increment = 1 COMMENT = '数据管理';
+
+-- 知识抽取任务表
+DROP TABLE
+IF
+	EXISTS t_extract_knowledge_task;
+CREATE TABLE t_extract_knowledge_task (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '编号',
+	upload_id BIGINT ( 20 ) COMMENT '上传管理id',
+	-- type VARCHAR ( 7 ) COMMENT '任务类型',
+	`name` VARCHAR ( 255 ) COMMENT '任务名称',
+    select_sub_task VARCHAR ( 255 ) COMMENT '选择需要执行的子任务',
+	`status` VARCHAR ( 7 ) COMMENT '任务状态',
+	create_by VARCHAR ( 64 ) DEFAULT '' COMMENT '创建者',
+	create_time datetime COMMENT '创建时间',
+	completed_date datetime COMMENT '完成时间',
+	update_by VARCHAR ( 64 ) DEFAULT '' COMMENT '更新者',
+	update_time datetime COMMENT '更新时间',
+PRIMARY KEY ( id )
+) ENGINE = INNODB auto_increment = 1 COMMENT = '知识抽取任务表';
+
+-- 知识抽取子任务表
+DROP TABLE
+IF
+	EXISTS t_extract_knowledge_sub_task;
+CREATE TABLE t_extract_knowledge_sub_task (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '编号',
+	task_id BIGINT ( 20 ) NOT NULL COMMENT '抽取任务id',
+	type VARCHAR ( 7 ) COMMENT '子任务类型',
+	`status` VARCHAR ( 7 ) COMMENT '任务状态',
+	log text COMMENT '日志',
+	completed_date datetime COMMENT '完成时间',
+	cost_time int  COMMENT '花费时间(s)',
+	create_by VARCHAR ( 64 ) DEFAULT '' COMMENT '创建者',
+	create_time datetime COMMENT '创建时间',
+	update_by VARCHAR ( 64 ) DEFAULT '' COMMENT '更新者',
+	update_time datetime COMMENT '更新时间',
+PRIMARY KEY ( id )
+) ENGINE = INNODB auto_increment = 1 COMMENT = '知识抽取子任务表';
+
+-- 知识抽取子任务明细表
+DROP TABLE
+IF
+	EXISTS t_extract_knowledge_sub_task_detail;
+CREATE TABLE t_extract_knowledge_sub_task_detail (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '编号',
+	sub_task_id BIGINT ( 20 ) NOT NULL COMMENT '子任务id',
+	`start` VARCHAR ( 511 ) COMMENT '起点实体',
+	relation VARCHAR ( 255 ) COMMENT '关系',
+	`end` VARCHAR ( 511 ) COMMENT '终点实体',
+	create_by VARCHAR ( 64 ) DEFAULT '' COMMENT '创建者',
+	create_time datetime COMMENT '创建时间',
+	update_by VARCHAR ( 64 ) DEFAULT '' COMMENT '更新者',
+	update_time datetime COMMENT '更新时间',
+PRIMARY KEY ( id )
+) ENGINE = INNODB auto_increment = 1 COMMENT = '知识抽取子任务明细表';
+
+
+-- 上传管理 菜单 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('上传管理', '2175', '1', 'uploadManage', 'upload/uploadManage/index', 1, 0, 'C', '0', '0', 'upload:uploadManage:list', '#', 'admin', sysdate(), '', null, '上传管理菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('上传管理查询', @parentId, '1',  '#', '', 1, 0, 'F', '0', '0', 'upload:uploadManage:query',        '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('上传管理新增', @parentId, '2',  '#', '', 1, 0, 'F', '0', '0', 'upload:uploadManage:add',          '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('上传管理修改', @parentId, '3',  '#', '', 1, 0, 'F', '0', '0', 'upload:uploadManage:edit',         '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('上传管理删除', @parentId, '4',  '#', '', 1, 0, 'F', '0', '0', 'upload:uploadManage:remove',       '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('上传管理导出', @parentId, '5',  '#', '', 1, 0, 'F', '0', '0', 'upload:uploadManage:export',       '#', 'admin', sysdate(), '', null, '');
+
+-- 数据管理 菜单 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据管理', '2175', '1', 'dataManage', 'upload/dataManage/index', 1, 0, 'C', '0', '0', 'upload:dataManage:list', '#', 'admin', sysdate(), '', null, '数据管理菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据管理查询', @parentId, '1',  '#', '', 1, 0, 'F', '0', '0', 'upload:dataManage:query',        '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据管理新增', @parentId, '2',  '#', '', 1, 0, 'F', '0', '0', 'upload:dataManage:add',          '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据管理修改', @parentId, '3',  '#', '', 1, 0, 'F', '0', '0', 'upload:dataManage:edit',         '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据管理删除', @parentId, '4',  '#', '', 1, 0, 'F', '0', '0', 'upload:dataManage:remove',       '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据管理导出', @parentId, '5',  '#', '', 1, 0, 'F', '0', '0', 'upload:dataManage:export',       '#', 'admin', sysdate(), '', null, '');
+
+-- 知识抽取任务 菜单 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取任务', '2176', '1', 'task', 'extract/task/index', 1, 0, 'C', '0', '0', 'extract:task:list', '#', 'admin', sysdate(), '', null, '知识抽取任务菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取任务查询', @parentId, '1',  '#', '', 1, 0, 'F', '0', '0', 'extract:task:query',        '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取任务新增', @parentId, '2',  '#', '', 1, 0, 'F', '0', '0', 'extract:task:add',          '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取任务修改', @parentId, '3',  '#', '', 1, 0, 'F', '0', '0', 'extract:task:edit',         '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取任务删除', @parentId, '4',  '#', '', 1, 0, 'F', '0', '0', 'extract:task:remove',       '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取任务导出', @parentId, '5',  '#', '', 1, 0, 'F', '0', '0', 'extract:task:export',       '#', 'admin', sysdate(), '', null, '');
+
+-- 知识抽取子任务 菜单 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取子任务', '2176', '1', 'subTask', 'extract/subTask/index', 1, 0, 'C', '0', '0', 'extract:subTask:list', '#', 'admin', sysdate(), '', null, '知识抽取子任务菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取子任务查询', @parentId, '1',  '#', '', 1, 0, 'F', '0', '0', 'extract:subTask:query',        '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取子任务新增', @parentId, '2',  '#', '', 1, 0, 'F', '0', '0', 'extract:subTask:add',          '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取子任务修改', @parentId, '3',  '#', '', 1, 0, 'F', '0', '0', 'extract:subTask:edit',         '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取子任务删除', @parentId, '4',  '#', '', 1, 0, 'F', '0', '0', 'extract:subTask:remove',       '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取子任务导出', @parentId, '5',  '#', '', 1, 0, 'F', '0', '0', 'extract:subTask:export',       '#', 'admin', sysdate(), '', null, '');
+
+-- 知识抽取子任务明细 菜单 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取子任务明细', '2176', '1', 'subTaskDetail', 'extract/subTaskDetail/index', 1, 0, 'C', '0', '0', 'extract:subTaskDetail:list', '#', 'admin', sysdate(), '', null, '知识抽取子任务明细菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取子任务明细查询', @parentId, '1',  '#', '', 1, 0, 'F', '0', '0', 'extract:subTaskDetail:query',        '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取子任务明细新增', @parentId, '2',  '#', '', 1, 0, 'F', '0', '0', 'extract:subTaskDetail:add',          '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取子任务明细修改', @parentId, '3',  '#', '', 1, 0, 'F', '0', '0', 'extract:subTaskDetail:edit',         '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取子任务明细删除', @parentId, '4',  '#', '', 1, 0, 'F', '0', '0', 'extract:subTaskDetail:remove',       '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('知识抽取子任务明细导出', @parentId, '5',  '#', '', 1, 0, 'F', '0', '0', 'extract:subTaskDetail:export',       '#', 'admin', sysdate(), '', null, '');
+
+-- 添加数据字典  kg_upload_type  kg_upload_template file_upload_status