Browse Source

feat: neo4j连接

chenjiawei09 3 years ago
parent
commit
a228a40106

+ 20 - 0
src/main/java/com/seeckg/knowledgegraph_backend/enums/UserRole.java

@@ -0,0 +1,20 @@
+package com.seeckg.knowledgegraph_backend.enums;
+
+/**
+ * @author cst
+ */
+
+public enum UserRole {
+    /**
+     * 教师
+     */
+    TEACHER,
+    /**
+     * 学生
+     */
+    STUDENT,
+    /**
+     * 管理员
+     */
+    ADMIN
+}

+ 35 - 0
src/main/java/com/seeckg/knowledgegraph_backend/pojo/CourseVO.java

@@ -0,0 +1,35 @@
+package com.seeckg.knowledgegraph_backend.pojo;
+
+import lombok.Data;
+import lombok.NonNull;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * @author cst
+ */
+@Data
+public class CourseVO {
+    private Long id;
+    private String name;
+    private String bio;
+    private LocalDateTime createAt;
+
+    private Long teacherId;
+    private String teacherName;
+
+    private List<String> knowledgeId;
+
+//    public CourseVO(@NonNull Course course) {
+//        this.id = course.getId();
+//        this.name = course.getName();
+//        this.bio = course.getBio();
+//        this.createAt = course.getCreateAt();
+//
+//        this.teacherId = course.getTeacher().getId();
+//        this.teacherName = course.getTeacher().getName();
+//
+//        this.knowledgeId = course.getKnowledgeId();
+//    }
+}

+ 19 - 5
src/main/java/com/seeckg/knowledgegraph_backend/pojo/Knowledge.java

@@ -4,18 +4,32 @@ import org.springframework.data.neo4j.core.schema.GeneratedValue;
 import org.springframework.data.neo4j.core.schema.Id;
 import org.springframework.data.neo4j.core.schema.Node;
 
+import lombok.Builder;
+
 @Node
+@Builder
 public class Knowledge {
     @Id
     @GeneratedValue
     private Long id;
 
+    /**
+     * 绑定的课程id,0代表全局知识点
+     */
+    private long bindClassId;
+
+    /**
+     * 创建人id
+     */
+    private long creatorId;
+
+    /**
+     * 知识点名称
+     */
     private String name;
+    /**
+     * 知识点内容
+     */
     private String context;
-    public Knowledge(){}
 
-    public Knowledge(String name,String context){
-        this.name=name;
-        this.context=context;
-    }
 }

+ 31 - 0
src/main/java/com/seeckg/knowledgegraph_backend/pojo/KnowledgeVO.java

@@ -0,0 +1,31 @@
+package com.seeckg.knowledgegraph_backend.pojo;
+
+import lombok.Data;
+
+/**
+ * @author chenjiawei09 <chenjiawei09@kuaishou.com>
+ * Created on 2023-05-19
+ */
+@Data
+public class KnowledgeVO {
+    private Long id;
+
+    /**
+     * 绑定的课程id,0代表全局知识点
+     */
+    private long bindClassId;
+
+    /**
+     * 创建人id
+     */
+    private long creatorId;
+
+    /**
+     * 知识点名称
+     */
+    private String name;
+    /**
+     * 知识点内容
+     */
+    private String context;
+}

+ 29 - 0
src/main/java/com/seeckg/knowledgegraph_backend/pojo/UserVO.java

@@ -0,0 +1,29 @@
+package com.seeckg.knowledgegraph_backend.pojo;
+
+import lombok.Data;
+import lombok.NonNull;
+import java.time.LocalDateTime;
+
+import com.seeckg.knowledgegraph_backend.enums.UserRole;
+
+/**
+ * @author cst
+ */
+@Data
+public class UserVO {
+    private Long id;
+    private String name;
+    private String email;
+    private String phone;
+    private UserRole role;
+    private LocalDateTime createAt;
+
+//    public UserVO(@NonNull User user) {
+//        this.id = user.getId();
+//        this.name = user.getName();
+//        this.email = user.getEmail();
+//        this.phone = user.getPhone();
+//        this.role = user.getRole();
+//        this.createAt = user.getCreateAt();
+//    }
+}

+ 29 - 0
src/main/java/com/seeckg/knowledgegraph_backend/remote/SeeCoderRemoteService.java

@@ -0,0 +1,29 @@
+package com.seeckg.knowledgegraph_backend.remote;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.stereotype.Service;
+
+import com.seeckg.knowledgegraph_backend.pojo.CourseVO;
+import com.seeckg.knowledgegraph_backend.pojo.UserVO;
+
+/**
+ * @author chenjiawei09 <chenjiawei09@kuaishou.com>
+ * Created on 2023-05-19
+ */
+@Service
+public class SeeCoderRemoteService {
+
+    public UserVO getUserById(long userId) {
+        return new UserVO();
+    }
+
+    public CourseVO getCourseById(long courseId) {
+        return new CourseVO();
+    }
+
+    public List<CourseVO> getCourseByUserId(long userId){
+        return new ArrayList<>();
+    }
+}

+ 14 - 1
src/main/java/com/seeckg/knowledgegraph_backend/service/KnowledgeService.java

@@ -1,7 +1,13 @@
 package com.seeckg.knowledgegraph_backend.service;
 
+import javax.annotation.Resource;
+
 import com.seeckg.knowledgegraph_backend.dao.KnowledgeDao;
 import com.seeckg.knowledgegraph_backend.pojo.Knowledge;
+import com.seeckg.knowledgegraph_backend.pojo.KnowledgeVO;
+import com.seeckg.knowledgegraph_backend.pojo.UserVO;
+import com.seeckg.knowledgegraph_backend.remote.SeeCoderRemoteService;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -9,8 +15,15 @@ import org.springframework.stereotype.Service;
 public class KnowledgeService {
     @Autowired
     KnowledgeDao knowledgeDao;
+    @Resource
+    SeeCoderRemoteService seeCoderRemoteService;
+
+    public void addKnowledge(KnowledgeVO knowledgeVO, long userId) {
+        UserVO userVO = seeCoderRemoteService.getUserById(userId);
+        //if (userVO)
+    }
 
-    public Knowledge findByName(String name){
+    public Knowledge findByName(String name) {
         return knowledgeDao.findByName(name);
     }
 

+ 3 - 3
src/main/resources/application.properties

@@ -1,5 +1,5 @@
-# 应用服务 WEB 访问端口
+# \u00E5\u00BA\u0094\u00E7\u0094\u00A8\u00E6\u009C\u008D\u00E5\u008A\u00A1 WEB \u00E8\u00AE\u00BF\u00E9\u0097\u00AE\u00E7\u00AB\u00AF\u00E5\u008F\u00A3
 server.port=8080
-spring.neo4j.uri=bolt://localhost:7687
+spring.neo4j.uri=bolt://124.221.29.13/:7687
 spring.neo4j.authentication.username=neo4j
-spring.neo4j.authentication.password=123456
+spring.neo4j.authentication.password=seecoder

+ 24 - 0
src/test/java/com/seeckg/knowledgegraph_backend/Neo4jTest.java

@@ -0,0 +1,24 @@
+package com.seeckg.knowledgegraph_backend;
+
+import javax.annotation.Resource;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+import com.seeckg.knowledgegraph_backend.dao.KnowledgeDao;
+import com.seeckg.knowledgegraph_backend.pojo.Knowledge;
+
+/**
+ * @author chenjiawei09 <chenjiawei09@kuaishou.com>
+ * Created on 2023-05-19
+ */
+@SpringBootTest
+public class Neo4jTest {
+    @Resource
+    KnowledgeDao knowledgeDao;
+
+    @Test
+    void testInsert() {
+        knowledgeDao.save(Knowledge.builder().creatorId(111L).name("name").context("context").bindClassId(0L).build());
+    }
+}