Переглянути джерело

图谱的增删改查;文件的下载;修复bug。

zhangenzhi 1 рік тому
батько
коміт
2103d09a03
25 змінених файлів з 612 додано та 110 видалено
  1. 6 0
      src/main/java/com/pavis/backend/slim/common/constant/Constant.java
  2. 10 3
      src/main/java/com/pavis/backend/slim/framework/config/MinioConfig.java
  3. 1 1
      src/main/java/com/pavis/backend/slim/framework/config/SecurityConfig.java
  4. 3 0
      src/main/java/com/pavis/backend/slim/project/system/controller/SysFileController.java
  5. 41 1
      src/main/java/com/pavis/backend/slim/project/system/controller/SysKgController.java
  6. 57 1
      src/main/java/com/pavis/backend/slim/project/system/domain/SysEntity.java
  7. 43 0
      src/main/java/com/pavis/backend/slim/project/system/domain/SysKgEntity.java
  8. 44 0
      src/main/java/com/pavis/backend/slim/project/system/domain/SysKgRelation.java
  9. 32 89
      src/main/java/com/pavis/backend/slim/project/system/domain/SysRelation.java
  10. 45 0
      src/main/java/com/pavis/backend/slim/project/system/domain/front/InKgParameter.java
  11. 14 0
      src/main/java/com/pavis/backend/slim/project/system/mapper/SysKgEntityMapper.java
  12. 14 0
      src/main/java/com/pavis/backend/slim/project/system/mapper/SysKgRelationMapper.java
  13. 42 0
      src/main/java/com/pavis/backend/slim/project/system/service/SysEntityService.java
  14. 15 0
      src/main/java/com/pavis/backend/slim/project/system/service/SysKgEntityService.java
  15. 13 0
      src/main/java/com/pavis/backend/slim/project/system/service/SysKgRelationService.java
  16. 8 0
      src/main/java/com/pavis/backend/slim/project/system/service/SysKgService.java
  17. 28 0
      src/main/java/com/pavis/backend/slim/project/system/service/SysRelationService.java
  18. 53 0
      src/main/java/com/pavis/backend/slim/project/system/service/impl/SysEntityServiceImpl.java
  19. 7 8
      src/main/java/com/pavis/backend/slim/project/system/service/impl/SysFileServiceImpl.java
  20. 0 6
      src/main/java/com/pavis/backend/slim/project/system/service/impl/SysKbServiceImpl.java
  21. 24 0
      src/main/java/com/pavis/backend/slim/project/system/service/impl/SysKgEntityServiceImpl.java
  22. 19 0
      src/main/java/com/pavis/backend/slim/project/system/service/impl/SysKgRelationServiceImpl.java
  23. 59 0
      src/main/java/com/pavis/backend/slim/project/system/service/impl/SysKgServiceImpl.java
  24. 33 0
      src/main/java/com/pavis/backend/slim/project/system/service/impl/SysRelationServiceImpl.java
  25. 1 1
      src/main/resources/application-formal.yml

+ 6 - 0
src/main/java/com/pavis/backend/slim/common/constant/Constant.java

@@ -73,4 +73,10 @@ public class Constant {
      * 小文件最大大小: 5MB = 1024 * 1024 * 5
      */
     public static final long FILE_MAX_SIZE = 5242880L;
+
+    /**
+     * 海阳项目使用
+     * 小文件最大大小: 50MB = 1024 * 1024 * 50
+     */
+    public static final long FILE_ZERO_MAX_SIZE = 52428800L;
 }

+ 10 - 3
src/main/java/com/pavis/backend/slim/framework/config/MinioConfig.java

@@ -3,6 +3,7 @@ package com.pavis.backend.slim.framework.config;
 import io.minio.BucketExistsArgs;
 import io.minio.DownloadObjectArgs;
 
+import io.minio.GetObjectArgs;
 import io.minio.MinioClient;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
@@ -25,6 +26,8 @@ public class MinioConfig {
     private String accessKey;
     @Value("${minio.secretKey}")
     private String secretKey;
+    @Value("${minio.bucketName}")
+    private String bucketName;
 
     private MinioClient minioClient;
 
@@ -77,9 +80,13 @@ public class MinioConfig {
         downloadPath += originalName;
         minioClient.downloadObject(
                 DownloadObjectArgs.builder()
-                        .bucket(bucketName) //指定是在哪一个桶下载
-                        .object(objectName)//是minio中文件存储的名字;本地上传的文件是user.xlsx到minio中存储的是user-minio,那么这里就是user-minio
-                        .filename(downloadPath)//需要下载到本地的路径,一定是带上保存的文件名;如 d:\\minio\\user.xlsx
+                        //指定是在哪一个桶下载
+                        .bucket(bucketName)
+                        //是minio中文件存储的名字;本地上传的文件是user.xlsx到minio中存储的是user-minio,那么这里就是user-minio
+                        .object(objectName)
+                        //需要下载到本地的路径,一定是带上保存的文件名;如 d:\\minio\\user.xlsx
+                        .filename(downloadPath)
                         .build());
     }
+
 }

+ 1 - 1
src/main/java/com/pavis/backend/slim/framework/config/SecurityConfig.java

@@ -123,7 +123,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
                 .authorizeRequests()
                 // 对于登录login 注册register 验证码captchaImage 允许匿名访问
                 .antMatchers("/login", "/register","/kg/createKg","/kg/algorithm"
-                ,"/office/online","/office/save").permitAll()
+                ,"/down","/preview").permitAll()
                 // 静态资源,可匿名访问
                 .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
                 .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()

+ 3 - 0
src/main/java/com/pavis/backend/slim/project/system/controller/SysFileController.java

@@ -101,8 +101,11 @@ public class SysFileController {
     /**
      * 文件下载,通过路径直接下载到本地
      *
+     * @param objectName 文件在oss中的key值
+     * @param name minIo中的名字
      * @throws Exception
      */
+    @ApiOperation("下载文件接口")
     @GetMapping("/down")
     public AjaxResult downloadPath(@RequestParam("objectName")String objectName,@RequestParam("originalName")String name ) throws Exception {
         MinioClient client = minioFileUtil.client();

+ 41 - 1
src/main/java/com/pavis/backend/slim/project/system/controller/SysKgController.java

@@ -1,15 +1,20 @@
 package com.pavis.backend.slim.project.system.controller;
 
 import com.pavis.backend.slim.framework.web.domain.AjaxResult;
+import com.pavis.backend.slim.project.system.domain.SysEntity;
+import com.pavis.backend.slim.project.system.domain.SysFile;
 import com.pavis.backend.slim.project.system.domain.SysKg;
 import com.pavis.backend.slim.project.system.domain.algorithm.AlgSpO;
+import com.pavis.backend.slim.project.system.domain.front.InKgParameter;
 import com.pavis.backend.slim.project.system.domain.front.KgReturn;
+import com.pavis.backend.slim.project.system.service.SysEntityService;
 import com.pavis.backend.slim.project.system.service.SysKgService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiOperation;
+import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -31,6 +36,8 @@ import java.util.List;
 public class SysKgController {
     @Autowired
     private SysKgService kgService;
+    @Autowired
+    private SysEntityService entityService;
 
     /**
      * 创建图谱
@@ -69,6 +76,7 @@ public class SysKgController {
 
     /**
      * 接收算法返回数据接口
+     *
      * @param algSpO 算法返回数据的结构
      * @return
      */
@@ -87,9 +95,41 @@ public class SysKgController {
     }
 
     @ApiOperation("返回生成图谱数据")
-    @ApiImplicitParam(name = "kgId",value = "图谱id")
+    @ApiImplicitParam(name = "kgId", value = "图谱id")
     @GetMapping("/kgTreeReturn")
     public AjaxResult kgTreeReturn(@RequestParam("kgId") String kgId) {
         return AjaxResult.success(kgService.kgTreeReturn(kgId));
     }
+
+    @ApiOperation("实体创建")
+    @PostMapping("/entityIns")
+    public AjaxResult entityIns(@RequestBody SysEntity sysEntity) {
+        return AjaxResult.success(entityService.entityIns(sysEntity));
+    }
+
+    @ApiOperation("实体查询")
+    @PostMapping("/entitySel")
+    public AjaxResult entitySel(@RequestBody SysEntity sysEntity) {
+        return AjaxResult.success(entityService.entitySel(sysEntity));
+    }
+
+    @ApiOperation("实体更新")
+    @PostMapping("/entityUpdate")
+    public AjaxResult entityUpdate(@RequestBody SysEntity sysEntity) {
+        return AjaxResult.success(entityService.entityUpdate(sysEntity));
+    }
+
+    @ApiOperation("实体删除")
+    @ApiImplicitParam(name = "entityId", value = "实体id")
+    @GetMapping("/entityDel")
+    public AjaxResult entityDel(@RequestParam String entityId) {
+        entityService.entityDel(entityId);
+        return AjaxResult.success();
+    }
+
+    @ApiOperation("实体,实体关系创建")
+    @PostMapping("/createEntityKg")
+    public AjaxResult createEntityKg(@RequestBody InKgParameter inKgParameter){
+        return AjaxResult.success(kgService.createEntityKg(inKgParameter));
+    }
 }

+ 57 - 1
src/main/java/com/pavis/backend/slim/project/system/domain/SysEntity.java

@@ -1,6 +1,11 @@
 package com.pavis.backend.slim.project.system.domain;
 
+import com.alibaba.fastjson2.JSON;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.pavis.backend.slim.framework.web.domain.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import springfox.documentation.spring.web.json.Json;
 
 /**
  * 图谱实体表
@@ -14,33 +19,84 @@ public class SysEntity extends BaseEntity {
     /**
      * 实体ID
      */
+    @ApiModelProperty("图谱实体id")
+    // @TableId(value = "entity_id",type = IdType.ASSIGN_UUID)
     private String entityId;
     /**
      * 图谱ID
      */
+    @ApiModelProperty("图谱ID")
     private String kgId;
     /**
      * 用户ID
      */
+    @ApiModelProperty("用户ID")
     private Long userId;
     /**
      * 实体名称
      */
+    @ApiModelProperty("实体名称")
     private String name;
     /**
      * 实体别称
      */
+    @ApiModelProperty("实体别称")
     private String nickName;
     /**
      * 实体简介
      */
+    @ApiModelProperty("实体简介")
     private String profile;
     /**
      * 实体类型
      */
+    @ApiModelProperty("实体类型")
     private String type;
+    /**
+     * 实体样式
+     */
+    @ApiModelProperty("实体样式")
+    private String styleEntity;
+    /**
+     * 属性
+     */
+    @ApiModelProperty("属性")
+    private JSON attribute;
+
+    /**
+     * 前端需要——无需更改
+     */
+    @ApiModelProperty("前端需要——无需更改")
+    private Integer frontTime;
+
+    public Integer getFrontTime() {
+        return frontTime;
+    }
+
+    public void setFrontTime(Integer frontTime) {
+        this.frontTime = frontTime;
+    }
+
+    /**
+     *   以下为getter和setter方法
+     */
+
+    public String getStyleEntity() {
+        return styleEntity;
+    }
+
+    public void setStyleEntity(String styleEntity) {
+        this.styleEntity = styleEntity;
+    }
+
+    public JSON getAttribute() {
+        return attribute;
+    }
+
+    public void setAttribute(JSON attribute) {
+        this.attribute = attribute;
+    }
 
-    // 以下为getter和setter方法
     public String getEntityId() {
         return entityId;
     }

+ 43 - 0
src/main/java/com/pavis/backend/slim/project/system/domain/SysKgEntity.java

@@ -0,0 +1,43 @@
+package com.pavis.backend.slim.project.system.domain;
+
+import com.alibaba.fastjson2.JSON;
+import com.pavis.backend.slim.framework.web.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * @author enen
+ */
+@Data
+public class SysKgEntity extends BaseEntity {
+    /**
+     * 图谱展示id
+     */
+    private Integer id;
+    /**
+     * 前端用,不要改
+     */
+    private String frontTime;
+    /**
+     * 名字
+     */
+    private String label;
+    /**
+     * 大小
+     */
+    private Double size;
+    /**
+     * 样式
+     */
+    private JSON style;
+
+    /**
+     * 图谱id
+     */
+    private String kgId;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+}

+ 44 - 0
src/main/java/com/pavis/backend/slim/project/system/domain/SysKgRelation.java

@@ -0,0 +1,44 @@
+package com.pavis.backend.slim.project.system.domain;
+
+import com.alibaba.fastjson2.JSON;
+import com.pavis.backend.slim.framework.web.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author enen
+ */
+@Data
+public class SysKgRelation extends BaseEntity {
+    /**
+     * 图谱展示id
+     */
+    @ApiModelProperty("图谱展示id")
+    private Integer id;
+    /**
+     * 名字
+     */
+    private String label;
+    /**
+     * 起始id
+     */
+    private String source;
+    /**
+     * 样式
+     */
+    private JSON style;
+    /**
+     * 终点id
+     */
+    private String target;
+    /**
+     * 图谱id
+     */
+    private String kgId;
+    /**
+     * 用户id
+     */
+    private Long userId;
+
+}

+ 32 - 89
src/main/java/com/pavis/backend/slim/project/system/domain/SysRelation.java

@@ -1,156 +1,99 @@
 package com.pavis.backend.slim.project.system.domain;
 
+import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.pavis.backend.slim.framework.web.domain.BaseEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 /**
  * @author semi
  * @create 2023-06-07 13:22
  */
+@Data
 public class SysRelation extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
     /**
      * 关系ID
      */
+    @ApiModelProperty("关系ID")
+    @TableId(type = IdType.ASSIGN_UUID)
     private String relationId;
 
     /**
      * 图谱ID
      */
+    @ApiModelProperty("图谱ID")
     private String kgId;
 
     /**
      * 用户ID
      */
+    @ApiModelProperty("用户ID")
     private Long userId;
 
     /**
      * 类目/起始点类型
      */
+    @ApiModelProperty("类目/起始点类型")
     private String start;
 
     /**
      * 起始点id
      */
+    @ApiModelProperty("起始点id")
     private String startId;
 
     /**
      * 属性/关系
      */
+    @ApiModelProperty("属性/关系")
     private String relation;
 
     /**
      * 值类型/终止点类型
      */
+    @ApiModelProperty("值类型/终止点类型")
     private String end;
 
     /**
      * 终止点id
      */
+    @ApiModelProperty("终止点id")
     private String endId;
 
     /**
      * 枚举集合/数值单位
      */
+    @ApiModelProperty("枚举集合/数值单位")
     private String valueUnit;
 
     /**
      * 单多值
      */
+    @ApiModelProperty("单多值")
     private String valueType;
 
     /**
      * 默认值
      */
+    @ApiModelProperty("默认值")
     private String defaultValue;
-
-    public String getRelationId() {
-        return relationId;
-    }
-
-    public void setRelationId(String relationId) {
-        this.relationId = relationId;
-    }
-
-    public String getKgId() {
-        return kgId;
-    }
-
-    public void setKgId(String kgId) {
-        this.kgId = kgId;
-    }
-
-    public Long getUserId() {
-        return userId;
-    }
-
-    public void setUserId(Long userId) {
-        this.userId = userId;
-    }
-
-    public String getStart() {
-        return start;
-    }
-
-    public void setStart(String start) {
-        this.start = start;
-    }
-
-    public String getStartId() {
-        return startId;
-    }
-
-    public void setStartId(String startId) {
-        this.startId = startId;
-    }
-
-    public String getRelation() {
-        return relation;
-    }
-
-    public void setRelation(String relation) {
-        this.relation = relation;
-    }
-
-    public String getEnd() {
-        return end;
-    }
-
-    public void setEnd(String end) {
-        this.end = end;
-    }
-
-    public String getEndId() {
-        return endId;
-    }
-
-    public void setEndId(String endId) {
-        this.endId = endId;
-    }
-
-    public String getValueUnit() {
-        return valueUnit;
-    }
-
-    public void setValueUnit(String valueUnit) {
-        this.valueUnit = valueUnit;
-    }
-
-    public String getValueType() {
-        return valueType;
-    }
-
-    public void setValueType(String valueType) {
-        this.valueType = valueType;
-    }
-
-    public String getDefaultValue() {
-        return defaultValue;
-    }
-
-    public void setDefaultValue(String defaultValue) {
-        this.defaultValue = defaultValue;
-    }
-}
+    /**
+     * 实体样式
+     */
+    @ApiModelProperty("样式")
+    private String styleEntity;
+    /**
+     * 本身属性
+     */
+    @ApiModelProperty("本身属性")
+    private JSON attribute;
+    /**
+     * 方向
+     */
+    @ApiModelProperty("方向")
+    private String direction;
+}

+ 45 - 0
src/main/java/com/pavis/backend/slim/project/system/domain/front/InKgParameter.java

@@ -0,0 +1,45 @@
+package com.pavis.backend.slim.project.system.domain.front;
+
+import com.pavis.backend.slim.project.system.domain.SysEntity;
+import com.pavis.backend.slim.project.system.domain.SysKgEntity;
+import com.pavis.backend.slim.project.system.domain.SysKgRelation;
+import com.pavis.backend.slim.project.system.domain.SysRelation;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author enen
+ */
+@Data
+public class InKgParameter {
+    /**
+     * 图谱id
+     */
+    @ApiModelProperty("图谱id")
+    private String kgId;
+    /**
+     * 图谱实体集合
+     */
+    @ApiModelProperty("图谱实体集合")
+    private List<SysEntity> entityList;
+
+    /**
+     * 图谱实体展示集合
+     */
+    @ApiModelProperty("图谱实体展示集合")
+    private List<SysKgEntity> entityKgList;
+
+    /**
+     * 图谱实体关系集合
+     */
+    @ApiModelProperty("图谱实体关系集合")
+    private List<SysRelation> relationList;
+
+    /**
+     * 图谱实体关系展示集合
+     */
+    @ApiModelProperty("图谱实体关系展示集合")
+    private List<SysKgRelation> relationKgList;
+}

+ 14 - 0
src/main/java/com/pavis/backend/slim/project/system/mapper/SysKgEntityMapper.java

@@ -0,0 +1,14 @@
+package com.pavis.backend.slim.project.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.pavis.backend.slim.project.system.domain.SysKgEntity;
+import com.pavis.backend.slim.project.system.domain.SysKgRelation;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author semi
+ * @create 2023-06-07 13:29
+ */
+@Mapper
+public interface SysKgEntityMapper extends BaseMapper<SysKgEntity> {
+}

+ 14 - 0
src/main/java/com/pavis/backend/slim/project/system/mapper/SysKgRelationMapper.java

@@ -0,0 +1,14 @@
+package com.pavis.backend.slim.project.system.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.pavis.backend.slim.project.system.domain.SysKgRelation;
+import com.pavis.backend.slim.project.system.domain.SysRelation;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author semi
+ * @create 2023-06-07 13:29
+ */
+@Mapper
+public interface SysKgRelationMapper extends BaseMapper<SysKgRelation> {
+}

+ 42 - 0
src/main/java/com/pavis/backend/slim/project/system/service/SysEntityService.java

@@ -0,0 +1,42 @@
+package com.pavis.backend.slim.project.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.pavis.backend.slim.project.system.domain.SysEntity;
+import com.pavis.backend.slim.project.system.domain.SysRelation;
+
+import java.util.List;
+
+/**
+ * @author semi
+ * @create 2023-06-07 13:30
+ */
+public interface SysEntityService extends IService<SysEntity> {
+
+    /**
+     * 插入实体
+     *
+     * @param entity 实体详情
+     * @return 实体详情
+     */
+    SysEntity entityIns(SysEntity entity);
+
+    /**
+     * 获取实体列表
+     * @param entity 实体详情
+     * @return 实体集合
+     */
+    List<SysEntity> entitySel(SysEntity entity);
+
+    /**
+     * 更新实体
+     * @param entity 实体详情
+     * @return 实体详情
+     */
+    SysEntity entityUpdate(SysEntity entity);
+
+    /**
+     * 删除实体
+     * @param entityId 实体id
+     */
+    void entityDel(String entityId);
+}

+ 15 - 0
src/main/java/com/pavis/backend/slim/project/system/service/SysKgEntityService.java

@@ -0,0 +1,15 @@
+package com.pavis.backend.slim.project.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.pavis.backend.slim.project.system.domain.SysEntity;
+import com.pavis.backend.slim.project.system.domain.SysKgEntity;
+
+import java.util.List;
+
+/**
+ * @author semi
+ * @create 2023-06-07 13:30
+ */
+public interface SysKgEntityService extends IService<SysKgEntity> {
+
+}

+ 13 - 0
src/main/java/com/pavis/backend/slim/project/system/service/SysKgRelationService.java

@@ -0,0 +1,13 @@
+package com.pavis.backend.slim.project.system.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.pavis.backend.slim.project.system.domain.SysKgEntity;
+import com.pavis.backend.slim.project.system.domain.SysKgRelation;
+
+/**
+ * @author semi
+ * @create 2023-06-07 13:30
+ */
+public interface SysKgRelationService extends IService<SysKgRelation> {
+
+}

+ 8 - 0
src/main/java/com/pavis/backend/slim/project/system/service/SysKgService.java

@@ -3,6 +3,7 @@ package com.pavis.backend.slim.project.system.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.pavis.backend.slim.project.system.domain.SysKg;
 import com.pavis.backend.slim.project.system.domain.algorithm.AlgSpO;
+import com.pavis.backend.slim.project.system.domain.front.InKgParameter;
 import com.pavis.backend.slim.project.system.domain.front.KgReturn;
 
 import java.util.List;
@@ -48,4 +49,11 @@ public interface SysKgService extends IService<SysKg> {
      * @return
      */
     KgReturn kgTreeReturn(String kgId);
+
+    /**
+     * 实体,实体关系创建接口
+     * @param inKgParameter 前端传参数据
+     * @return 前端所需要的返参数据
+     */
+    InKgParameter createEntityKg(InKgParameter inKgParameter);
 }

+ 28 - 0
src/main/java/com/pavis/backend/slim/project/system/service/SysRelationService.java

@@ -4,9 +4,37 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.pavis.backend.slim.project.system.domain.SysEntityRelation;
 import com.pavis.backend.slim.project.system.domain.SysRelation;
 
+import java.util.List;
+
 /**
  * @author semi
  * @create 2023-06-07 13:30
  */
 public interface SysRelationService extends IService<SysRelation> {
+    /**
+     * 插入实体关系
+     * @param sysRelation 实体关系详情
+     * @return 实体关系详情
+     */
+    SysRelation relationInsert(SysRelation sysRelation);
+
+    /**
+     * 获取实体关系列表
+     * @param sysRelation 实体关系详情
+     * @return 实体关系列表
+     */
+    List<SysRelation> relationList(SysRelation sysRelation);
+
+    /**
+     * 更新实体关系
+     * @param sysRelation 实体关系详情
+     * @return 实体关系详情
+     */
+    SysRelation relationUptate(SysRelation sysRelation);
+
+    /**
+     * 删除实体关系
+     * @param relationId 实体关系ID
+     */
+    void ratationDel(String relationId);
 }

+ 53 - 0
src/main/java/com/pavis/backend/slim/project/system/service/impl/SysEntityServiceImpl.java

@@ -0,0 +1,53 @@
+package com.pavis.backend.slim.project.system.service.impl;
+
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.pavis.backend.slim.common.utils.SecurityUtils;
+import com.pavis.backend.slim.project.system.domain.SysEntity;
+import com.pavis.backend.slim.project.system.mapper.SysEntityMapper;
+import com.pavis.backend.slim.project.system.service.SysEntityService;
+import org.apache.catalina.security.SecurityUtil;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author semi
+ * @create 2023-06-07 13:31
+ */
+@Service
+public class SysEntityServiceImpl extends ServiceImpl<SysEntityMapper, SysEntity> implements SysEntityService {
+
+
+    @Override
+    public SysEntity entityIns(SysEntity entity) {
+        //获取当前用户并插入到图谱实体中
+        entity.setUserId(SecurityUtils.getUserId());
+        //获取创建时间
+        entity.setCreateTime(DateUtil.date());
+        //获取创建者
+        entity.setUpdateBy(SecurityUtils.getUsername());
+        baseMapper.insert(entity);
+        return entity;
+    }
+
+    @Override
+    public List<SysEntity> entitySel(SysEntity entity) {
+        List<SysEntity> list = baseMapper.selectList(new QueryWrapper<SysEntity>());
+        return list;
+    }
+
+    @Override
+    public SysEntity entityUpdate(SysEntity entity) {
+        baseMapper.updateById(entity);
+        return entity;
+    }
+
+    @Override
+    public void entityDel(String entityId) {
+        baseMapper.deleteById(entityId);
+    }
+}

+ 7 - 8
src/main/java/com/pavis/backend/slim/project/system/service/impl/SysFileServiceImpl.java

@@ -4,30 +4,24 @@ import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.crypto.digest.MD5;
 import com.alibaba.fastjson2.JSON;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.pavis.backend.slim.common.constant.Constant;
 import com.pavis.backend.slim.common.exception.ServiceException;
 import com.pavis.backend.slim.common.utils.FileUtils;
 import com.pavis.backend.slim.common.utils.SecurityUtils;
 import com.pavis.backend.slim.framework.minio.MinioStorage;
-import io.minio.MinioClient;
 import com.pavis.backend.slim.project.system.domain.SysFile;
 import com.pavis.backend.slim.project.system.domain.vo.TreeFile;
 import com.pavis.backend.slim.project.system.mapper.SysFileMapper;
 import com.pavis.backend.slim.project.system.service.SysFileService;
-import io.minio.errors.MinioException;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
-import java.nio.file.Files;
-import java.nio.file.Paths;
 import java.security.InvalidKeyException;
 import java.security.NoSuchAlgorithmException;
 import java.util.*;
@@ -79,8 +73,13 @@ public class SysFileServiceImpl extends ServiceImpl<SysFileMapper, SysFile> impl
             if (StringUtils.isEmpty(originalName)) {
                 throw new ServiceException("上传文件名不能为空!");
             }
-            if (file.getSize() > Constant.FILE_MAX_SIZE) {
-                throw new ServiceException("文件过大,小文件上传最大支持5M!");
+            // if (file.getSize() > Constant.FILE_MAX_SIZE) {
+            //     throw new ServiceException("文件过大,小文件上传最大支持5M!");
+            // }
+
+            //海阳项目那边需要这样限制,最大支持50M
+            if (file.getSize() > Constant.FILE_ZERO_MAX_SIZE) {
+                throw new ServiceException("文件过大,小文件上传最大支持50M!");
             }
             // 获取上传文件原文件名称
             sysFile.setOriginalName(originalName);

+ 0 - 6
src/main/java/com/pavis/backend/slim/project/system/service/impl/SysKbServiceImpl.java

@@ -4,11 +4,9 @@ import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
-import com.pavis.backend.slim.common.constant.Hodgepodge;
 import com.pavis.backend.slim.common.utils.SecurityUtils;
 import com.pavis.backend.slim.framework.config.MinioConfig;
 import com.pavis.backend.slim.project.system.domain.SysFile;
@@ -26,8 +24,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StreamUtils;
-import org.springframework.web.multipart.MultipartFile;
-
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.ByteArrayOutputStream;
@@ -36,10 +32,8 @@ import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.PrintWriter;
 import java.net.URL;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;

+ 24 - 0
src/main/java/com/pavis/backend/slim/project/system/service/impl/SysKgEntityServiceImpl.java

@@ -0,0 +1,24 @@
+package com.pavis.backend.slim.project.system.service.impl;
+
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.pavis.backend.slim.common.utils.SecurityUtils;
+import com.pavis.backend.slim.project.system.domain.SysEntity;
+import com.pavis.backend.slim.project.system.domain.SysKgEntity;
+import com.pavis.backend.slim.project.system.mapper.SysEntityMapper;
+import com.pavis.backend.slim.project.system.mapper.SysKgEntityMapper;
+import com.pavis.backend.slim.project.system.service.SysEntityService;
+import com.pavis.backend.slim.project.system.service.SysKgEntityService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author semi
+ * @create 2023-06-07 13:31
+ */
+@Service
+public class SysKgEntityServiceImpl extends ServiceImpl<SysKgEntityMapper, SysKgEntity> implements SysKgEntityService {
+
+}

+ 19 - 0
src/main/java/com/pavis/backend/slim/project/system/service/impl/SysKgRelationServiceImpl.java

@@ -0,0 +1,19 @@
+package com.pavis.backend.slim.project.system.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.pavis.backend.slim.project.system.domain.SysKgEntity;
+import com.pavis.backend.slim.project.system.domain.SysKgRelation;
+import com.pavis.backend.slim.project.system.mapper.SysKgEntityMapper;
+import com.pavis.backend.slim.project.system.mapper.SysKgRelationMapper;
+import com.pavis.backend.slim.project.system.service.SysKgEntityService;
+import com.pavis.backend.slim.project.system.service.SysKgRelationService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author semi
+ * @create 2023-06-07 13:31
+ */
+@Service
+public class SysKgRelationServiceImpl extends ServiceImpl<SysKgRelationMapper, SysKgRelation> implements SysKgRelationService {
+
+}

+ 59 - 0
src/main/java/com/pavis/backend/slim/project/system/service/impl/SysKgServiceImpl.java

@@ -8,23 +8,34 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.pavis.backend.slim.common.constant.Hodgepodge;
 import com.pavis.backend.slim.common.utils.SecurityUtils;
 import com.pavis.backend.slim.project.system.client.HttpClientUtil;
+import com.pavis.backend.slim.project.system.domain.SysEntity;
 import com.pavis.backend.slim.project.system.domain.SysEntityInstance;
 import com.pavis.backend.slim.project.system.domain.SysEntityRelation;
 import com.pavis.backend.slim.project.system.domain.SysFile;
 import com.pavis.backend.slim.project.system.domain.SysKb;
 import com.pavis.backend.slim.project.system.domain.SysKg;
+import com.pavis.backend.slim.project.system.domain.SysKgEntity;
+import com.pavis.backend.slim.project.system.domain.SysKgRelation;
+import com.pavis.backend.slim.project.system.domain.SysRelation;
 import com.pavis.backend.slim.project.system.domain.algorithm.AlgSpO;
+import com.pavis.backend.slim.project.system.domain.front.InKgParameter;
 import com.pavis.backend.slim.project.system.domain.front.KgReturn;
 import com.pavis.backend.slim.project.system.domain.front.instance.KgInstance;
 import com.pavis.backend.slim.project.system.domain.front.relation.KgRelation;
 import com.pavis.backend.slim.project.system.domain.vo.TreeFile;
 import com.pavis.backend.slim.project.system.mapper.SysEntityInstanceMapper;
+import com.pavis.backend.slim.project.system.mapper.SysEntityMapper;
 import com.pavis.backend.slim.project.system.mapper.SysEntityRelationMapper;
 import com.pavis.backend.slim.project.system.mapper.SysFileMapper;
 import com.pavis.backend.slim.project.system.mapper.SysKbMapper;
+import com.pavis.backend.slim.project.system.mapper.SysKgEntityMapper;
 import com.pavis.backend.slim.project.system.mapper.SysKgMapper;
+import com.pavis.backend.slim.project.system.mapper.SysKgRelationMapper;
+import com.pavis.backend.slim.project.system.mapper.SysRelationMapper;
+import com.pavis.backend.slim.project.system.service.SysEntityService;
 import com.pavis.backend.slim.project.system.service.SysFileService;
 import com.pavis.backend.slim.project.system.service.SysKgService;
+import com.pavis.backend.slim.project.system.service.SysRelationService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -58,6 +69,23 @@ public class SysKgServiceImpl extends ServiceImpl<SysKgMapper, SysKg> implements
     @Autowired
     private SysEntityInstanceMapper sysEntityInstanceMapper;
 
+    @Autowired
+    private SysEntityService sysEntityService;
+
+    @Autowired
+    private SysEntityMapper sysEntityMapper;
+
+    @Autowired
+    private SysRelationMapper sysRelationMapper;
+
+    @Autowired
+    private SysRelationService sysRelationService;
+
+    @Autowired
+    private SysKgEntityMapper sysKgEntityMapper;
+
+    @Autowired
+    private SysKgRelationMapper sysKgRelationMapper;
 
     @Value("${algorithm.creat.url}")
     private String url;
@@ -290,4 +318,35 @@ public class SysKgServiceImpl extends ServiceImpl<SysKgMapper, SysKg> implements
         }
         return kgReturn;
     }
+
+    @Override
+    public InKgParameter createEntityKg(InKgParameter inKgParameter) {
+        // 获取登录用户id
+        long userId = SecurityUtils.getUserId();
+        // 将实例存入数据库
+        for (SysEntity sysEntity : inKgParameter.getEntityList()) {
+            sysEntity.setKgId(inKgParameter.getKgId());
+            sysEntity.setUserId(userId);
+            sysEntityMapper.insert(sysEntity);
+        }
+        // 将图谱实体展示插入数据库
+        for (SysKgEntity sysKgEntity : inKgParameter.getEntityKgList()) {
+            sysKgEntity.setKgId(inKgParameter.getKgId());
+            sysKgEntity.setUserId(userId);
+            sysKgEntityMapper.insert(sysKgEntity);
+        }
+        // 将实体关系插入数据库
+        for (SysRelation sysRelation : inKgParameter.getRelationList()) {
+            sysRelation.setKgId(inKgParameter.getKgId());
+            sysRelation.setUserId(userId);
+            sysRelationMapper.insert(sysRelation);
+        }
+        // 将实体关系展示插入数据库
+        for (SysKgRelation sysKgRelation : inKgParameter.getRelationKgList()) {
+            sysKgRelation.setKgId(inKgParameter.getKgId());
+            sysKgRelation.setUserId(userId);
+            sysKgRelationMapper.insert(sysKgRelation);
+        }
+        return inKgParameter;
+    }
 }

+ 33 - 0
src/main/java/com/pavis/backend/slim/project/system/service/impl/SysRelationServiceImpl.java

@@ -1,6 +1,10 @@
 package com.pavis.backend.slim.project.system.service.impl;
 
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.pavis.backend.slim.common.utils.SecurityUtils;
 import com.pavis.backend.slim.project.system.domain.SysEntityRelation;
 import com.pavis.backend.slim.project.system.domain.SysRelation;
 import com.pavis.backend.slim.project.system.mapper.SysEntityRelationMapper;
@@ -9,10 +13,39 @@ import com.pavis.backend.slim.project.system.service.SysEntityRelationService;
 import com.pavis.backend.slim.project.system.service.SysRelationService;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * @author semi
  * @create 2023-06-07 13:31
  */
 @Service
 public class SysRelationServiceImpl extends ServiceImpl<SysRelationMapper, SysRelation> implements SysRelationService {
+
+    @Override
+    public SysRelation relationInsert(SysRelation sysRelation) {
+        //获取当前用户并插入到实体关系中
+        sysRelation.setUserId(SecurityUtils.getUserId());
+        sysRelation.setCreateTime(DateUtil.date());
+        sysRelation.setCreateBy(SecurityUtils.getUsername());
+        baseMapper.insert(sysRelation);
+        return sysRelation;
+    }
+
+    @Override
+    public List<SysRelation> relationList(SysRelation sysRelation) {
+        List<SysRelation> list = baseMapper.selectList(new QueryWrapper<SysRelation>());
+        return list;
+    }
+
+    @Override
+    public SysRelation relationUptate(SysRelation sysRelation) {
+        baseMapper.updateById(sysRelation);
+        return sysRelation;
+    }
+
+    @Override
+    public void ratationDel(String relationId) {
+        baseMapper.deleteById(relationId);
+    }
 }

+ 1 - 1
src/main/resources/application-formal.yml

@@ -18,7 +18,7 @@ minio:
 #  #Secret key密码
 #  secretKey: ZfmZgtZO4g1L8iMmVB8DeARCSdyxzI8G
 
-  url: http://172.23.11.26:9000
+  url: http://172.23.11.26:9000/
   #Access key账户
   accessKey: fG2cm5LfIo41mXUqfYKt
   #Secret key密码