diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/kg/KgInfoController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/kg/KgInfoController.java index 11207fa6..7c203ca1 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/kg/KgInfoController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/kg/KgInfoController.java @@ -10,6 +10,7 @@ import com.ruoyi.platform.domain.kg.dto.KgInfoIdDTO; import com.ruoyi.platform.service.KgInfoService; import com.ruoyi.system.api.domain.SysDictData; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; @@ -32,7 +33,7 @@ public class KgInfoController extends BaseController { * @return */ @PostMapping() - public R createKgInfo(@RequestBody KgInfo kgInfo) { + public R createKgInfo(@Validated @RequestBody KgInfo kgInfo) { kgInfoService.insertKgInfo(kgInfo); return R.ok(); } @@ -44,7 +45,7 @@ public class KgInfoController extends BaseController { * @return */ @PutMapping - public R updateKgInfo(@RequestBody KgInfo kgInfo) { + public R updateKgInfo(@Validated @RequestBody KgInfo kgInfo) { kgInfoService.updateKgInfo(kgInfo); return R.ok(); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/kg/KgOntologyInfoController.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/kg/KgOntologyInfoController.java index ee612b6d..a61f740c 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/kg/KgOntologyInfoController.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/kg/KgOntologyInfoController.java @@ -6,6 +6,8 @@ import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.page.TableDataInfo; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.platform.domain.kg.KgOntologyInfo; +import com.ruoyi.platform.domain.kg.dto.KgOntologyInfoPageDTO; +import com.ruoyi.platform.domain.kg.dto.KgOntologyNameAndIdDTO; import com.ruoyi.platform.domain.kg.dto.KgOntologyUpdateDTO; import com.ruoyi.platform.service.KgOntologyInfoService; import com.ruoyi.system.api.domain.SysDictData; @@ -67,13 +69,22 @@ public class KgOntologyInfoController extends BaseController { * 主体列表 * @return */ - @GetMapping("/list") - public TableDataInfo getOntologies(@RequestBody KgOntologyInfo ontology) { + @PostMapping("/list") + public TableDataInfo getOntologies(@RequestBody KgOntologyInfoPageDTO ontology) { startPage(); List ontologies = kgOntologyInfoService.getOntologies(ontology); return getDataTable(ontologies); } + /** + * 新增图谱时关联主体内容 + * @return + */ + @GetMapping("/getBasicInfo") + public R> getNameAndIds() { + return R.ok(kgOntologyInfoService.getNameAndIds()); + } + /** * 主体详情 * @param id diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/KgEntityInfo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/KgEntityInfo.java index b4489ca2..c24176a6 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/KgEntityInfo.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/KgEntityInfo.java @@ -4,6 +4,8 @@ import java.io.Serializable; import java.util.Date; import lombok.Data; +import javax.validation.constraints.NotNull; + /** * kg_entity_info */ @@ -17,6 +19,7 @@ public class KgEntityInfo implements Serializable { /** * 实体名称 */ + @NotNull(message = "实体名称不能为空") private String name; /** @@ -32,11 +35,13 @@ public class KgEntityInfo implements Serializable { /** * 横坐标 */ + @NotNull(message = "横坐标不能为空") private Integer displayX; /** * 纵坐标 */ + @NotNull(message = "纵坐标不能为空") private Integer displayY; /** @@ -47,6 +52,7 @@ public class KgEntityInfo implements Serializable { /** * 主体主键 */ + @NotNull(message = "主体主键不能为空") private Long ontologyId; /** diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/KgEntityProperty.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/KgEntityProperty.java index cd7b7f96..4aa9f30d 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/KgEntityProperty.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/KgEntityProperty.java @@ -4,6 +4,8 @@ import java.io.Serializable; import java.util.Date; import lombok.Data; +import javax.validation.constraints.NotNull; + /** * kg_entity_properties */ @@ -17,11 +19,13 @@ public class KgEntityProperty implements Serializable { /** * 属性名 */ + @NotNull(message = "属性名不能为空") private String name; /** * 属性类型(String/Integer等) */ + @NotNull(message = "属性类型不能为空") private String type; /** @@ -32,6 +36,7 @@ public class KgEntityProperty implements Serializable { /** * '是否多值(0否/1是) */ + @NotNull(message = "是否多值不能为空") private Boolean isMultivalued; /** diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/KgEntityRelation.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/KgEntityRelation.java index 089b867f..ead79c17 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/KgEntityRelation.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/KgEntityRelation.java @@ -4,6 +4,8 @@ import java.io.Serializable; import java.util.Date; import lombok.Data; +import javax.validation.constraints.NotNull; + /** * kg_entity_relations */ @@ -17,6 +19,7 @@ public class KgEntityRelation implements Serializable { /** * 关系名称 */ + @NotNull(message = "属性名不能为空") private String name; /** @@ -27,11 +30,13 @@ public class KgEntityRelation implements Serializable { /** * 终点实体ID */ + @NotNull(message = "终点实体ID不能为空") private Long targetId; /** * 起点实体ID */ + @NotNull(message = "起点实体ID不能为空") private Long sourceId; /** diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/dto/KgOntologyInfoPageDTO.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/dto/KgOntologyInfoPageDTO.java new file mode 100644 index 00000000..b7402259 --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/dto/KgOntologyInfoPageDTO.java @@ -0,0 +1,30 @@ +package com.ruoyi.platform.domain.kg.dto; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * kg_ontology_info + */ +@Data +public class KgOntologyInfoPageDTO { + + /** + * 主体名称 + */ + private String name; + + /** + * 每页大小 + */ + @NotNull(message = "每页大小不能为空") + private Integer pageSize; + + /** + * 页码 + */ + @NotNull(message = "页码不能为空") + private Integer pageNum; + + +} \ No newline at end of file diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/dto/KgOntologyNameAndIdDTO.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/dto/KgOntologyNameAndIdDTO.java new file mode 100644 index 00000000..20f2248b --- /dev/null +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/kg/dto/KgOntologyNameAndIdDTO.java @@ -0,0 +1,19 @@ +package com.ruoyi.platform.domain.kg.dto; + +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +public class KgOntologyNameAndIdDTO { + /** + * 主体主键 + */ + private Long id; + + /** + * 主体名称 + */ + @NotNull(message = "主体名称不能为空") + private String name; +} diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/kg/KgEntityPropertiesMapper.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/kg/KgEntityPropertiesMapper.java index 1e45e62d..b927cb74 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/kg/KgEntityPropertiesMapper.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/kg/KgEntityPropertiesMapper.java @@ -23,5 +23,5 @@ public interface KgEntityPropertiesMapper extends BaseMapper { List selectList(KgEntityProperty record); - List selectListByEntityIds(@Param("list") List entityIds); + List selectListByEntityIds( List entityIds); } \ No newline at end of file diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/kg/KgOntologyInfoMapper.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/kg/KgOntologyInfoMapper.java index 7be3bc6d..0e61303b 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/kg/KgOntologyInfoMapper.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/kg/KgOntologyInfoMapper.java @@ -2,6 +2,8 @@ package com.ruoyi.platform.mapper.kg; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.platform.domain.kg.KgOntologyInfo; +import com.ruoyi.platform.domain.kg.dto.KgOntologyInfoPageDTO; +import com.ruoyi.platform.domain.kg.dto.KgOntologyNameAndIdDTO; import com.ruoyi.platform.domain.kg.dto.KgOntologyUpdateDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -25,9 +27,12 @@ public interface KgOntologyInfoMapper extends BaseMapper { void deleteByPrimaryKey(@Param("id") Long id); - List selectList(KgOntologyInfo ontology); + void deleteByIds(List ids); + List selectList(KgOntologyInfoPageDTO ontology); + + List getNameAndIds(); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/KgOntologyInfoService.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/KgOntologyInfoService.java index 073f5620..17edefa4 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/KgOntologyInfoService.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/KgOntologyInfoService.java @@ -2,6 +2,8 @@ package com.ruoyi.platform.service; import com.ruoyi.platform.domain.kg.KgOntologyInfo; +import com.ruoyi.platform.domain.kg.dto.KgOntologyInfoPageDTO; +import com.ruoyi.platform.domain.kg.dto.KgOntologyNameAndIdDTO; import com.ruoyi.platform.domain.kg.dto.KgOntologyUpdateDTO; import java.util.List; @@ -17,7 +19,7 @@ public interface KgOntologyInfoService { void updateOntology(KgOntologyUpdateDTO ontology); - List getOntologies(KgOntologyInfo ontology); + List getOntologies(KgOntologyInfoPageDTO ontology); KgOntologyUpdateDTO getOntology(Long id); @@ -28,4 +30,6 @@ public interface KgOntologyInfoService { String importOntology(List ontologyList, boolean updateSupport, String operName); void updateDetail(KgOntologyUpdateDTO ontology); + + List getNameAndIds(); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/KgEntityPropertiesServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/KgEntityPropertiesServiceImpl.java index e6626d91..79c8df42 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/KgEntityPropertiesServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/KgEntityPropertiesServiceImpl.java @@ -1,12 +1,15 @@ package com.ruoyi.platform.service.impl; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import com.ruoyi.platform.domain.kg.KgEntityProperty; import com.ruoyi.platform.mapper.kg.KgEntityPropertiesMapper; import com.ruoyi.platform.service.KgEntityPropertiesService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.util.Collections; import java.util.List; /** @@ -30,6 +33,7 @@ public class KgEntityPropertiesServiceImpl implements KgEntityPropertiesService } @Override + @Transactional public void batchUpdateByEntityId(Long entityId, List entityProperties) { entityProperties.forEach(item -> { if (ObjectUtil.isNull(item.getId())) { @@ -48,6 +52,9 @@ public class KgEntityPropertiesServiceImpl implements KgEntityPropertiesService @Override public List getEntityPropertiesByEntityIds(List ids) { + if (CollectionUtil.isEmpty(ids)){ + return Collections.emptyList(); + } return kgEntityPropertiesMapper.selectListByEntityIds(ids); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/KgEntityRelationsServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/KgEntityRelationsServiceImpl.java index a01da7b4..e5b74e99 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/KgEntityRelationsServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/KgEntityRelationsServiceImpl.java @@ -1,12 +1,15 @@ package com.ruoyi.platform.service.impl; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import com.ruoyi.platform.domain.kg.KgEntityRelation; import com.ruoyi.platform.mapper.kg.KgEntityRelationsMapper; import com.ruoyi.platform.service.KgEntityRelationsService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.util.Collections; import java.util.List; /** @@ -30,6 +33,7 @@ public class KgEntityRelationsServiceImpl implements KgEntityRelationsService{ } @Override + @Transactional public void batchUpdateByEntityId(Long entityId, List entityRelations) { entityRelations.forEach(item -> { if (ObjectUtil.isNull(item.getId())) { @@ -48,6 +52,9 @@ public class KgEntityRelationsServiceImpl implements KgEntityRelationsService{ @Override public List getEntityRelationsByEntityIds(List ids) { + if (CollectionUtil.isEmpty(ids)){ + return Collections.emptyList(); + } return kgEntityRelationsMapper.selectListByEntityIds(ids); } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/KgOntologyInfoServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/KgOntologyInfoServiceImpl.java index 25ce8e8e..f4940fa4 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/KgOntologyInfoServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/KgOntologyInfoServiceImpl.java @@ -4,6 +4,8 @@ import com.ruoyi.platform.domain.kg.KgEntityProperty; import com.ruoyi.platform.domain.kg.KgEntityRelation; import com.ruoyi.platform.domain.kg.KgOntologyInfo; import com.ruoyi.platform.domain.kg.dto.KgEntityInfoDTO; +import com.ruoyi.platform.domain.kg.dto.KgOntologyInfoPageDTO; +import com.ruoyi.platform.domain.kg.dto.KgOntologyNameAndIdDTO; import com.ruoyi.platform.domain.kg.dto.KgOntologyUpdateDTO; import com.ruoyi.platform.mapper.kg.KgOntologyInfoMapper; import com.ruoyi.platform.service.KgEntityInfoService; @@ -12,6 +14,7 @@ import com.ruoyi.platform.service.KgEntityRelationsService; import com.ruoyi.platform.service.KgOntologyInfoService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.stream.Collectors; @@ -46,7 +49,7 @@ public class KgOntologyInfoServiceImpl implements KgOntologyInfoService { } @Override - public List getOntologies(KgOntologyInfo ontology) { + public List getOntologies(KgOntologyInfoPageDTO ontology) { List kgOntologyInfos = kgOntologyInfoMapper.selectList(ontology); kgOntologyInfos.forEach(item -> { List kgEntityInfos = kgEntityInfoService.getEntitiesByOntologyId(item.getId()); @@ -71,12 +74,13 @@ public class KgOntologyInfoServiceImpl implements KgOntologyInfoService { @Override public void deleteOntologyById(Long id) { - kgOntologyInfoMapper.deleteById(id); + kgOntologyInfoMapper.deleteByPrimaryKey(id); } @Override + @Transactional public void batchDelete(List ids) { - kgOntologyInfoMapper.deleteBatchIds(ids); + kgOntologyInfoMapper.deleteByIds(ids); } @Override @@ -85,6 +89,7 @@ public class KgOntologyInfoServiceImpl implements KgOntologyInfoService { } @Override + @Transactional public void updateDetail(KgOntologyUpdateDTO ontology) { List concepts = ontology.getConcepts(); concepts.forEach(item->{ @@ -95,6 +100,11 @@ public class KgOntologyInfoServiceImpl implements KgOntologyInfoService { kgEntityRelationsService.batchUpdateByEntityId(entityId,relations); }); } + + @Override + public List getNameAndIds() { + return kgOntologyInfoMapper.getNameAndIds(); + } } diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/KgEntityInfoMapper.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/KgEntityInfoMapper.xml index 13c9d965..30c34fe9 100644 --- a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/KgEntityInfoMapper.xml +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/KgEntityInfoMapper.xml @@ -20,13 +20,13 @@ id, `name`, description, bk_color, display_x, display_y, icon, ontology_id, create_time, update_time, del_flag, create_by, update_by - select from kg_entity_info where id = #{id,jdbcType=INTEGER} - + delete from kg_entity_info where id = #{id,jdbcType=INTEGER} diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/KgEntityPropertiesMapper.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/KgEntityPropertiesMapper.xml index 4186f2bc..15ab42f1 100644 --- a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/KgEntityPropertiesMapper.xml +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/KgEntityPropertiesMapper.xml @@ -17,13 +17,13 @@ id, `name`, `type`, entity_id, is_multivalued, create_time, update_time, del_flag, create_by, update_by - select from kg_entity_properties where id = #{id,jdbcType=INTEGER} - + delete from kg_entity_properties where id = #{id,jdbcType=INTEGER} @@ -163,8 +163,8 @@ select from kg_entity_properties - where entity_id IN - + where entity_id in + #{id} diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/KgEntityRelationsMapper.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/KgEntityRelationsMapper.xml index 02cf7b82..dd8a25bf 100644 --- a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/KgEntityRelationsMapper.xml +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/KgEntityRelationsMapper.xml @@ -18,13 +18,13 @@ id, `name`, target, target_id, source_id, entity_id, create_time, update_time, del_flag, create_by, update_by - select from kg_entity_relations where id = #{id,jdbcType=INTEGER} - + delete from kg_entity_relations where id = #{id,jdbcType=INTEGER} diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/KgOntologyInfoMapper.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/KgOntologyInfoMapper.xml index 1be63dc5..43a87dc2 100644 --- a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/KgOntologyInfoMapper.xml +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/KgOntologyInfoMapper.xml @@ -17,13 +17,17 @@ id, `name`, description, concepts_count, relations_count, create_time, update_time, create_by, update_by, del_flag - select from kg_ontology_info where id = #{id,jdbcType=INTEGER} - + + delete from kg_ontology_info + where id = #{id,jdbcType=INTEGER} + + delete from kg_ontology_info where id = #{id,jdbcType=INTEGER} @@ -149,6 +153,15 @@ select from kg_ontology_info - order by update_time desc + + + + + + + \ No newline at end of file