From a547dab6b4cf0f196d145985a5c4fee6353ac8c1 Mon Sep 17 00:00:00 2001 From: linsheng0116 <1401679367@qq.com> Date: Wed, 8 Jan 2025 09:07:13 +0800 Subject: [PATCH] =?UTF-8?q?2025.1.8=20=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../woka/Web/Service/impl/KcTlFileServiceImpl.java | 765 +++++++++++++++++++++ 1 file changed, 765 insertions(+) create mode 100644 src/main/java/com/main/woka/Web/Service/impl/KcTlFileServiceImpl.java diff --git a/src/main/java/com/main/woka/Web/Service/impl/KcTlFileServiceImpl.java b/src/main/java/com/main/woka/Web/Service/impl/KcTlFileServiceImpl.java new file mode 100644 index 0000000..40f3bc1 --- /dev/null +++ b/src/main/java/com/main/woka/Web/Service/impl/KcTlFileServiceImpl.java @@ -0,0 +1,765 @@ +package com.main.woka.Web.Service.impl; + +import com.main.woka.Common.util.*; +import com.main.woka.Web.Mapper.KcFileMapper; +import com.main.woka.Web.Mapper.KcInfoRelationMapper; +import org.neo4j.driver.v1.StatementResult; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.FileInputStream; +import java.lang.reflect.Field; +import java.util.*; + +@Service +public class KcTlFileServiceImpl { + + @Autowired + KcFileMapper kcFileMapper; + + @Autowired + KcInfoRelationMapper kcInfoRelationMapper; + + @Autowired + WordSplitter wordSplitter; + + @Autowired + RelationUtil relationUtil; + + @Autowired + Neo4jUtil neo4jUtil; + + @Autowired + KcFileMapper kcFile1Mapper; + + public String wordSplitter(FileInputStream file, String url, Integer fileId){ + try { + wordSplitter.testWordOne(file,url,fileId); + return "a"; + } catch (Exception e) { + e.printStackTrace(); + } + return "b"; + } + + public Integer insertFile(KcTlFile kcTlFile){ + return kcInfoRelationMapper.insertFile(kcTlFile); + } + + public String getRelationShip(Integer fileId){ + + + + //先获取所有的第一级标题 + List list = kcFileMapper.getHeaderByLevel(1l,fileId); + String nameOld = String.valueOf(kcFile1Mapper.getFileById(fileId)); + String name = nameOld.substring(0,nameOld.length()-5); + + + for(int a=0;a list1 = kcFileMapper.getOneHeader(OneId); + + for(int i=0;i list2 = kcFileMapper.getHeaderByLevel(2l,fileId); + for(int a1=0;a1 list1 = kcFileMapper.getOneHeader(OneId); + for(int i=0;i list3 = kcFileMapper.getHeaderByLevel(3l,fileId); + for(int a2=0;a2 list1 = kcFileMapper.getOneHeader(OneId); + for(int i=0;i list4 = kcFileMapper.getHeaderByLevel(4l,fileId); + for(int a2=0;a2 list1 = kcFileMapper.getOneHeader(OneId); + for(int i=0;i list5 = kcFileMapper.getHeaderByLevel(5l,fileId); + for(int a2=0;a2 list1 = kcFileMapper.getOneHeader(OneId); + for(int i=0;i list = kcFileMapper.getHeaderByLevel(1l,fileId); +// +// //查询选择的上级 +// KcInfo aan = new KcInfo(); +// aan.setId(Long.valueOf(parentId)); +// KcInfo ddo = kcFile1Mapper.selectDocById(aan); +// String name = ddo.getName(); +// +// Long leve = 0l; +// +// +// +// +// if(list.size()!=0){ +// for(int a=0;a list1 = kcFileMapper.getOneHeader(OneId); +// +// for(int i=0;i list2 = kcFileMapper.getHeaderByLevel(2l,fileId); +// if(list2.size()!=0){ +// +// for(int a1=0;a1 list1 = kcFileMapper.getOneHeader(OneId); +// for(int i=0;i list3 = kcFileMapper.getHeaderByLevel(3l,fileId); +// if(list3.size()!=0){ +// for(int a2=0;a2 list1 = kcFileMapper.getOneHeader(OneId); +// for(int i=0;i list4 = kcFileMapper.getHeaderByLevel(4l,fileId); +// if(list4.size()!=0){ +// for(int a2=0;a2 list1 = kcFileMapper.getOneHeader(OneId); +// for(int i=0;i list5 = kcFileMapper.getHeaderByLevel(5l,fileId); +// if(list5.size()!=0){ +// for(int a2=0;a2 list1 = kcFileMapper.getOneHeader(OneId); +// for(int i=0;i> list2 = new ArrayList<>(); + List ll = kcFile1Mapper.getFileList(); + for(int b=0;b list1 = new ArrayList<>(); + String name = ll.get(b).getFileName().substring(0,ll.get(b).getFileName().length()-5); + //获取这个大文章下的所有文章; + name = name.replace("+","&"); + name = name.replace("-","为"); + name = name.replace(" ",""); + name = name.replace(".",""); + Map bb1 = new HashMap<>(); + bb1.put("key","name"); + bb1.put("value",name); + list1.add(bb1); + Map bb2 = new HashMap<>(); + bb2.put("key","docId"); + bb2.put("value", String.valueOf(ll.get(b).getId())); + list1.add(bb2); + Map bb3 = new HashMap<>(); + bb3.put("key","leve"); + bb3.put("value","leve0"); + list1.add(bb3); +// System.out.println(list1.size()); + list2.add(list1); + + List list = kcFile1Mapper.selectAllDocByfileId(Math.toIntExact(ll.get(b).getId())); + + + for(int i=0;i listNew = new ArrayList<>(); + KcInfo info = list.get(i); + Class clazz = KcInfo.class; + Field[] fields = clazz.getDeclaredFields(); + + for (Field field : fields) { + String fieldName = field.getName(); + System.out.println("字段名称:" + fieldName); + Map bb = new HashMap<>(); + if(fieldName.equals("id")){ + bb.put("key","docId"); + bb.put("value", String.valueOf(info.getId())); + listNew.add(bb); + } + if(fieldName.equals("name")){ + bb.put("key","name"); + bb.put("value", info.getName()); + + listNew.add(bb); + } + if(fieldName.equals("parentId")){ + bb.put("key","parentId"); + bb.put("value", String.valueOf(info.getParentId())); + listNew.add(bb); + } + + if(fieldName.equals("groupId")){ + bb.put("key","groupId"); + bb.put("value", String.valueOf(info.getGroupId())); + + listNew.add(bb); + } + if(fieldName.equals("level")){ + if(info.getLevel()==1){ + bb.put("key","leve"); + bb.put("value","leve1"); + } + if(info.getLevel()==2){ + bb.put("key","leve"); + bb.put("value","leve2"); + } + if(info.getLevel()==3){ + bb.put("key","leve"); + bb.put("value","leve3"); + } + if(info.getLevel()==4){ + bb.put("key","leve"); + bb.put("value","leve4"); + } + if(info.getLevel()==5){ + bb.put("key","leve"); + bb.put("value","leve5"); + } + if(info.getLevel()==6){ + bb.put("key","leve"); + bb.put("value","leve6"); + } + listNew.add(bb); + } + + } + list2.add(listNew); + + } + + for(int bb=0;bb1){ + if(a==0){ + cql = cql + list2.get(bb).get(a).get("key")+":'"+list2.get(bb).get(a).get("value")+"'"; + }else if(a==(list2.get(bb).size()-1)){ + cql = cql +","+list2.get(bb).get(a).get("key")+":'"+list2.get(bb).get(a).get("value")+"'})"; + }else { + cql = cql +","+ list2.get(bb).get(a).get("key")+":'"+list2.get(bb).get(a).get("value")+"'"; + } + }else { + cql = cql + list2.get(bb).get(a).get("key")+":'"+list2.get(bb).get(a).get("value")+"'}) return doc"; + } + + } + + System.out.println(cql); + StatementResult result = neo4jUtil.excuteCypherSql(cql); + //创建了之后将创建的实体和关系进行update + if(Long.valueOf(docId)>100){ + int aa = kcFile1Mapper.updateGraphStatus(Long.valueOf(docId)); + } + System.out.println(result.keys()); + + + + } + + } + + + + + + + //获取所有关系 + List listR = kcInfoRelationMapper.getAllRelation(); + System.out.println(listR.size()); + + for(int i=0;i charList = new ArrayList<>(); + + for (int j = 0; j < listR.get(i).getRelation().length(); j++) { + if(!listR.get(i).getRelation().substring(j, j + 1).equals("、")){ + charList.add(listR.get(i).getRelation().substring(j, j + 1)); + } + } + + String re = ""; + for (int k=0;k (b) RETURN r"; + StatementResult result = neo4jUtil.excuteCypherSql(cql); + int bb = kcFile1Mapper.updateGraphRelation(listR.get(i)); + } + + + + + + return "aa"; + } + + +// public String createGraph1(){ +// //先获取所有的文章实体 +// +// +// //查询对应的大文章 +// List> list2 = new ArrayList<>(); +// List ll = kcFile1Mapper.getFileList(); +// for(int b=0;b list1 = new ArrayList<>(); +// +// List list = kcFile1Mapper.selectAllDocByfileId(Math.toIntExact(ll.get(b).getId())); +// +// for(int i=0;i listNew = new ArrayList<>(); +// KcInfo info = list.get(i); +// Class clazz = KcInfo.class; +// Field[] fields = clazz.getDeclaredFields(); +// +// for (Field field : fields) { +// String fieldName = field.getName(); +// System.out.println("字段名称:" + fieldName); +// Map bb = new HashMap<>(); +// if(fieldName.equals("id")){ +// bb.put("key","docId"); +// bb.put("value", String.valueOf(info.getId())); +// listNew.add(bb); +// } +// if(fieldName.equals("name")){ +// bb.put("key","name"); +// bb.put("value", info.getName()); +// +// listNew.add(bb); +// } +//// if(fieldName.equals("level")){ +//// if(info.getLevel()==1){ +//// bb.put("key","leve"); +//// bb.put("value","leve1"); +//// } +//// if(info.getLevel()==2){ +//// bb.put("key","leve"); +//// bb.put("value","leve2"); +//// } +//// if(info.getLevel()==3){ +//// bb.put("key","leve"); +//// bb.put("value","leve3"); +//// } +//// if(info.getLevel()==4){ +//// bb.put("key","leve"); +//// bb.put("value","leve4"); +//// } +//// if(info.getLevel()==5){ +//// bb.put("key","leve"); +//// bb.put("value","leve5"); +//// } +//// if(info.getLevel()==6){ +//// bb.put("key","leve"); +//// bb.put("value","leve6"); +//// } +//// listNew.add(bb); +//// } +// +// } +// list2.add(listNew); +// +// } +// +// for(int bb=0;bb1){ +// if(a==0){ +// cql = cql + list2.get(bb).get(a).get("key")+":'"+list2.get(bb).get(a).get("value")+"'"; +// }else if(a==(list2.get(bb).size()-1)){ +// cql = cql +","+list2.get(bb).get(a).get("key")+":'"+list2.get(bb).get(a).get("value")+"'})"; +// }else { +// cql = cql +","+ list2.get(bb).get(a).get("key")+":'"+list2.get(bb).get(a).get("value")+"'"; +// } +// }else { +// cql = cql + list2.get(bb).get(a).get("key")+":'"+list2.get(bb).get(a).get("value")+"'}) return doc"; +// } +// +// } +// +// System.out.println(cql); +// StatementResult result = neo4jUtil.excuteCypherSql(cql); +// //创建了之后将创建的实体和关系进行update +// if(Long.valueOf(docId)>100){ +// int aa = kcFile1Mapper.updateGraphStatus(Long.valueOf(docId)); +// } +// System.out.println(result.keys()); +// +// +// +// } +// +// } +// +// +// +// +// +// +// //获取所有关系 +// List listR = kcInfoRelationMapper.getAllRelation(); +// System.out.println(listR.size()); +// +// for(int i=0;i charList = new ArrayList<>(); +// +// for (int j = 0; j < listR.get(i).getRelation().length(); j++) { +// if(!listR.get(i).getRelation().substring(j, j + 1).equals("、")){ +// charList.add(listR.get(i).getRelation().substring(j, j + 1)); +// } +// } +// +// String re = ""; +// for (int k=0;k (b) RETURN r"; +// StatementResult result = neo4jUtil.excuteCypherSql(cql); +// int bb = kcFile1Mapper.updateGraphRelation(listR.get(i)); +// } +// +// +// +// +// +// return "aa"; +// } + +}