From 7583e05629b9c59003227cc30ab971ac6704fdda Mon Sep 17 00:00:00 2001 From: jzy <928294064@qq.com> Date: Tue, 16 Sep 2025 00:16:27 +0800 Subject: [PATCH] yangshi --- gyxtp/src/view/graphPageCopy.vue | 54 ++++++++++++++-------- .../controller/system/ZhyFileManageController.java | 4 +- .../com/ruoyi/api/controller/EsTestController.java | 31 ++++++++++--- .../src/main/java/com/ruoyi/api/domain/ESDao.java | 6 +-- .../ruoyi/api/service/impl/GraphServiceImpl.java | 8 +++- .../java/com/ruoyi/common/constant/Constants.java | 2 +- 6 files changed, 72 insertions(+), 33 deletions(-) diff --git a/gyxtp/src/view/graphPageCopy.vue b/gyxtp/src/view/graphPageCopy.vue index 6a04d84..b788be7 100644 --- a/gyxtp/src/view/graphPageCopy.vue +++ b/gyxtp/src/view/graphPageCopy.vue @@ -520,7 +520,8 @@ export default { getheightLight(this.keywords).then((res)=>{ this.heightLight = { "nodes": res.nodes.hits, - "links":res.links.hits + "links":res.links.hits, + "nodes1":res.nodes1 } console.log(this.heightLight) getDomainGraphTest({}).then((r) => { @@ -530,43 +531,50 @@ export default { }, getNodeClass(name) { - + console.log(name) // 确保 this.heightLight.nodes 存在且是一个数组 const nodes = this.heightLight.nodes; - if (!Array.isArray(nodes) || nodes.length === 0) { + const nodes1 = this.heightLight.nodes1; + if (!Array.isArray(nodes) || nodes.length === 0||!Array.isArray(nodes1) || nodes1.length === 0) { return ""; } // 将传入的 id 转为字符串 const targetId = String(name).trim(); // 遍历 nodes 数组,检查是否有元素的 id(转字符串)与 targetId 相等 - const found = nodes.some(node => { + let found = nodes.some(node => { const nodeId = node.sourceAsMap.abstracts return nodeId === targetId; }); - + found = nodes1.some(node => { + console.log("2222222") + const nodeId = node.docTitle + return nodeId === targetId; + }); // 找到了返回 'nodeclass',否则返回 '' return found ? 'nodeclass' : ''; }, - getLinesClass(from) { - + getLinesClass(id) { const lines = this.heightLight.links; + console.log(this.heightLight) if (lines == undefined){ - return + return "" } - // 将传入的 id 转为字符串 - const targetId = String(from).trim(); + const targetId = Number(String(id).trim()); const found = lines.some(line => { - const data = line.sourceAsMap.data - return data.some(item => { - const source = item.source; - console.log(source) - console.log(targetId) - return source === targetId; - }); + const data= line.sourceAsMap.data + const array=JSON.parse(data) + if(array.length>0){ + return array.includes(targetId); + }else { + console.log("没有") + return false + } + }); + // 找到了返回 'nodeclass',否则返回 '' return found ? 'lineclass' : ''; }, @@ -993,8 +1001,16 @@ export default { } }); }); + console.log(lineList) // 处理连线 lineList.forEach(line => { + let style="" + let num=1 + if(this.getLinesClass(line.DbId)!=""){ + style=this.getLinesClass(line.DbId) + num=10 + } + console.log(line) links.push({ from: line.source, @@ -1005,9 +1021,9 @@ export default { line.num <= 10 ? 'rgb(0, 255, 0)' : // 绿色 line.num <= 15 ? 'rgb(255, 255, 0)' : // 黄色 'rgb(178,246,255)', // 红色(包含line.num <= 20和超过20的情况) - lineWidth:1, + lineWidth:num, lineShape: 1, - styleClass:this.getLinesClass(line.source), + styleClass:style, }) }); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ZhyFileManageController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ZhyFileManageController.java index 737d117..fa2fd1f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ZhyFileManageController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ZhyFileManageController.java @@ -407,7 +407,7 @@ public class ZhyFileManageController extends BaseController { for(int i=0;i (b) RETURN r"; + cql = cql + " CREATE (a)-[r:"+String.valueOf(listR.get(i).getRelationship())+"{ name: '"+String.valueOf(listR.get(i).getRelationship())+"', DbId: '"+String.valueOf(listR.get(i).getId())+"' }] -> (b) RETURN r"; neo4jUtil.excuteCypherSql(cql); test1Mapper.updateGraphRelation(listR.get(i)); } @@ -1193,7 +1193,7 @@ public class ZhyFileManageController extends BaseController { for(int i=0;i (b) RETURN r"; + cql = cql + " CREATE (a)-[r:"+String.valueOf(listR.get(i).getRelationship())+"{ name: '"+String.valueOf(listR.get(i).getRelationship())+"', DbId: '"+String.valueOf(listR.get(i).getId())+"' }] -> (b) RETURN r"; neo4jUtil.excuteCypherSql(cql); test1Mapper.updateGraphRelation(listR.get(i)); } diff --git a/ruoyi-api/src/main/java/com/ruoyi/api/controller/EsTestController.java b/ruoyi-api/src/main/java/com/ruoyi/api/controller/EsTestController.java index 9dde732..c78dd42 100644 --- a/ruoyi-api/src/main/java/com/ruoyi/api/controller/EsTestController.java +++ b/ruoyi-api/src/main/java/com/ruoyi/api/controller/EsTestController.java @@ -9,9 +9,11 @@ import com.ruoyi.api.domain.ESDao; import com.ruoyi.api.domain.ZhyDocApi; import com.ruoyi.api.mapper.ZhyDocApiMapper; import com.ruoyi.system.domain.ZhyArticle; +import com.ruoyi.system.domain.ZhyDoc; import com.ruoyi.system.domain.ZhyDocRelation; import com.ruoyi.system.mapper.ZhyArticleMapper; import com.ruoyi.system.mapper.ZhyDocRelationMapper; +import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -81,8 +83,19 @@ public class EsTestController { .withFuzzyMatch("abstracts",param) .buildAndExecute("links"); Map map = new HashMap(); - map.put("nodes",nodes); map.put("links",links); + List nodes1=new ArrayList<>(); + for(int i=0;i bookList2 = new ArrayList<>(); ZhyArticle zhyArticle = new ZhyArticle(); List lineList = zhyArticleMapper.selectZhyArticleList(zhyArticle); for (int i=0;i a = zhyDocRelationMapper.selectZhyRelationshipArticle(zhyDocRelation); - + List ids = new ArrayList<>(); + for (int j = 0;j data; + public String data; public String getId() { return id; } - public List getData() { + public String getData() { return data; } @@ -29,7 +29,7 @@ public class ESDao { '}'; } - public void setData(List data) { + public void setData(String data) { this.data = data; } diff --git a/ruoyi-api/src/main/java/com/ruoyi/api/service/impl/GraphServiceImpl.java b/ruoyi-api/src/main/java/com/ruoyi/api/service/impl/GraphServiceImpl.java index f828b87..cf288a1 100644 --- a/ruoyi-api/src/main/java/com/ruoyi/api/service/impl/GraphServiceImpl.java +++ b/ruoyi-api/src/main/java/com/ruoyi/api/service/impl/GraphServiceImpl.java @@ -604,8 +604,10 @@ public class GraphServiceImpl implements GraphService { } aa.put("source",graphRelation.get(b).get("sourceid")); aa.put("target",graphRelation.get(b).get("targetid")); - + aa.put("DbId",graphRelation.get(b).get("DbId")); + aa.put("uuid",graphRelation.get(b).get("uuid")); aa.put("relate",graphRelation.get(b).get("name")); + System.out.println(aa); graphRelationNew.add(aa); } @@ -745,6 +747,7 @@ public class GraphServiceImpl implements GraphService { List> graphRel = neo4jUtil.getGraphRelationShip(relSql); List> links = buildLinksFromRelOnly(graphRel, newNodes); + System.out.println(links); nr.put("links", links); } @@ -868,7 +871,7 @@ public class GraphServiceImpl implements GraphService { for (HashMap node : nodes) { nodeIndex.put(String.valueOf(node.get("id")), node); } - + System.out.println(relations); Map> mergedMap = new LinkedHashMap<>(); for (HashMap rel : relations) { @@ -884,6 +887,7 @@ public class GraphServiceImpl implements GraphService { link.put("target", targetId); link.put("relate", rel.get("name")); link.put("id",rel.get("uuid")); + link.put("DbId",rel.get("DbId")); HashMap srcNode = nodeIndex.get(sourceId); HashMap tgtNode = nodeIndex.get(targetId); diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java index f5ad5f1..8f31d6a 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java @@ -182,7 +182,7 @@ public static final String indexPathBattle = "D:\\project\\gyx\\tupudata\\battl // public static final String indexPathBattle = "C:\\tupudata\\battleManager\\index"; public static final String outPath = "D:\\project\\gyx\\tupudata\\fileOut\\"; - public static final String TUPUDATA_ROOT = "D:/project/gyx/tupudata"; + public static final String TUPUDATA_ROOT = "C:/D/project/gyx/tupudata"; /** * 文章 PDF 存储目录