Sfoglia il codice sorgente

实体实例创建,临时提交

zhangenzhi 1 anno fa
parent
commit
4a10a5fd4b

+ 11 - 3
src/main/java/com/pavis/backend/slim/project/system/controller/SysKgController.java

@@ -2,6 +2,7 @@ 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.SysEntityAll;
 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;
@@ -127,9 +128,16 @@ public class SysKgController {
         return AjaxResult.success();
     }
 
-    @ApiOperation("实体,实体关系创建")
+
+    @ApiOperation("实体,实体关系创建(前段所传纹丝不动保存)")
     @PostMapping("/createEntityKg")
-    public AjaxResult createEntityKg(@RequestBody InKgParameter inKgParameter){
-        return AjaxResult.success(kgService.createEntityKg(inKgParameter));
+    public AjaxResult createEntityKg(@RequestBody SysEntityAll sysEntityAll) {
+        return AjaxResult.success(kgService.createEntityKg(sysEntityAll));
+    }
+
+    @ApiOperation("实体,实体关系查询")
+    @GetMapping("/selEntityAll")
+    public AjaxResult selEntityAll(@RequestParam String kgId) {
+        return AjaxResult.success(kgService.selEntityAll(kgId));
     }
 }

+ 18 - 4
src/main/java/com/pavis/backend/slim/project/system/domain/SysEntity.java

@@ -20,7 +20,7 @@ public class SysEntity extends BaseEntity {
      * 实体ID
      */
     @ApiModelProperty("图谱实体id")
-    // @TableId(value = "entity_id",type = IdType.ASSIGN_UUID)
+    @TableId(value = "entity_id",type = IdType.ASSIGN_UUID)
     private String entityId;
     /**
      * 图谱ID
@@ -63,12 +63,23 @@ public class SysEntity extends BaseEntity {
     @ApiModelProperty("属性")
     private JSON attribute;
 
+    /**
+     * 颜色
+     */
+    @ApiModelProperty("颜色")
+    private String color;
+
     /**
      * 前端需要——无需更改
      */
     @ApiModelProperty("前端需要——无需更改")
     private Integer frontTime;
 
+
+    /**
+     *   以下为getter和setter方法
+     */
+
     public Integer getFrontTime() {
         return frontTime;
     }
@@ -76,10 +87,13 @@ public class SysEntity extends BaseEntity {
     public void setFrontTime(Integer frontTime) {
         this.frontTime = frontTime;
     }
+    public String getColor() {
+        return color;
+    }
 
-    /**
-     *   以下为getter和setter方法
-     */
+    public void setColor(String color) {
+        this.color = color;
+    }
 
     public String getStyleEntity() {
         return styleEntity;

+ 59 - 0
src/main/java/com/pavis/backend/slim/project/system/domain/SysEntityAll.java

@@ -0,0 +1,59 @@
+package com.pavis.backend.slim.project.system.domain;
+
+import com.alibaba.fastjson2.JSON;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+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-01 10:45
+ */
+@Data
+public class SysEntityAll extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+    /**
+     * 主键id
+     */
+    @ApiModelProperty("主键id")
+    @TableId(value = "entity_all_id",type = IdType.ASSIGN_UUID)
+    private String entityAllId;
+    /**
+     * 图谱ID
+     */
+    @ApiModelProperty("图谱ID")
+    private String kgId;
+    /**
+     * 图谱实体集合
+     */
+    @ApiModelProperty("图谱实体集合(不动)")
+    private String entityAll;
+    /**
+     * 图谱实体展示集合
+     */
+    @ApiModelProperty("图谱实体展示集合(修改)")
+    private String entityKgAll;
+    /**
+     * 实体关系集合
+     */
+    @ApiModelProperty("实体关系集合")
+    private String relationAll;
+    /**
+     * 实体关系展示集合
+     */
+    @ApiModelProperty("实体关系展示集合")
+    private String relationKgAll;
+
+    /**
+     * 实体id
+     */
+    @TableField(exist = false)
+    private String sysEntity;
+
+}

+ 14 - 0
src/main/java/com/pavis/backend/slim/project/system/mapper/SysEntityAllMapper.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.SysEntity;
+import com.pavis.backend.slim.project.system.domain.SysEntityAll;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author semi
+ * @create 2023-06-01 11:19
+ */
+@Mapper
+public interface SysEntityAllMapper extends BaseMapper<SysEntityAll> {
+}

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

@@ -1,6 +1,7 @@
 package com.pavis.backend.slim.project.system.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.pavis.backend.slim.project.system.domain.SysEntityAll;
 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;
@@ -56,4 +57,19 @@ public interface SysKgService extends IService<SysKg> {
      * @return 前端所需要的返参数据
      */
     InKgParameter createEntityKg(InKgParameter inKgParameter);
+
+    /**
+     * 实体,实体关系创建时,将前端所有数据纹丝不动的全部保存到数据库中 -->sys_entity_all
+     * @param sysEntityAll 前端传参数据
+     * @return 前端所需要的返参数据
+     */
+    public SysEntityAll createEntityKg(SysEntityAll sysEntityAll);
+
+
+    /**
+     * 查询实体,实体关系数据,数据库中表 -->sys_entity_all
+     * @param kgId 图谱id
+     * @return 实体实例关系的数据集合
+     */
+    public List<SysEntityAll> selEntityAll(String kgId);
 }

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

@@ -3,12 +3,14 @@ package com.pavis.backend.slim.project.system.service.impl;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.crypto.digest.MD5;
 import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 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.SysEntityAll;
 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;
@@ -23,6 +25,7 @@ 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.SysEntityAllMapper;
 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;
@@ -40,8 +43,10 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import springfox.documentation.spring.web.json.Json;
 
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -87,6 +92,8 @@ public class SysKgServiceImpl extends ServiceImpl<SysKgMapper, SysKg> implements
     @Autowired
     private SysKgRelationMapper sysKgRelationMapper;
 
+    @Autowired
+    private SysEntityAllMapper sysEntityAllMapper;
     @Value("${algorithm.creat.url}")
     private String url;
 
@@ -349,4 +356,45 @@ public class SysKgServiceImpl extends ServiceImpl<SysKgMapper, SysKg> implements
         }
         return inKgParameter;
     }
+
+    @Override
+    public SysEntityAll createEntityKg(SysEntityAll sysEntityAll) {
+        // zez 获取登录用户id
+        long userId = SecurityUtils.getUserId();
+        // zez 如果主键id -->EntityAllId 是null或是空 则新增,否则 根据主键进行更新
+        if (sysEntityAll.getEntityAllId() != null && !"".equals(sysEntityAll.getEntityAllId())) {
+            sysEntityAll.setUpdateBy(String.valueOf(userId));
+            sysEntityAll.setUpdateTime(new Date());
+            sysEntityAllMapper.updateById(sysEntityAll);
+        } else {
+            // zez 将数据插入数据库,这个表--> sys_entity
+            sysEntityAll.setCreateBy(String.valueOf(userId));
+            sysEntityAll.setCreateTime(new Date());
+            sysEntityAllMapper.insert(sysEntityAll);
+            List<Map> entityAlList = JSON.parseObject(sysEntityAll.getEntityAll(), List.class);
+            for (Map mapEntity : entityAlList) {
+                SysEntity sysEntity = new SysEntity();
+                sysEntity.setKgId(sysEntityAll.getKgId());
+                sysEntity.setColor(mapEntity.get("color").toString());
+                sysEntity.setName(mapEntity.get("name").toString());
+                sysEntity.setUserId(userId);
+                sysEntity.setUpdateBy(String.valueOf(userId));
+                sysEntity.setUpdateTime(new Date());
+                sysEntityMapper.insert(sysEntity);
+            }
+        }
+        return sysEntityAll;
+    }
+
+    @Override
+    public List<SysEntityAll> selEntityAll(String kgId) {
+        log.info("------------------------>kgId:{}", kgId);
+        // zez 根据kgId去查询数据
+        if (kgId != null && !"".equals(kgId)) {
+            List<SysEntityAll> listEntity = sysEntityAllMapper.selectList(new QueryWrapper<SysEntityAll>()
+                    .eq("kg_id", kgId));
+            return listEntity;
+        }
+        return null;
+    }
 }

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

@@ -1,6 +1,7 @@
 spring:
   profiles:
-    active: ghj
+#    active: ghj
+    active: local
   # 国际化资源文件路径
   messages:
     basename: i18n/messages