图谱-后端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

189 lines
5.6 KiB

10 months ago
package com.teaching.backend.controller.Know;
/**
* @Author:youhang
* @Date:2024-06-09-9:55
* @Description:
*/
import com.teaching.backend.common.BaseResponse;
10 months ago
import com.teaching.backend.mapper.know.KnowRepository;
10 months ago
import com.teaching.backend.model.dto.Know.*;
import com.teaching.backend.model.entity.know.Know;
import com.teaching.backend.model.entity.know.KnowChapter;
import com.teaching.backend.model.entity.know.KnowCourse;
import com.teaching.backend.model.entity.resource.Resources;
import com.teaching.backend.model.vo.knowGraph.KnowVO1;
import com.teaching.backend.service.Know.KnowService;
import org.springframework.beans.factory.annotation.Autowired;
10 months ago
import org.springframework.data.neo4j.core.Neo4jClient;
10 months ago
import org.springframework.web.bind.annotation.*;
10 months ago
import javax.annotation.Resource;
import java.util.Collection;
import java.util.Map;
10 months ago
import java.util.Set;
@RestController
10 months ago
@RequestMapping("/api/knowNeo")
10 months ago
public class KnowController {
@Autowired
private KnowService knowService;
10 months ago
@Autowired
private KnowRepository knowRepository;
10 months ago
@Resource
private Neo4jClient neo4jClient;
10 months ago
//返回2层知识点
@GetMapping("/twoLevelKnows")
BaseResponse<BaseKnowReturn> getTwoLevelKnows(@RequestParam Long id){
return knowService.getTwoLevelKnows(id);
}
//返回3层知识点
@GetMapping("/threeLevelKnows")
BaseResponse<BaseKnowReturn> getThreeLevelKnows(@RequestParam Long id){
return knowService.getThreeLevelKnows(id);
}
//返回4层知识点
@GetMapping("/fourLevelKnows")
BaseResponse<BaseKnowReturn> getFourLevelKnows(@RequestParam Long id){
return knowService.getFourLevelKnows(id);
}
//通过courseId 显示图的JSON
@GetMapping("/test")
10 months ago
void test(){
String t = "related";
String str = "MATCH (p:Know), (j:Know) WHERE ID(p)= "+407+" AND ID(j)= "+389+" CREATE (p)-[r: "+t+" ]->(j) return count(r);";
Collection<Map<String, Object>> res = neo4jClient.query(str).fetch().all();
System.out.println(res);
10 months ago
}
//通过courseId 显示图的JSON
@GetMapping("/showGraphJson")
BaseResponse<String> showGraphJson(@RequestParam String courseId){
return knowService.showGraphJson(courseId);
}
10 months ago
// 添加全部知识点
@PostMapping("/addAllKnow")
BaseResponse<String> addAllKnow(@RequestParam String courseId){
return knowService.addAllKnow(courseId);
}
// 添加知识点与资源的关系
@PostMapping("/addRelationship/Withresources")
BaseResponse<String> addRelationshipWithresources(@RequestParam Long id,@RequestParam Long resourceId){
return knowService.addRelationshipWithresources(id,resourceId);
}
//===================
10 months ago
// // 添加知识点
// @PostMapping("/addKnow")
// BaseResponse<String> addKnow(@RequestBody KnowRequest knowRequest){
// return knowService.addKnow(knowRequest);
// }
10 months ago
// 修改知识点
@PostMapping("/updateKnow")
BaseResponse<String> updateKnow(@RequestBody KnowUpdateRequest knowUpdateRequest){
return knowService.updateKnow(knowUpdateRequest);
}
// 删除知识点
@GetMapping("/deleteKnow")
BaseResponse<String> deleteKnow(@RequestParam Long id){
return knowService.deleteKnow(id);
}
//查询知识点通过id
@GetMapping("/queryKnow")
BaseResponse<Know> queryKnow(@RequestParam Long id){
return knowService.queryKnow(id);
}
//======================================
// 添加课程
@PostMapping("/addCourse")
BaseResponse<String> addCourse(@RequestBody KnowCourseCreateRequest knowCourseCreateRequest){
return knowService.addCourse(knowCourseCreateRequest);
}
// 修改课程
@PostMapping("/updateCourse")
BaseResponse<String> updateCourse(@RequestBody KnowCourseCreateRequest knowCourseCreateRequest){
return knowService.updateCourse(knowCourseCreateRequest);
}
// 删除课程
@PostMapping("/deleteCourse")
BaseResponse<String> deleteCourse(@RequestParam String courseId){
return knowService.deleteCourse(courseId);
}
//查询课程通过courseid
@GetMapping ("/queryCourse")
BaseResponse<KnowCourse> queryCourse(@RequestParam String courseId){
return knowService.queryCourse(courseId);
}
//=========================
// 添加章节
@PostMapping("/addChapter")
BaseResponse<String> addChapter(@RequestBody KnowChapterCreateRequest knowChapterCreateRequest){
return knowService.addChapter(knowChapterCreateRequest);
}
// 修改章节
@PostMapping("/updateChapter")
BaseResponse<String> updateChapter(@RequestBody KnowChapterCreateRequest knowChapterCreateRequest){
return knowService.updateChapter(knowChapterCreateRequest);
}
// 删除章节
@GetMapping("/deleteChapter")
BaseResponse<String> deleteChapter(@RequestParam Long chapterId){
return knowService.deleteChapter(chapterId);
}
//查询章节通过chapterId
@PostMapping("/queryChapter")
BaseResponse<KnowChapter> queryChapter(@RequestParam Long chapterId){
return knowService.queryChapter(chapterId);
}
//=====================
//获取课程下的所有知识点
@GetMapping("/getAllKnowByCourseId")
BaseResponse<BaseKnowReturn> getAllKnowByCourseId(@RequestParam String id){
10 months ago
return knowService.getAllKnowByCourseId(id);
}
10 months ago
//获取二级知识图谱
@GetMapping("/getsecondKnowsById")
BaseResponse<BaseKnowReturn> getsecondKnowsById(@RequestParam Long id){
return knowService.getsecondKnowsById(id);
}
10 months ago
}