|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
package com.supervision.police.service.impl;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import com.alibaba.druid.util.StringUtils;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
@ -121,7 +122,7 @@ public class ModelRecordTypeServiceImpl extends ServiceImpl<ModelRecordTypeMappe
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<TripleInfo> extractThreeInfo(String caseId, String name, String recordId) {
|
|
|
|
|
private List<TripleInfo> extractTripleInfo(String caseId, String name, String recordId) {
|
|
|
|
|
List<NoteRecord> records = noteRecordMapper.selectRecord(caseId, name, recordId);
|
|
|
|
|
List<TripleInfo> tripleInfos = new ArrayList<>();
|
|
|
|
|
for (NoteRecord record : records) {
|
|
|
|
@ -150,9 +151,8 @@ public class ModelRecordTypeServiceImpl extends ServiceImpl<ModelRecordTypeMappe
|
|
|
|
|
String endNodeType = object.getString("endNodeType");
|
|
|
|
|
String property = object.getString("property");
|
|
|
|
|
String value = object.getString("value");
|
|
|
|
|
//去空
|
|
|
|
|
if (StringUtils.isEmpty(startNodeType) || StringUtils.isEmpty(entity) || StringUtils.isEmpty(endNodeType)
|
|
|
|
|
|| StringUtils.isEmpty(property) || StringUtils.isEmpty(value)) {
|
|
|
|
|
// 去空,如果存在任何的空值,则忽略
|
|
|
|
|
if (StrUtil.hasEmpty(startNodeType, entity, endNodeType, property, value)) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
TripleInfo tripleInfo = new TripleInfo(entity, property, value, record.getId(), new Date(), startNodeType, endNodeType);
|
|
|
|
@ -170,7 +170,7 @@ public class ModelRecordTypeServiceImpl extends ServiceImpl<ModelRecordTypeMappe
|
|
|
|
|
@Override
|
|
|
|
|
public List<TripleInfo> getThreeInfo(String caseId, String name, String recordId) {
|
|
|
|
|
// TODO 这里应该改成异步的形式,通过异步的形式来进行提取三元组信息,不能每次点击就跑一遍
|
|
|
|
|
return extractThreeInfo(caseId, name, recordId);
|
|
|
|
|
return extractTripleInfo(caseId, name, recordId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@ -181,6 +181,7 @@ public class ModelRecordTypeServiceImpl extends ServiceImpl<ModelRecordTypeMappe
|
|
|
|
|
try {
|
|
|
|
|
//开始节点
|
|
|
|
|
String start = tripleInfo.getStartNode();
|
|
|
|
|
// 首先看是否已经存在了,如果已经存在了,就不添加了
|
|
|
|
|
CaseNode startNode = neo4jService.findOneByName(tripleInfo.getCaseId(), tripleInfo.getNoteRecordsId(), tripleInfo.getStartNodeType(), start, "1");
|
|
|
|
|
if (startNode == null) {
|
|
|
|
|
startNode = new CaseNode(start, tripleInfo.getStartNodeType(), tripleInfo.getNoteRecordId(), tripleInfo.getNoteRecordsId(), tripleInfo.getCaseId(), "1");
|
|
|
|
@ -199,13 +200,14 @@ public class ModelRecordTypeServiceImpl extends ServiceImpl<ModelRecordTypeMappe
|
|
|
|
|
Rel rel = new Rel(startNode.getId(), tripleInfo.getRelation(), endNode.getId());
|
|
|
|
|
Rel relation = neo4jService.findRelation(rel);
|
|
|
|
|
if (relation == null) {
|
|
|
|
|
R<?> r = neo4jService.saveRelation(rel);
|
|
|
|
|
neo4jService.saveRelation(rel);
|
|
|
|
|
}
|
|
|
|
|
tripleInfo.setAddNeo4j("1");
|
|
|
|
|
int j = tripleInfoMapper.updateById(tripleInfo);
|
|
|
|
|
if (j > 0) {
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
// TODO 重复添加的OK了,删除的呢?
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error(e.getMessage(), e);
|
|
|
|
|
}
|
|
|
|
|