diff --git a/pom.xml b/pom.xml
index 4f5717c..310834b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,67 +24,64 @@
org.springframework.boot
spring-boot-starter-web
+
+
+ org.neo4j.driver
+ neo4j-java-driver-spring-boot-starter
+ 4.3.6.0
+
+
+
+ org.springframework.boot
+ spring-boot-starter-data-neo4j
+
org.springframework.boot
spring-boot-starter-aop
-
commons-io
commons-io
2.11.0
-
-
org.freemarker
freemarker
2.3.28
-
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.2.2
-
com.baomidou
mybatis-plus-boot-starter
3.5.2
-
-
org.apache.poi
poi
4.1.2
-
org.apache.poi
poi-ooxml
4.1.2
-
org.apache.poi
poi-ooxml-schemas
4.1.2
-
-
-
-
com.aliyun.oss
aliyun-sdk-oss
3.15.1
-
mysql
mysql-connector-java
@@ -100,20 +97,17 @@
spring-boot-starter-test
test
-
com.github.xiaoymin
knife4j-openapi2-spring-boot-starter
4.4.0
-
org.apache.commons
commons-lang3
-
cn.hutool
hutool-all
@@ -182,20 +176,23 @@
2.12.5
compile
-
-
cn.afterturn
easypoi-spring-boot-starter
4.1.3
-
commons-io
commons-io
2.8.0
+
+
+ org.redisson
+ redisson
+ 3.13.6
+
diff --git a/src/main/java/com/teaching/backend/controller/KnowGraph/KnowController.java b/src/main/java/com/teaching/backend/controller/KnowGraph/KnowController.java
new file mode 100644
index 0000000..167e347
--- /dev/null
+++ b/src/main/java/com/teaching/backend/controller/KnowGraph/KnowController.java
@@ -0,0 +1,85 @@
+package com.teaching.backend.controller.KnowGraph;
+
+/**
+ * @Author:youhang
+ * @Date:2024-06-09-9:55
+ * @Description:
+ */
+import com.teaching.backend.common.BaseResponse;
+import com.teaching.backend.common.ResultUtils;
+import com.teaching.backend.model.dto.KnowGraph.*;
+import com.teaching.backend.model.entity.KnowGraph.Know;
+
+import com.teaching.backend.model.entity.KnowGraph.KnowCourse;
+import com.teaching.backend.service.KnowGraph.KnowService;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+
+@RestController
+@RequestMapping("/know")
+public class KnowController {
+
+ private KnowService knowService;
+
+ public KnowController(KnowService knowService) {
+ this.knowService = knowService;
+ }
+
+ //根据 id查询所关联的所有结点
+ @PostMapping ("/query/{id}")
+ public List queryKnowAllKnowById(@PathVariable Long id) {
+ return knowService.queryKnowAllKnowById(id);
+ }
+
+ //添加知识点
+ @PostMapping("/add")
+ public Know createKnow(@RequestBody KnowRequest knowRequest) {
+ return knowService.createKnow(knowRequest);
+ }
+
+ //添加知识点 - 课程
+ @PostMapping("/addKnowCourse")
+ public KnowCourse createCourseKnow(@RequestBody KnowCourseCreateRequest knowCourseCreateRequest) {
+ return knowService.createCourseKnow(knowCourseCreateRequest);
+ }
+
+ //修改知识点
+ @PostMapping ("/update")
+ public Know updateKnow(@RequestBody KnowUpdateRequest knowUpdateRequest) {
+ return knowService.updateKnow(knowUpdateRequest);
+ }
+
+
+ //删除知识点
+ @GetMapping ("delete/{id}")
+ public void deleteKnow(@PathVariable Long id) {
+ knowService.deleteKnow(id);
+ }
+
+ //添加知识点与知识点的关系 related
+ @PostMapping ("/addKnowRelatedKnow")
+ public void addKnowRelatedKnow(@RequestBody RelationshipKnowRequest relationshipKnowRequest) {
+ knowService.addKnowRelatedKnow(relationshipKnowRequest);
+ }
+
+ //添加知识点与知识点的关系 related
+ @PostMapping ("/addKnowFatherAndSonKnow")
+ public void addKnowFatherAndSonKnow(@RequestBody RelationshipKnowRequest relationshipKnowRequest) {
+ knowService.addKnowFatherAndSonKnow(relationshipKnowRequest);
+ }
+
+ @GetMapping("/all")
+ public BaseResponse getKnowAll(@RequestParam String id) {
+ BaseKnowReturn baseKnowReturn =knowService.getKnowAll(id);
+ return ResultUtils.success(baseKnowReturn);
+ }
+
+ @GetMapping("/KnowById")
+ public BaseResponse getKnowById(@RequestParam Long id) {
+ BaseKnowReturn baseKnowReturn =knowService.getKnowById(id);
+ return ResultUtils.success(baseKnowReturn);
+ }
+
+}
diff --git a/src/main/java/com/teaching/backend/controller/courseResource/CourseResourceController.java b/src/main/java/com/teaching/backend/controller/courseResource/CourseResourceController.java
index 6abf652..6da377e 100644
--- a/src/main/java/com/teaching/backend/controller/courseResource/CourseResourceController.java
+++ b/src/main/java/com/teaching/backend/controller/courseResource/CourseResourceController.java
@@ -72,13 +72,26 @@ public class CourseResourceController {
/**
* 编辑
- * @param resourceId
+ * @param resources
* @return
*/
@ApiOperation("编辑课程资源")
- @PostMapping("/edit")
- public BaseResponse editCourseResource(@RequestParam String resourceId){
+ @PutMapping("/edit")
+ public BaseResponse editCourseResource(@RequestBody CourseResources resources){
+ System.out.println(resources);
+ courseResourcesService.updateById(resources);
+ return ResultUtils.success("编辑成功");
+ }
+
+ /**
+ * 根据id查询课程资源
+ * @param resourceId
+ * @return
+ */
+ @ApiOperation("根据id查询课程资源")
+ @PostMapping("/getone")
+ public BaseResponse getOne(@RequestParam String resourceId){
System.out.println(resourceId);
- return ResultUtils.success(courseResourcesService.editCourseResource(resourceId));
+ return ResultUtils.success(courseResourcesService.getById(resourceId));
}
}
diff --git a/src/main/java/com/teaching/backend/controller/know/KnowController.java b/src/main/java/com/teaching/backend/controller/know/KnowController.java
deleted file mode 100644
index 2bb3859..0000000
--- a/src/main/java/com/teaching/backend/controller/know/KnowController.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.teaching.backend.controller.know;
-
-import com.teaching.backend.model.dto.know.KnowQueryRequest;
-import com.teaching.backend.model.dto.know.KnowRequest;
-import com.teaching.backend.model.dto.know.KnowupdateRequest;
-import com.teaching.backend.model.entity.know.Know;
-import com.teaching.backend.service.know.KnowService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-/**
- * @Author:youhang
- * @Date:2024-06-21-10:26
- * @Description:
- */
-@RestController
-@RequestMapping("/api/know")
-public class KnowController {
-
- @Autowired
- private KnowService knowService;
- @PostMapping("/add")
- public Boolean add(@RequestBody KnowRequest knowAddRequest) {
- return knowService.add(knowAddRequest);
- }
- @PostMapping("/update")
- public Boolean update(@RequestBody KnowupdateRequest knowAddRequest){
- return knowService.update(knowAddRequest);
- }
- @PostMapping("/delete")
- public Integer deleteKnow(@RequestBody List ids){
- return knowService.deleteKnow(ids);
- }
- @PostMapping("/query")
- public List query(@RequestBody KnowQueryRequest knowQueryRequest){
- return knowService.query(knowQueryRequest);
- }
-}
diff --git a/src/main/java/com/teaching/backend/controller/know/KnowRelationshipController.java b/src/main/java/com/teaching/backend/controller/know/KnowRelationshipController.java
deleted file mode 100644
index bf7ee78..0000000
--- a/src/main/java/com/teaching/backend/controller/know/KnowRelationshipController.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.teaching.backend.controller.know;
-
-
-import com.teaching.backend.common.BaseResponse;
-import com.teaching.backend.common.ResultUtils;
-import com.teaching.backend.model.entity.know.Know;
-import com.teaching.backend.model.entity.know.KnowRelationship;
-import com.teaching.backend.service.know.IKnowRelationshipService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-/**
- *
- * 前端控制器
- *
- *
- * @author author
- * @since 2024-06-20
- */
-@Api(tags = "知识点章节关系")
-@RestController
-@RequestMapping("/know-relationship")
-public class KnowRelationshipController {
-
- @Autowired
- private IKnowRelationshipService knowRelationshipService;
- @ApiOperation("添加课程知识点关系")
- @PostMapping()
- public BaseResponse add(@RequestBody KnowRelationship knowRelationship){
- boolean save = knowRelationshipService.save(knowRelationship);
- return ResultUtils.success(save);
- }
- @GetMapping()
- public BaseResponse> getAll(){
- List list = knowRelationshipService.list();
- return ResultUtils.success(list);
- }
-}
diff --git a/src/main/java/com/teaching/backend/controller/records/CourseLearningRecordController.java b/src/main/java/com/teaching/backend/controller/records/CourseLearningRecordController.java
new file mode 100644
index 0000000..cb67129
--- /dev/null
+++ b/src/main/java/com/teaching/backend/controller/records/CourseLearningRecordController.java
@@ -0,0 +1,12 @@
+package com.teaching.backend.controller.records;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/api/courselearingRecord")
+public class CourseLearningRecordController {
+
+
+}
diff --git a/src/main/java/com/teaching/backend/controller/records/LearningRecordsController.java b/src/main/java/com/teaching/backend/controller/records/LearningRecordsController.java
index 4f769e5..8926166 100644
--- a/src/main/java/com/teaching/backend/controller/records/LearningRecordsController.java
+++ b/src/main/java/com/teaching/backend/controller/records/LearningRecordsController.java
@@ -1,6 +1,7 @@
package com.teaching.backend.controller.records;
+import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.teaching.backend.common.BaseResponse;
import com.teaching.backend.common.ResultUtils;
@@ -37,30 +38,27 @@ public class LearningRecordsController {
public BaseResponse getAll(@RequestParam(value = "pagenum", defaultValue = "1") int pagenum,
@RequestParam(value = "pagesize", defaultValue = "10") int pagesize,
@RequestParam String userId){
+ //根据用户查询
+ Page page = learningRecordsService.query()
+ .orderByDesc("time")
+ .eq("status", "1")
+ .eq("user_id", userId).page(new Page<>(pagenum, pagesize));
+ //获取当前页数据
+ List list = page.getRecords();
+ List cs= learningRecordsService.getAll(list);
- List cs= learningRecordsService.getAll(userId);
- List pageCs = new ArrayList<>();
- //当前页面
- for(int i = (pagenum - 1) * pagesize; i < cs.size() && i < (pagenum) * pagesize; i++){
- pageCs.add(cs.get(i));
- }
- long total = cs.size(); // 总记录数
+ long total = page.getTotal(); // 总记录数
Page pageInfo = new Page<>(pagenum,pagesize,total);
- pageInfo.setRecords(pageCs);
-// System.out.println("总记录数"+pageInfo.getTotal());
-// System.out.println("当前页面:"+pagenum);
-// System.out.println("当前页面大小:"+pagesize);
-// System.out.println("当前页面内容:"+pageCs);
-// System.out.println("页面数:"+pageInfo.getPages());
- pageInfo.setPages((int)(Math.ceil((double) total / pagesize)));//设置总页数
-// System.out.println(pageInfo.getPages());
+ pageInfo.setRecords(cs);
+ pageInfo.setPages(page.getPages());//设置总页数
return ResultUtils.success(pageInfo);
}
@ApiOperation("查询所有")
@GetMapping("/all")
public BaseResponse> All(){
- System.out.println("学习记录:"+learningRecordsService.list());
+// System.out.println("学习记录:"+learningRecordsService.list());
+
return ResultUtils.success(learningRecordsService.list());
}
@@ -74,7 +72,7 @@ public class LearningRecordsController {
@ValidateParams({"userId","type","coursesId"})
@PostMapping("/saverecords")
public BaseResponse saveRecords(@RequestBody LearningRecords learningRecords){
- System.out.println(learningRecords);
+// System.out.println(learningRecords);
return ResultUtils.success(learningRecordsService.saveRecords(learningRecords));
}
diff --git a/src/main/java/com/teaching/backend/mapper/KnowGraph/KnowRepository.java b/src/main/java/com/teaching/backend/mapper/KnowGraph/KnowRepository.java
new file mode 100644
index 0000000..d26ff96
--- /dev/null
+++ b/src/main/java/com/teaching/backend/mapper/KnowGraph/KnowRepository.java
@@ -0,0 +1,36 @@
+package com.teaching.backend.mapper.KnowGraph;
+
+/**
+ * @Author:youhang
+ * @Date:2024-06-09-8:59
+ * @Description:
+ */
+
+
+import com.teaching.backend.model.dto.KnowGraph.KnowCourseCreateRequest;
+import com.teaching.backend.model.entity.KnowGraph.Know;
+import com.teaching.backend.model.entity.KnowGraph.KnowCourse;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.neo4j.repository.query.Query;
+
+import java.util.List;
+
+public interface KnowRepository extends Neo4jRepository {
+
+
+ @Query("MATCH (p:Know), (c:Know) WHERE ID(p) = $id AND ID(c) IN $KnowIds CREATE (p)-[:related]->(c),(c)-[:related]->(p)")
+ void addKnowRelatedKnow(Long id, List KnowIds);
+
+ @Query("MATCH (p:Know), (c:Know) WHERE ID(p) = $id AND ID(c) IN $KnowIds CREATE (p)-[:FatherAndSon]->(c)")
+ void addKnowFatherAndSonKnow(Long id, List KnowIds);
+
+ @Query("MATCH(n)-[r:related]->(nn:Know) where ID(nn) = $id RETURN n")
+ List queryKnowAllKnowById(Long id);
+
+
+ @Query("CREATE (n:Know {name: $name, courseId: $courseId,info:$info,resourceList:$resourceList}) return n")
+ KnowCourse createKnowCourse(String courseId, String name, String info, ListresourceList);
+
+
+
+}
diff --git a/src/main/java/com/teaching/backend/mapper/know/KnowMapper.java b/src/main/java/com/teaching/backend/mapper/know/KnowMapper.java
deleted file mode 100644
index d6c2237..0000000
--- a/src/main/java/com/teaching/backend/mapper/know/KnowMapper.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.teaching.backend.mapper.know;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.teaching.backend.model.entity.know.Know;
-import org.apache.ibatis.annotations.Mapper;
-
-@Mapper
-public interface KnowMapper extends BaseMapper {
-
-}
diff --git a/src/main/java/com/teaching/backend/mapper/know/KnowRelationshipMapper.java b/src/main/java/com/teaching/backend/mapper/know/KnowRelationshipMapper.java
deleted file mode 100644
index 5756236..0000000
--- a/src/main/java/com/teaching/backend/mapper/know/KnowRelationshipMapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.teaching.backend.mapper.know;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.teaching.backend.model.entity.know.KnowRelationship;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- *
- * Mapper 接口
- *
- *
- * @author author
- * @since 2024-06-20
- */
-@Mapper
-public interface KnowRelationshipMapper extends BaseMapper {
-
-}
diff --git a/src/main/java/com/teaching/backend/mapper/records/CourseLearningRecordMapper.java b/src/main/java/com/teaching/backend/mapper/records/CourseLearningRecordMapper.java
new file mode 100644
index 0000000..20b8386
--- /dev/null
+++ b/src/main/java/com/teaching/backend/mapper/records/CourseLearningRecordMapper.java
@@ -0,0 +1,17 @@
+package com.teaching.backend.mapper.records;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.teaching.backend.model.entity.records.CourseLearningRecord;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author author
+ * @since 2024-07-24
+ */
+public interface CourseLearningRecordMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/com/teaching/backend/mapper/records/KnowledgeLearningRecordMapper.java b/src/main/java/com/teaching/backend/mapper/records/KnowledgeLearningRecordMapper.java
new file mode 100644
index 0000000..d9dbbe5
--- /dev/null
+++ b/src/main/java/com/teaching/backend/mapper/records/KnowledgeLearningRecordMapper.java
@@ -0,0 +1,17 @@
+package com.teaching.backend.mapper.records;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.teaching.backend.model.entity.records.KnowledgeLearningRecord;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author author
+ * @since 2024-07-24
+ */
+public interface KnowledgeLearningRecordMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/com/teaching/backend/mapper/records/ResourceLearningRecordMapper.java b/src/main/java/com/teaching/backend/mapper/records/ResourceLearningRecordMapper.java
new file mode 100644
index 0000000..c1235c1
--- /dev/null
+++ b/src/main/java/com/teaching/backend/mapper/records/ResourceLearningRecordMapper.java
@@ -0,0 +1,17 @@
+package com.teaching.backend.mapper.records;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.teaching.backend.model.entity.records.ResourceLearningRecord;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author author
+ * @since 2024-07-24
+ */
+public interface ResourceLearningRecordMapper extends BaseMapper {
+
+}
diff --git a/src/main/java/com/teaching/backend/model/dto/KnowGraph/BaseKnowReturn.java b/src/main/java/com/teaching/backend/model/dto/KnowGraph/BaseKnowReturn.java
new file mode 100644
index 0000000..8dc8bef
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/dto/KnowGraph/BaseKnowReturn.java
@@ -0,0 +1,31 @@
+package com.teaching.backend.model.dto.KnowGraph;
+
+/**
+ * @Author:youhang
+ * @Date:2024-07-23-17:30
+ * @Description:
+ */
+
+
+import com.teaching.backend.model.entity.KnowGraph.Links;
+import com.teaching.backend.model.vo.knowGraph.KnowVO;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Set;
+
+/**
+ * @Author:youhang
+ * @Date:2024-07-22-5:01
+ * @Description:
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class BaseKnowReturn {
+
+ private Set knowList;
+
+ private SetlinksList;
+}
diff --git a/src/main/java/com/teaching/backend/model/dto/KnowGraph/KnowCourseCreateRequest.java b/src/main/java/com/teaching/backend/model/dto/KnowGraph/KnowCourseCreateRequest.java
new file mode 100644
index 0000000..6c71be0
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/dto/KnowGraph/KnowCourseCreateRequest.java
@@ -0,0 +1,38 @@
+package com.teaching.backend.model.dto.KnowGraph;
+
+import lombok.Data;
+import org.springframework.data.neo4j.core.schema.Property;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class KnowCourseCreateRequest implements Serializable {
+
+ /**
+ * 知识点名称
+ */
+ private String courseId;
+
+ /**
+ * 知识点名称
+ */
+ private String name;
+
+ /**
+ * 信息
+ */
+
+ private String info;
+
+
+
+ /**
+ * 知识点所关联的资源
+ */
+ @Property
+ private List resourceList;
+
+
+}
+
diff --git a/src/main/java/com/teaching/backend/model/dto/KnowGraph/KnowRequest.java b/src/main/java/com/teaching/backend/model/dto/KnowGraph/KnowRequest.java
new file mode 100644
index 0000000..b3e07ae
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/dto/KnowGraph/KnowRequest.java
@@ -0,0 +1,34 @@
+package com.teaching.backend.model.dto.KnowGraph;
+
+import lombok.Data;
+import org.springframework.data.neo4j.core.schema.Property;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class KnowRequest implements Serializable {
+
+
+ /**
+ * 知识点名称
+ */
+ private String name;
+
+ /**
+ * 信息
+ */
+
+ private String info;
+
+
+
+ /**
+ * 知识点所关联的资源
+ */
+ @Property
+ private List resourceList;
+
+
+}
+
diff --git a/src/main/java/com/teaching/backend/model/dto/KnowGraph/KnowUpdateRequest.java b/src/main/java/com/teaching/backend/model/dto/KnowGraph/KnowUpdateRequest.java
new file mode 100644
index 0000000..6e1b20b
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/dto/KnowGraph/KnowUpdateRequest.java
@@ -0,0 +1,37 @@
+package com.teaching.backend.model.dto.KnowGraph;
+
+import lombok.Data;
+import org.springframework.data.neo4j.core.schema.Property;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class KnowUpdateRequest implements Serializable {
+
+
+ /**
+ * id
+ */
+ private Long id;
+
+ /**
+ * 知识点名称
+ */
+ private String name;
+
+ /**
+ * 信息
+ */
+
+ private String info;
+
+
+ /**
+ * 知识点所关联的资源
+ */
+ @Property
+ private List resourceList;
+
+}
+
diff --git a/src/main/java/com/teaching/backend/model/dto/KnowGraph/RelationshipKnowRequest.java b/src/main/java/com/teaching/backend/model/dto/KnowGraph/RelationshipKnowRequest.java
new file mode 100644
index 0000000..ff3b1ae
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/dto/KnowGraph/RelationshipKnowRequest.java
@@ -0,0 +1,22 @@
+package com.teaching.backend.model.dto.KnowGraph;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class RelationshipKnowRequest implements Serializable {
+
+ /**
+ * knowid
+ */
+ private Long id;
+
+ /**
+ * 课程id
+ */
+ private List KnowIds;
+
+}
+
diff --git a/src/main/java/com/teaching/backend/model/dto/know/KnowQueryRequest.java b/src/main/java/com/teaching/backend/model/dto/know/KnowQueryRequest.java
deleted file mode 100644
index fb42742..0000000
--- a/src/main/java/com/teaching/backend/model/dto/know/KnowQueryRequest.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.teaching.backend.model.dto.know;
-
-import lombok.Data;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-/**
- * 知识点请求
- */
-@Data
-public class KnowQueryRequest implements Serializable {
-
- /**
- * 知识点名称
- */
- private String name;
-
-}
diff --git a/src/main/java/com/teaching/backend/model/dto/know/KnowRequest.java b/src/main/java/com/teaching/backend/model/dto/know/KnowRequest.java
deleted file mode 100644
index 2da09bb..0000000
--- a/src/main/java/com/teaching/backend/model/dto/know/KnowRequest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.teaching.backend.model.dto.know;
-
-import lombok.Data;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-/**
- * 知识点请求
- */
-@Data
-public class KnowRequest implements Serializable {
-
-
- /**
- * 知识点名称
- */
- private String name;
-
- /**
- * 简介
- */
- private String info;
-
- /**
- * 知识点内容
- */
- private String content;
-
- /**
- * 知识点图片
- */
- private String img;
-
- /**
- * 知识点学时
- */
- private BigDecimal hour;
-
-
-
- /**
- * 资源id 运用json
- */
- private String resourceid;
-
-
-}
diff --git a/src/main/java/com/teaching/backend/model/dto/know/KnowupdateRequest.java b/src/main/java/com/teaching/backend/model/dto/know/KnowupdateRequest.java
deleted file mode 100644
index bc339ea..0000000
--- a/src/main/java/com/teaching/backend/model/dto/know/KnowupdateRequest.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.teaching.backend.model.dto.know;
-
-import lombok.Data;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-/**
- * 知识点请求
- */
-@Data
-public class KnowupdateRequest implements Serializable {
-
-
- /**
- * 知识点id
- */
- private Integer id;
-
-
- /**
- * 知识点名称
- */
- private String name;
-
- /**
- * 简介
- */
- private String info;
-
- /**
- * 知识点内容
- */
- private String content;
-
- /**
- * 知识点图片
- */
- private String img;
-
- /**
- * 知识点学时
- */
- private BigDecimal hour;
-
-
-
- /**
- * 资源id 运用json
- */
- private String resourceid;
-
-
-}
diff --git a/src/main/java/com/teaching/backend/model/entity/CourseResources.java b/src/main/java/com/teaching/backend/model/entity/CourseResources.java
index e1819c4..637c2a6 100644
--- a/src/main/java/com/teaching/backend/model/entity/CourseResources.java
+++ b/src/main/java/com/teaching/backend/model/entity/CourseResources.java
@@ -25,8 +25,13 @@ import java.util.stream.Stream;
@AllArgsConstructor
@TableName("Resource")
public class CourseResources {
- @TableId(value = "id", type = IdType.AUTO)
- private int id;
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 内部编号
+ */
+ @TableId(value = "id", type = IdType.ASSIGN_ID)
+ private String id;
private String name;
private int type;
private int status;
diff --git a/src/main/java/com/teaching/backend/model/entity/KnowGraph/Know.java b/src/main/java/com/teaching/backend/model/entity/KnowGraph/Know.java
new file mode 100644
index 0000000..b3836cb
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/entity/KnowGraph/Know.java
@@ -0,0 +1,45 @@
+package com.teaching.backend.model.entity.KnowGraph;
+
+import lombok.Data;
+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 org.springframework.data.neo4j.core.schema.Property;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Node
+@Data
+public class Know implements Serializable {
+
+
+ /**
+ * id
+ */
+ @Id
+ @GeneratedValue
+ private Long id;
+
+
+ /**
+ * 知识点名称
+ */
+ @Property
+ private String name;
+
+ /**
+ * 信息
+ */
+ @Property
+ private String info;
+
+
+ /**
+ * 知识点所关联的资源
+ */
+ @Property
+ private List resourceList;
+
+}
+
diff --git a/src/main/java/com/teaching/backend/model/entity/KnowGraph/KnowCourse.java b/src/main/java/com/teaching/backend/model/entity/KnowGraph/KnowCourse.java
new file mode 100644
index 0000000..587fb00
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/entity/KnowGraph/KnowCourse.java
@@ -0,0 +1,50 @@
+package com.teaching.backend.model.entity.KnowGraph;
+
+import lombok.Data;
+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 org.springframework.data.neo4j.core.schema.Property;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Node
+@Data
+public class KnowCourse implements Serializable {
+
+
+ /**
+ * id
+ */
+ @Id
+ @GeneratedValue
+ private Long id;
+
+ /**
+ * 知识点名称
+ */
+ private String courseId;
+
+
+ /**
+ * 知识点名称
+ */
+ @Property
+ private String name;
+
+ /**
+ * 信息
+ */
+ @Property
+ private String info;
+
+
+ /**
+ * 知识点所关联的资源
+ */
+ @Property
+ private List resourceList;
+
+}
+
diff --git a/src/main/java/com/teaching/backend/model/entity/KnowGraph/Links.java b/src/main/java/com/teaching/backend/model/entity/KnowGraph/Links.java
new file mode 100644
index 0000000..139c1dd
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/entity/KnowGraph/Links.java
@@ -0,0 +1,32 @@
+package com.teaching.backend.model.entity.KnowGraph;
+
+import lombok.Data;
+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 org.springframework.data.neo4j.core.schema.Property;
+
+/**
+ * @Author:youhang
+ * @Date:2024-07-21-16:32
+ * @Description:
+ */
+@Data
+@Node
+public class Links {
+
+ @Id
+ @GeneratedValue
+ private Long id;
+
+ @Property
+ private Long source;
+
+ @Property
+ private Long target;
+
+ @Property
+ private String label;
+
+
+}
diff --git a/src/main/java/com/teaching/backend/model/entity/courses/Main.java b/src/main/java/com/teaching/backend/model/entity/courses/Main.java
new file mode 100644
index 0000000..539ef74
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/entity/courses/Main.java
@@ -0,0 +1,168 @@
+package com.teaching.backend.model.entity.courses;
+
+/**
+ * @Author:youhang
+ * @Date:2024-07-07-21:21
+ * @Description:
+ */
+
+import java.util.Scanner;
+
+class Num {
+ public int Zero = 0;
+
+ public int One = 0;
+
+ public int getZero() {
+ return Zero;
+ }
+
+ public void setZero(int zero) {
+ Zero = zero;
+ }
+
+ public int getOne() {
+ return One;
+ }
+
+ public void setOne(int one) {
+ One = one;
+ }
+}
+
+// 注意类名必须为 Main, 不要有任何 package xxx 信息
+public class Main {
+ public static void main(String[] args) {
+ Scanner in = new Scanner(System.in);
+ int n = in.nextInt();
+ String[] arr = new String[n];
+ int counts = 0;
+ Num num = new Num();
+ for (int i = 0; i < n; i++) {
+ arr[i] = in.next();
+ }
+
+ int p = 1, q = 1;
+ while (p < n) {
+ if (arr[0].charAt(0) == '1') {
+ num.One += 1;
+ } else {
+ num.Zero += 1;
+ }
+ for (int i = 0; i <= p; i++) {
+ if (arr[i].charAt(p) == '1') {
+ num.One += 1;
+ } else {
+ num.Zero += 1;
+ }
+ if (arr[p].charAt(i) == '1') {
+ num.One += 1;
+ } else {
+ num.Zero += 1;
+ }
+ }
+ if (arr[p].charAt(p) == '1') {
+ num.One -= 1;
+ } else {
+ num.Zero -= 1;
+ }
+ if(num.Zero == num.One){
+ counts++;
+ }
+ num.One = 0;
+ num.Zero = 0;
+
+ if (arr[0].charAt(n-1) == '1') {
+ num.One += 1;
+ } else {
+ num.Zero += 1;
+ }
+ for (int i = 0; i <= p; i++) {
+ if (arr[i].charAt(n-1-p) == '1') {
+ num.One += 1;
+ } else {
+ num.Zero += 1;
+ }
+ if (arr[p].charAt(n-i-1) == '1') {
+ num.One += 1;
+ } else {
+ num.Zero += 1;
+ }
+ }
+ if (arr[p].charAt(n-p-1) == '1') {
+ num.One -= 1;
+ } else {
+ num.Zero -= 1;
+ }
+ if(num.Zero == num.One){
+ counts++;
+ }
+ //左下
+ num.One = 0;
+ num.Zero = 0;
+
+ if (arr[n-1].charAt(0) == '1') {
+ num.One += 1;
+ } else {
+ num.Zero += 1;
+ }
+ for (int i = 0; i <= p; i++) {
+ if (arr[n-1-i].charAt(p) == '1') {
+ num.One += 1;
+ } else {
+ num.Zero += 1;
+ }
+ if (arr[n-p-1].charAt(i) == '1') {
+ num.One += 1;
+ } else {
+ num.Zero += 1;
+ }
+ }
+ if (arr[n-p-1].charAt(p) == '1') {
+ num.One -= 1;
+ } else {
+ num.Zero -= 1;
+ }
+ if(num.Zero == num.One){
+ counts++;
+ }
+
+ //右下
+ num.One = 0;
+ num.Zero = 0;
+
+ if (arr[n-1].charAt(n-1) == '1') {
+ num.One += 1;
+ } else {
+ num.Zero += 1;
+ }
+ for (int i = 0; i <= p; i++) {
+ if (arr[n-1-i].charAt(n-p-1) == '1') {
+ num.One += 1;
+ } else {
+ num.Zero += 1;
+ }
+ if (arr[n-p-1].charAt(n-1-i) == '1') {
+ num.One += 1;
+ } else {
+ num.Zero += 1;
+ }
+ }
+ if (arr[n-p-1].charAt(n-1-p) == '1') {
+ num.One -= 1;
+ } else {
+ num.Zero -= 1;
+ }
+ if(num.Zero == num.One){
+ counts++;
+ }
+
+ p++;
+ }
+
+
+ }
+
+
+}
+
diff --git a/src/main/java/com/teaching/backend/model/entity/know/Know.java b/src/main/java/com/teaching/backend/model/entity/know/Know.java
deleted file mode 100644
index 02199c4..0000000
--- a/src/main/java/com/teaching/backend/model/entity/know/Know.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package com.teaching.backend.model.entity.know;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.Api;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
-import lombok.experimental.Accessors;
-
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("know")
-public class Know implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * id
- */
- @TableId(value = "id", type = IdType.AUTO)
- private Long id;
-
- /**
- * 知识点名称
- */
- private String name;
-
- /**
- * 简介
- */
- private String info;
-
- /**
- * 知识点内容
- */
- private String content;
-
- /**
- * 知识点图片
- */
- private String img;
-
- /**
- * 知识点学时
- */
- private BigDecimal hour;
-
-
-
- /**
- * 资源id 运用json
- */
- private String resourceid;
-
-
-}
-
diff --git a/src/main/java/com/teaching/backend/model/entity/know/KnowRelationship.java b/src/main/java/com/teaching/backend/model/entity/know/KnowRelationship.java
deleted file mode 100644
index 2c073b3..0000000
--- a/src/main/java/com/teaching/backend/model/entity/know/KnowRelationship.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.teaching.backend.model.entity.know;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-
-import java.io.Serializable;
-
-/**
- *
- *
- *
- *
- * @author author
- * @since 2024-06-20
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("know_relationship")
-@ApiModel(value="KnowRelationship对象", description="")
-public class KnowRelationship implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
-
- @ApiModelProperty(value = "章节id")
- @TableField("chapterId")
- private String chapterId;
-
- @ApiModelProperty(value = "课程id")
- @TableField("courseId")
- private String courseId;
-
- @ApiModelProperty(value = "知识点id")
- @TableField("knowId")
- private int knowId;
-
-
-}
diff --git a/src/main/java/com/teaching/backend/model/entity/records/CourseLearningRecord.java b/src/main/java/com/teaching/backend/model/entity/records/CourseLearningRecord.java
new file mode 100644
index 0000000..acd207b
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/entity/records/CourseLearningRecord.java
@@ -0,0 +1,57 @@
+package com.teaching.backend.model.entity.records;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ *
+ *
+ *
+ *
+ * @author author
+ * @since 2024-07-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("course_learning_record")
+@ApiModel(value="CourseLearningRecord对象", description="")
+public class CourseLearningRecord implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = " 课程记录id")
+ @TableId(value = "id", type = IdType.AUTO)
+ private String id;
+
+ @ApiModelProperty(value = "课程id")
+ @TableField("course_id")
+ private String courseId;
+
+ @ApiModelProperty(value = "用户id")
+ @TableField("user_id")
+ private String userId;
+
+ @ApiModelProperty(value = "观看人数")
+ @TableField("number")
+ private Integer number;
+
+ @ApiModelProperty(value = "记录封面")
+ @TableField("img")
+ private String img;
+
+ @ApiModelProperty(value = "最近学习时间")
+ @TableField("time")
+ private LocalDateTime time;
+
+
+}
diff --git a/src/main/java/com/teaching/backend/model/entity/records/KnowledgeLearningRecord.java b/src/main/java/com/teaching/backend/model/entity/records/KnowledgeLearningRecord.java
new file mode 100644
index 0000000..f7c1ed5
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/entity/records/KnowledgeLearningRecord.java
@@ -0,0 +1,57 @@
+package com.teaching.backend.model.entity.records;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ *
+ *
+ *
+ *
+ * @author author
+ * @since 2024-07-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("knowledge_learning_record")
+@ApiModel(value="KnowledgeLearningRecord对象", description="")
+public class KnowledgeLearningRecord implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "知识点学习记录id")
+ @TableId(value = "id", type = IdType.AUTO)
+ private String id;
+
+ @ApiModelProperty(value = "知识点id")
+ @TableField("knowledge_id")
+ private String knowledgeId;
+
+ @ApiModelProperty(value = "用户id")
+ @TableField("user_id")
+ private String userId;
+
+ @ApiModelProperty(value = "观看人数")
+ @TableField("number")
+ private Integer number;
+
+ @ApiModelProperty(value = "记录封面")
+ @TableField("img")
+ private String img;
+
+ @ApiModelProperty(value = "最近访问时间")
+ @TableField("time")
+ private LocalDateTime time;
+
+
+}
diff --git a/src/main/java/com/teaching/backend/model/entity/records/LearningRecords.java b/src/main/java/com/teaching/backend/model/entity/records/LearningRecords.java
index 067e2e8..510f29d 100644
--- a/src/main/java/com/teaching/backend/model/entity/records/LearningRecords.java
+++ b/src/main/java/com/teaching/backend/model/entity/records/LearningRecords.java
@@ -2,6 +2,7 @@ package com.teaching.backend.model.entity.records;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -33,22 +34,10 @@ public class LearningRecords {
* 课程id
*/
private String coursesId;
- /**
- * 章节id
- */
- private String chapterId;
- /**
- * 知识点id
- */
- private String knowledgePointId;
- /**
- * 资源id
- */
- private String resourceId;
/**
* 访问时间
*/
- private LocalDateTime accessTime;
+ private LocalDateTime time;
/**
* 学习方式:打开; 1,打开过,2未打开
@@ -86,11 +75,11 @@ public class LearningRecords {
*/
private String type;
/**
- * 父节点
+ * 课程名称
*/
- private String parentNode;
-
-
-
-
+ private String coursesName;
+ /**
+ * 课程名称
+ */
+ private int number;
}
diff --git a/src/main/java/com/teaching/backend/model/entity/records/ResourceLearningRecord.java b/src/main/java/com/teaching/backend/model/entity/records/ResourceLearningRecord.java
new file mode 100644
index 0000000..95de9f2
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/entity/records/ResourceLearningRecord.java
@@ -0,0 +1,73 @@
+package com.teaching.backend.model.entity.records;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ *
+ *
+ *
+ *
+ * @author author
+ * @since 2024-07-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("resource_learning_record")
+@ApiModel(value="ResourceLearningRecord对象", description="")
+public class ResourceLearningRecord implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty(value = "资源学习记录id")
+ @TableId(value = "id", type = IdType.AUTO)
+ private String id;
+
+ @ApiModelProperty(value = "资源id")
+ @TableField("resource_id")
+ private String resourceId;
+
+ @ApiModelProperty(value = "用户id")
+ @TableField("user_id")
+ private String userId;
+
+ @ApiModelProperty(value = "观看人数")
+ @TableField("number")
+ private Integer number;
+
+ @ApiModelProperty(value = "是否打开, 1:开打了; 2:未打开;")
+ @TableField("open")
+ private Integer open;
+
+ @ApiModelProperty(value = "是否下载, 1:下载了; 2:未下载;")
+ @TableField(" download")
+ private Integer download;
+
+ @ApiModelProperty(value = "学习时长")
+ @TableField("duration")
+ private Integer duration;
+
+ @ApiModelProperty(value = "是否完成观看")
+ @TableField("finish")
+ private Integer finish;
+
+ @ApiModelProperty(value = "记录封面")
+ @TableField("img")
+ private String img;
+
+ @ApiModelProperty(value = "最近学习时间")
+ @TableField("time")
+ private LocalDateTime time;
+
+
+}
diff --git a/src/main/java/com/teaching/backend/model/vo/knowGraph/KnowVO.java b/src/main/java/com/teaching/backend/model/vo/knowGraph/KnowVO.java
new file mode 100644
index 0000000..d6a60a2
--- /dev/null
+++ b/src/main/java/com/teaching/backend/model/vo/knowGraph/KnowVO.java
@@ -0,0 +1,31 @@
+package com.teaching.backend.model.vo.knowGraph;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+
+@Data
+public class KnowVO implements Serializable {
+
+
+ /**
+ * id
+ */
+ private Long id;
+
+
+ /**
+ * 知识点名称
+ */
+ private String label;
+
+ /**
+ * 信息
+ */
+ private String color;
+
+
+}
+
diff --git a/src/main/java/com/teaching/backend/model/vo/records/LearningRecordsVo.java b/src/main/java/com/teaching/backend/model/vo/records/LearningRecordsVo.java
index e9b3ab2..345c436 100644
--- a/src/main/java/com/teaching/backend/model/vo/records/LearningRecordsVo.java
+++ b/src/main/java/com/teaching/backend/model/vo/records/LearningRecordsVo.java
@@ -33,7 +33,7 @@ public class LearningRecordsVo {
/**
* 资源观看人数
*/
- private Long number;
+ private int number;
/**
diff --git a/src/main/java/com/teaching/backend/service/KnowGraph/KnowService.java b/src/main/java/com/teaching/backend/service/KnowGraph/KnowService.java
new file mode 100644
index 0000000..03ae676
--- /dev/null
+++ b/src/main/java/com/teaching/backend/service/KnowGraph/KnowService.java
@@ -0,0 +1,172 @@
+package com.teaching.backend.service.KnowGraph;
+
+import com.teaching.backend.mapper.KnowGraph.KnowRepository;
+import com.teaching.backend.model.dto.KnowGraph.*;
+import com.teaching.backend.model.entity.KnowGraph.Know;
+import com.teaching.backend.model.entity.KnowGraph.KnowCourse;
+import com.teaching.backend.model.entity.KnowGraph.Links;
+import com.teaching.backend.model.vo.knowGraph.KnowVO;
+import org.neo4j.driver.internal.InternalRelationship;
+import org.neo4j.driver.types.Node;
+import org.springframework.beans.BeanUtils;
+import org.springframework.data.neo4j.core.Neo4jClient;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.*;
+
+/**
+ * @Author:youhang
+ * @Date:2024-07-21-14:46
+ * @Description:
+ */
+@Service
+public class KnowService {
+
+ private KnowRepository knowRepository;
+
+ @Resource
+ private Neo4jClient neo4jClient;
+
+ public KnowService(KnowRepository knowRepository) {
+ this.knowRepository = knowRepository;
+ }
+
+
+ public List queryKnowAllKnowById(Long id) {
+ return knowRepository.queryKnowAllKnowById(id);
+ }
+
+
+ public Know createKnow(KnowRequest knowRequest ) {
+ Know know = new Know();
+ BeanUtils.copyProperties(knowRequest,know);
+ return knowRepository.save(know);
+ }
+
+ public KnowCourse createCourseKnow(KnowCourseCreateRequest knowCourseCreateRequest ) {
+ return knowRepository.createKnowCourse(knowCourseCreateRequest.getCourseId(),knowCourseCreateRequest.getName(),knowCourseCreateRequest.getInfo(),knowCourseCreateRequest.getResourceList());
+
+ }
+
+
+ public void deleteKnow(Long id) {
+ knowRepository.deleteById(id);
+ }
+
+ public Know updateKnow(KnowUpdateRequest knowUpdateRequest ) {
+ Know know = new Know();
+ know = knowRepository.findById(knowUpdateRequest.getId()).orElseThrow(() -> new RuntimeException("知识点 not found"));
+ BeanUtils.copyProperties(knowUpdateRequest,know);
+ return knowRepository.save(know);
+ }
+
+
+ public void addKnowRelatedKnow( RelationshipKnowRequest relationshipKnowRequest) {
+ knowRepository.addKnowRelatedKnow(relationshipKnowRequest.getId(),relationshipKnowRequest.getKnowIds());
+ }
+ public void addKnowFatherAndSonKnow( RelationshipKnowRequest relationshipKnowRequest) {
+ knowRepository.addKnowFatherAndSonKnow(relationshipKnowRequest.getId(),relationshipKnowRequest.getKnowIds());
+ }
+
+
+ public BaseKnowReturn getKnowAll(String id) {
+ Collection