diff --git a/pom.xml b/pom.xml index 310834b..4e0f3ce 100644 --- a/pom.xml +++ b/pom.xml @@ -24,6 +24,19 @@ org.springframework.boot spring-boot-starter-web + + + commons-io + commons-io + 1.4 + + + + + commons-fileupload + commons-fileupload + 1.3.1 + org.neo4j.driver diff --git a/src/main/java/com/teaching/TeachingBackendApplication.java b/src/main/java/com/teaching/TeachingBackendApplication.java index fd5e055..c4ac6ba 100644 --- a/src/main/java/com/teaching/TeachingBackendApplication.java +++ b/src/main/java/com/teaching/TeachingBackendApplication.java @@ -4,9 +4,11 @@ import cn.hutool.core.lang.generator.SnowflakeGenerator; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.web.servlet.MultipartAutoConfiguration; import org.springframework.context.annotation.Bean; -@SpringBootApplication +//@SpringBootApplication +@SpringBootApplication(exclude = {MultipartAutoConfiguration.class}) @MapperScan("com.teaching.backend.mapper") public class TeachingBackendApplication { diff --git a/src/main/java/com/teaching/backend/config/UploadConfig.java b/src/main/java/com/teaching/backend/config/UploadConfig.java new file mode 100644 index 0000000..3f21e19 --- /dev/null +++ b/src/main/java/com/teaching/backend/config/UploadConfig.java @@ -0,0 +1,24 @@ +package com.teaching.backend.config; + +/** + * @Author:youhang + * @Date:2024-07-26-13:11 + * @Description: + */ +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.multipart.MultipartResolver; +import org.springframework.web.multipart.commons.CommonsMultipartResolver; + +@Configuration +public class UploadConfig { + //显示声明CommonsMultipartResolver为mutipartResolver + @Bean(name = "multipartResolver") + public MultipartResolver multipartResolver() { + CommonsMultipartResolver resolver = new CommonsMultipartResolver(); + resolver.setDefaultEncoding("UTF-8"); + //resolveLazily属性启用是为了推迟文件解析,以在在UploadAction中捕获文件大小异常 + resolver.setResolveLazily(true); + return resolver; + } +} diff --git a/src/main/java/com/teaching/backend/controller/FavourInformation/FavourInformationController.java b/src/main/java/com/teaching/backend/controller/FavourInformation/FavourInformationController.java index 3e174c5..42718d9 100644 --- a/src/main/java/com/teaching/backend/controller/FavourInformation/FavourInformationController.java +++ b/src/main/java/com/teaching/backend/controller/FavourInformation/FavourInformationController.java @@ -1,45 +1,44 @@ -package com.teaching.backend.controller.FavourInformation; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.common.PageRequest; -import com.teaching.backend.common.ResultUtils; -import com.teaching.backend.model.entity.CourseResources; -import com.teaching.backend.service.resource.CourseResourcesService; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import java.util.List; - -/** - * ClassName: Get - * Package: com.teaching.backend.controller.FavourInformation - * Description: - * - * @Author 姜钧瀚 - * @Create 2024/6/13 18:15 - * @Version 1.0 - */ -@RestController -@RequestMapping ("/api") -public class FavourInformationController{ - - - @Resource - CourseResourcesService courseResourcesService; - - - - @GetMapping("/Favour/get") - public BaseResponse> getInformation2(@RequestParam List resourceIdList , @RequestParam Integer type, PageRequest pageRequest) { - - int page=pageRequest.getCurrent(); - int pageSize=pageRequest.getPageSize(); - - Page resourcesPage=courseResourcesService.getresourceRecords(type,resourceIdList,page,pageSize); - - return ResultUtils.success(resourcesPage); - - } - - } +//package com.teaching.backend.controller.FavourInformation; +// +//import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.common.PageRequest; +//import com.teaching.backend.common.ResultUtils; +//import com.teaching.backend.model.entity.resource.CourseResources; +//import org.springframework.web.bind.annotation.*; +// +//import javax.annotation.Resource; +//import java.util.List; +// +///** +// * ClassName: Get +// * Package: com.teaching.backend.controller.FavourInformation +// * Description: +// * +// * @Author 姜钧瀚 +// * @Create 2024/6/13 18:15 +// * @Version 1.0 +// */ +//@RestController +//@RequestMapping ("/api") +//public class FavourInformationController{ +// +// +// @Resource +// CourseResourcesService courseResourcesService; +// +// +// +// @GetMapping("/Favour/get") +// public BaseResponse> getInformation2(@RequestParam List resourceIdList , @RequestParam Integer type, PageRequest pageRequest) { +// +// int page=pageRequest.getCurrent(); +// int pageSize=pageRequest.getPageSize(); +// +// Page resourcesPage=courseResourcesService.getresourceRecords(type,resourceIdList,page,pageSize); +// +// return ResultUtils.success(resourcesPage); +// +// } +// +// } diff --git a/src/main/java/com/teaching/backend/controller/KnowGraph/KnowController.java b/src/main/java/com/teaching/backend/controller/KnowGraph/KnowController.java index 167e347..2dd3a8b 100644 --- a/src/main/java/com/teaching/backend/controller/KnowGraph/KnowController.java +++ b/src/main/java/com/teaching/backend/controller/KnowGraph/KnowController.java @@ -10,11 +10,13 @@ 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.KnowChapter; 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; +import java.util.Set; @RestController @@ -44,6 +46,13 @@ public class KnowController { public KnowCourse createCourseKnow(@RequestBody KnowCourseCreateRequest knowCourseCreateRequest) { return knowService.createCourseKnow(knowCourseCreateRequest); } + //添加知识点 - 章节 + @PostMapping("/addKnowChapter") + public KnowChapter createKnowChapter(@RequestBody KnowChapterCreateRequest knowChapterCreateRequest) { + return knowService.createKnowChapter(knowChapterCreateRequest); + } + + //修改知识点 @PostMapping ("/update") @@ -82,4 +91,9 @@ public class KnowController { return ResultUtils.success(baseKnowReturn); } + @GetMapping("/KnowBychapterId") + public Set queryByChapterId(@RequestParam String chapterId) { + return knowService.queryByChapterId(chapterId); + } + } diff --git a/src/main/java/com/teaching/backend/controller/KnowGraph/ResourcesController.java b/src/main/java/com/teaching/backend/controller/KnowGraph/ResourcesController.java new file mode 100644 index 0000000..a1c9d21 --- /dev/null +++ b/src/main/java/com/teaching/backend/controller/KnowGraph/ResourcesController.java @@ -0,0 +1,84 @@ +package com.teaching.backend.controller.KnowGraph; + +/** + * @Author:youhang + * @Date:2024-06-09-9:55 + * @Description: + */ + + +import com.teaching.backend.model.dto.KnowGraph.*; +import com.teaching.backend.model.entity.KnowGraph.Know; + +import com.teaching.backend.model.entity.KnowGraph.Resources; + +import com.teaching.backend.service.KnowGraph.ResourcesService; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletRequest; +import java.io.File; +import java.util.List; +import java.util.Set; + + +@RestController +@RequestMapping("/resources") +public class ResourcesController { + + private ResourcesService resourcesService; + + //添加知识点 + @PostMapping("/upload") + public String uploadFile(@RequestParam("file")MultipartFile file) { + System.out.println(file.getOriginalFilename()); + return resourcesService.uploadFile(file); + } + + public ResourcesController(ResourcesService resourcesService) { + this.resourcesService = resourcesService; + } + + //根据 id查询所关联的所有结点 + @PostMapping ("/query/{id}") + public List queryKnowAllKnowById(@PathVariable Long id) { + return resourcesService.queryKnowAllResources(id); + } + + //添加知识点 + @PostMapping("/add") + public Resources createResources(@RequestBody ResourcesAddRequest resourceAddRequest) { + return resourcesService.createResource(resourceAddRequest); + } + + //添加知识点 - 课程 + @PostMapping("/addKnowResources") + public void createCourseKnow(@RequestBody RelationshipResourceRequest relationshipResourceRequest) { + resourcesService.addKnowWithResources(relationshipResourceRequest); + } + + //修改知识点 + @PostMapping ("/update") + public Resources updateKnow(@RequestBody ResourceUpdateRequest resourceUpdateRequest ) { + return resourcesService.updateResources(resourceUpdateRequest); + } + + + //删除知识点 + @GetMapping ("delete/{id}") + public void deleteResource(@PathVariable Long id) { + resourcesService.deleteResources(id); + } + + //添加知识点与知识点的关系 related + @PostMapping ("/addKnowResourcesResources") + public void addKnowWithResource(@RequestBody RelationshipResourceRequest relationshipResourceRequest) { + resourcesService.addKnowWithResources(relationshipResourceRequest); + } + + @GetMapping ("queryCourseKnow/{KnowId}") + public Set queryCourseKnowToResources(@PathVariable Long KnowId) { + return resourcesService.queryCourseKnowToResources(KnowId); + } + +} 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 6da377e..fe245eb 100644 --- a/src/main/java/com/teaching/backend/controller/courseResource/CourseResourceController.java +++ b/src/main/java/com/teaching/backend/controller/courseResource/CourseResourceController.java @@ -1,97 +1,96 @@ -package com.teaching.backend.controller.courseResource; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.common.ResultUtils; - -import com.teaching.backend.model.entity.CourseResources; -import com.teaching.backend.service.impl.CourseResourcesServiceImpl; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.ArrayList; -import java.util.List; - -@RestController -@RequestMapping("/api/courses") -public class CourseResourceController { - @Autowired - private CourseResourcesServiceImpl courseResourcesService; - @ApiOperation("查询全部课程资源记录") - @GetMapping("/all") - public BaseResponse> All(){ - System.out.println("学习记录:"+courseResourcesService.list()); - return ResultUtils.success(courseResourcesService.list()); - } - - @ApiOperation("按type查询课程资源") - @GetMapping("/getall") - public BaseResponse getAll(@RequestParam(value = "pagenum", defaultValue = "1") int pagenum, - @RequestParam(value = "pagesize", defaultValue = "10") int pagesize, - String type) { - - List cs = courseResourcesService.getByType(type); - 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(); // 总记录数 - Page pageInfo = new Page<>(pagenum,pagesize,total); - pageInfo.setRecords(pageCs); - pageInfo.setPages((int)(Math.ceil((double) total / pagesize)));//设置总页数 - return ResultUtils.success(pageInfo); - } - - /** - * 根据ids删除 - * @param ids - * @return - */ - @ApiOperation("根据ids删除") - @DeleteMapping("/delete") - public BaseResponse deleteRecords(@RequestParam List ids){ - courseResourcesService.removeCourseResources(ids); -// courseResourcesService.removeBatchByIds(ids); - return ResultUtils.success("删除成功!!"); - } - - /** - * 新增 - * @param courseResources - * @return - */ - @ApiOperation("新增课程资源") - @PostMapping("/save") - public BaseResponse saveCourseResource(@RequestBody CourseResources courseResources){ - System.out.println(courseResources); - courseResourcesService.saveCourseResource(courseResources); - return ResultUtils.success("添加成功!"); - } - - /** - * 编辑 - * @param resources - * @return - */ - @ApiOperation("编辑课程资源") - @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.getById(resourceId)); - } -} +//package com.teaching.backend.controller.courseResource; +// +//import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.common.ResultUtils; +// +//import com.teaching.backend.model.entity.resource.CourseResources; +//import io.swagger.annotations.ApiOperation; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.web.bind.annotation.*; +// +//import java.util.ArrayList; +//import java.util.List; +// +//@RestController +//@RequestMapping("/api/courses") +//public class CourseResourceController { +// @Autowired +// private CourseResourcesServiceImpl courseResourcesService; +// @ApiOperation("查询全部课程资源记录") +// @GetMapping("/all") +// public BaseResponse> All(){ +// System.out.println("学习记录:"+courseResourcesService.list()); +// return ResultUtils.success(courseResourcesService.list()); +// } +// +// @ApiOperation("按type查询课程资源") +// @GetMapping("/getall") +// public BaseResponse getAll(@RequestParam(value = "pagenum", defaultValue = "1") int pagenum, +// @RequestParam(value = "pagesize", defaultValue = "10") int pagesize, +// String type) { +// +// List cs = courseResourcesService.getByType(type); +// 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(); // 总记录数 +// Page pageInfo = new Page<>(pagenum,pagesize,total); +// pageInfo.setRecords(pageCs); +// pageInfo.setPages((int)(Math.ceil((double) total / pagesize)));//设置总页数 +// return ResultUtils.success(pageInfo); +// } +// +// /** +// * 根据ids删除 +// * @param ids +// * @return +// */ +// @ApiOperation("根据ids删除") +// @DeleteMapping("/delete") +// public BaseResponse deleteRecords(@RequestParam List ids){ +// courseResourcesService.removeCourseResources(ids); +//// courseResourcesService.removeBatchByIds(ids); +// return ResultUtils.success("删除成功!!"); +// } +// +// /** +// * 新增 +// * @param courseResources +// * @return +// */ +// @ApiOperation("新增课程资源") +// @PostMapping("/save") +// public BaseResponse saveCourseResource(@RequestBody CourseResources courseResources){ +// System.out.println(courseResources); +// courseResourcesService.saveCourseResource(courseResources); +// return ResultUtils.success("添加成功!"); +// } +// +// /** +// * 编辑 +// * @param resources +// * @return +// */ +// @ApiOperation("编辑课程资源") +// @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.getById(resourceId)); +// } +//} diff --git a/src/main/java/com/teaching/backend/controller/courses/CoursesController2.java b/src/main/java/com/teaching/backend/controller/courses/CoursesController2.java index 4dd5bf2..7d8d005 100644 --- a/src/main/java/com/teaching/backend/controller/courses/CoursesController2.java +++ b/src/main/java/com/teaching/backend/controller/courses/CoursesController2.java @@ -1,91 +1,86 @@ -package com.teaching.backend.controller.courses; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.common.ErrorCode; -import com.teaching.backend.common.ResultUtils; -import com.teaching.backend.exception.BusinessException; -import com.teaching.backend.filter.ValidateParams; -import com.teaching.backend.mapper.courses.CoursesMapper; -import com.teaching.backend.model.dto.courses.CoursesDTO; -import com.teaching.backend.model.entity.CourseResources; -import com.teaching.backend.model.entity.ResourceRelationship; -import com.teaching.backend.model.entity.courses.Courses; -import com.teaching.backend.model.vo.courses.CoursesVO; -import com.teaching.backend.service.courses.ICoursesService; -import com.teaching.backend.service.resource.ResourcesRelationshipService; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * ClassName: CoursesController2 - * Package: com.teaching.backend.controller.courses - * Description: - * - * @Author 姜钧瀚 - * @Create 2024/7/22 17:52 - * @Version 1.0 - */ -@RestController -@RequestMapping("/api/coursesteacher2") -public class CoursesController2 { - @Autowired - ICoursesService coursesService; - @Autowired - ResourcesRelationshipService resourcesRelationshipService; - - @ApiOperation("网站首页2") - @GetMapping("/index2") - public BaseResponse> getData(@RequestParam("page") int page, @RequestParam("pageSize") int pageSize) { - Map result = coursesService.getPagePageSize2(page, pageSize); - - // 将结果放入新的Map对象中返回 - Map objectMap = new HashMap<>(); - objectMap.put("content", result.get("courses")); - objectMap.put("totalcount", result.get("totalcount")); - objectMap.put("totalPages", result.get("totalPages")); - objectMap.put("currentPage", result.get("currentPage")); - - return ResultUtils.success(objectMap); - } - - - @ApiOperation("根据id查询课程") - @ValidateParams({"id"}) - @GetMapping("/{id}") - public BaseResponse getByIdCourse(@PathVariable String id){ - if(id==null){ - throw new BusinessException(ErrorCode.PARAMS_ERROR,"课程id为空"); - } - Courses course = coursesService.getById(id); - CoursesDTO coursesDTO = new CoursesDTO(); - BeanUtils.copyProperties(course,coursesDTO); - return ResultUtils.success(coursesDTO); - } - - @ApiOperation("点击详情课程根据id查询对应课程的资源") - @GetMapping("/resource/{id}") - public BaseResponse> getResource(@PathVariable String id) { - List relatedResources = resourcesRelationshipService.getResource(id); - return ResultUtils.success(relatedResources); - } - - @ApiOperation("点击详情课程根据id和type查询对应课程的资源") - @GetMapping("/resource/list") - public BaseResponse> getResource2(@RequestParam String id,@RequestParam Integer type) { - List relatedResources = resourcesRelationshipService.getResource2(id,type); - return ResultUtils.success(relatedResources); - } - - } - - - - - +//package com.teaching.backend.controller.courses; +// +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.common.ErrorCode; +//import com.teaching.backend.common.ResultUtils; +//import com.teaching.backend.exception.BusinessException; +//import com.teaching.backend.filter.ValidateParams; +//import com.teaching.backend.model.dto.courses.CoursesDTO; +//import com.teaching.backend.model.entity.resource.CourseResources; +//import com.teaching.backend.model.entity.courses.Courses; +//import com.teaching.backend.service.courses.ICoursesService; +//import io.swagger.annotations.ApiOperation; +//import org.springframework.beans.BeanUtils; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.web.bind.annotation.*; +// +//import java.util.HashMap; +//import java.util.List; +//import java.util.Map; +// +///** +// * ClassName: CoursesController2 +// * Package: com.teaching.backend.controller.courses +// * Description: +// * +// * @Author 姜钧瀚 +// * @Create 2024/7/22 17:52 +// * @Version 1.0 +// */ +//@RestController +//@RequestMapping("/api/coursesteacher2") +//public class CoursesController2 { +// @Autowired +// ICoursesService coursesService; +// @Autowired +// ResourcesRelationshipService resourcesRelationshipService; +// +// @ApiOperation("网站首页2") +// @GetMapping("/index2") +// public BaseResponse> getData(@RequestParam("page") int page, @RequestParam("pageSize") int pageSize) { +// Map result = coursesService.getPagePageSize2(page, pageSize); +// +// // 将结果放入新的Map对象中返回 +// Map objectMap = new HashMap<>(); +// objectMap.put("content", result.get("courses")); +// objectMap.put("totalcount", result.get("totalcount")); +// objectMap.put("totalPages", result.get("totalPages")); +// objectMap.put("currentPage", result.get("currentPage")); +// +// return ResultUtils.success(objectMap); +// } +// +// +// @ApiOperation("根据id查询课程") +// @ValidateParams({"id"}) +// @GetMapping("/{id}") +// public BaseResponse getByIdCourse(@PathVariable String id){ +// if(id==null){ +// throw new BusinessException(ErrorCode.PARAMS_ERROR,"课程id为空"); +// } +// Courses course = coursesService.getById(id); +// CoursesDTO coursesDTO = new CoursesDTO(); +// BeanUtils.copyProperties(course,coursesDTO); +// return ResultUtils.success(coursesDTO); +// } +// +// @ApiOperation("点击详情课程根据id查询对应课程的资源") +// @GetMapping("/resource/{id}") +// public BaseResponse> getResource(@PathVariable String id) { +// List relatedResources = resourcesRelationshipService.getResource(id); +// return ResultUtils.success(relatedResources); +// } +// +// @ApiOperation("点击详情课程根据id和type查询对应课程的资源") +// @GetMapping("/resource/list") +// public BaseResponse> getResource2(@RequestParam String id,@RequestParam Integer type) { +// List relatedResources = resourcesRelationshipService.getResource2(id,type); +// return ResultUtils.success(relatedResources); +// } +// +// } +// +// +// +// +// diff --git a/src/main/java/com/teaching/backend/controller/favour/SeCourseFavourController.java b/src/main/java/com/teaching/backend/controller/favour/SeCourseFavourController.java index 60e81b6..2f78ce9 100644 --- a/src/main/java/com/teaching/backend/controller/favour/SeCourseFavourController.java +++ b/src/main/java/com/teaching/backend/controller/favour/SeCourseFavourController.java @@ -1,114 +1,114 @@ -package com.teaching.backend.controller.favour; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.common.ErrorCode; -import com.teaching.backend.common.ResultUtils; -import com.teaching.backend.exception.BusinessException; -import com.teaching.backend.model.dto.favour.courseFavour.CourseFavourAddRequest; -import com.teaching.backend.model.dto.favour.courseFavour.CourseFavourAllRequest; -import com.teaching.backend.model.dto.favour.courseFavour.CourseFavourQueryRequest; -import com.teaching.backend.model.entity.courses.Courses; -import com.teaching.backend.model.vo.favour.CourseFavourDetailVO; -import com.teaching.backend.service.favour.SeCourseFavourService; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; -import java.util.List; - -/** - * @Author:youhang - * @Date:2024-05-30-20:22 - * @Description: - */ -@RestController -@RequestMapping("/api/course_favour") -@Slf4j -public class SeCourseFavourController { - - @Resource - private SeCourseFavourService seCourseFavourService; - - - - /** - * 收藏/取消收藏 - * - * @param courseFavourAddRequest - * @return result 执行情况 - */ - @PostMapping("/add") - // 加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 - public BaseResponse doFavour(@RequestBody CourseFavourAddRequest courseFavourAddRequest) { - System.out.println(courseFavourAddRequest); - //判断字段是否为空 - if (StringUtils.isAnyBlank(courseFavourAddRequest.getCourseId(), courseFavourAddRequest.getUserId())) { - throw new BusinessException(ErrorCode.PARAMS_ERROR); - } - - return seCourseFavourService.doCourseFavour(courseFavourAddRequest.getCourseId(), courseFavourAddRequest.getUserId()); - - } - - - /** - * 课程点赞总数 - * - * @param courseFavourAddRequest - * @return result 课程点赞总数 - */ - @PostMapping("/count") - // HttpServletRequest request 在一个fitter里面进行鉴权操作 - public BaseResponse favourCount(@RequestBody CourseFavourAddRequest courseFavourAddRequest) { - if (StringUtils.isAnyBlank(courseFavourAddRequest.getCourseId())) { - throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数不能为空"); - } - return seCourseFavourService.favourCount(courseFavourAddRequest.getCourseId()); - } - - /** - * 课程下资源和知识点点赞总数 - * - * @param courseFavourAllRequest - * @return result 课程下资源和知识点点赞总数 - */ - @PostMapping("/countAll") - // todo 后期加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 - public BaseResponse courseCount(@RequestBody CourseFavourAllRequest courseFavourAllRequest) { - if (StringUtils.isAnyBlank(courseFavourAllRequest.getCourseId())) { - throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数不能为空"); - } - // todo 从数据库中校验是否存在courseid - - return seCourseFavourService.courseCount(courseFavourAllRequest.getCourseId()); - } - - - - /** - * 分页获取课程列表 - * - * @return - */ - @PostMapping("/list/page") - public BaseResponse> listPostByPage(@RequestBody CourseFavourQueryRequest courseFavourQueryRequest) { - System.out.println(courseFavourQueryRequest); - long current = courseFavourQueryRequest.getCurrent(); - long size = courseFavourQueryRequest.getPageSize(); - String userId = courseFavourQueryRequest.getUserId(); - List ids = seCourseFavourService.courseList(userId); - QueryWrapper courseQueryWrapper = new QueryWrapper<>(); - courseQueryWrapper.in("id", ids); - Page courseFavourDetailVOPage = seCourseFavourService.listCourseFavourByPage(new Page<>(current, size), courseQueryWrapper); - - return ResultUtils.success(courseFavourDetailVOPage); - } - - -} +//package com.teaching.backend.controller.favour; +// +//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +//import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.common.ErrorCode; +//import com.teaching.backend.common.ResultUtils; +//import com.teaching.backend.exception.BusinessException; +//import com.teaching.backend.model.dto.favour.courseFavour.CourseFavourAddRequest; +//import com.teaching.backend.model.dto.favour.courseFavour.CourseFavourAllRequest; +//import com.teaching.backend.model.dto.favour.courseFavour.CourseFavourQueryRequest; +//import com.teaching.backend.model.entity.courses.Courses; +//import com.teaching.backend.model.vo.favour.CourseFavourDetailVO; +//import com.teaching.backend.service.favour.SeCourseFavourService; +//import lombok.extern.slf4j.Slf4j; +//import org.apache.commons.lang3.StringUtils; +//import org.springframework.web.bind.annotation.PostMapping; +//import org.springframework.web.bind.annotation.RequestBody; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//import javax.annotation.Resource; +//import java.util.List; +// +///** +// * @Author:youhang +// * @Date:2024-05-30-20:22 +// * @Description: +// */ +//@RestController +//@RequestMapping("/api/course_favour") +//@Slf4j +//public class SeCourseFavourController { +// +// @Resource +// private SeCourseFavourService seCourseFavourService; +// +// +// +// /** +// * 收藏/取消收藏 +// * +// * @param courseFavourAddRequest +// * @return result 执行情况 +// */ +// @PostMapping("/add") +// // 加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 +// public BaseResponse doFavour(@RequestBody CourseFavourAddRequest courseFavourAddRequest) { +// System.out.println(courseFavourAddRequest); +// //判断字段是否为空 +// if (StringUtils.isAnyBlank(courseFavourAddRequest.getCourseId(), courseFavourAddRequest.getUserId())) { +// throw new BusinessException(ErrorCode.PARAMS_ERROR); +// } +// +// return seCourseFavourService.doCourseFavour(courseFavourAddRequest.getCourseId(), courseFavourAddRequest.getUserId()); +// +// } +// +// +// /** +// * 课程点赞总数 +// * +// * @param courseFavourAddRequest +// * @return result 课程点赞总数 +// */ +// @PostMapping("/count") +// // HttpServletRequest request 在一个fitter里面进行鉴权操作 +// public BaseResponse favourCount(@RequestBody CourseFavourAddRequest courseFavourAddRequest) { +// if (StringUtils.isAnyBlank(courseFavourAddRequest.getCourseId())) { +// throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数不能为空"); +// } +// return seCourseFavourService.favourCount(courseFavourAddRequest.getCourseId()); +// } +// +// /** +// * 课程下资源和知识点点赞总数 +// * +// * @param courseFavourAllRequest +// * @return result 课程下资源和知识点点赞总数 +// */ +// @PostMapping("/countAll") +// // todo 后期加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 +// public BaseResponse courseCount(@RequestBody CourseFavourAllRequest courseFavourAllRequest) { +// if (StringUtils.isAnyBlank(courseFavourAllRequest.getCourseId())) { +// throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数不能为空"); +// } +// // todo 从数据库中校验是否存在courseid +// +// return seCourseFavourService.courseCount(courseFavourAllRequest.getCourseId()); +// } +// +// +// +// /** +// * 分页获取课程列表 +// * +// * @return +// */ +// @PostMapping("/list/page") +// public BaseResponse> listPostByPage(@RequestBody CourseFavourQueryRequest courseFavourQueryRequest) { +// System.out.println(courseFavourQueryRequest); +// long current = courseFavourQueryRequest.getCurrent(); +// long size = courseFavourQueryRequest.getPageSize(); +// String userId = courseFavourQueryRequest.getUserId(); +// List ids = seCourseFavourService.courseList(userId); +// QueryWrapper courseQueryWrapper = new QueryWrapper<>(); +// courseQueryWrapper.in("id", ids); +// Page courseFavourDetailVOPage = seCourseFavourService.listCourseFavourByPage(new Page<>(current, size), courseQueryWrapper); +// +// return ResultUtils.success(courseFavourDetailVOPage); +// } +// +// +//} diff --git a/src/main/java/com/teaching/backend/controller/favour/SeKnowFavourController.java b/src/main/java/com/teaching/backend/controller/favour/SeKnowFavourController.java index 533e684..8983b0b 100644 --- a/src/main/java/com/teaching/backend/controller/favour/SeKnowFavourController.java +++ b/src/main/java/com/teaching/backend/controller/favour/SeKnowFavourController.java @@ -1,47 +1,47 @@ -package com.teaching.backend.controller.favour; - -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.common.ErrorCode; -import com.teaching.backend.exception.BusinessException; -import com.teaching.backend.model.dto.favour.knowFavour.KnowFavourAddRequest; -import com.teaching.backend.service.favour.SeKnowFavourService; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; - -/** - * @Author:youhang - * @Date:2024-05-30-20:22 - * @Description: - */ -@RestController -@RequestMapping("/api/know_favour") -@Slf4j -public class SeKnowFavourController { - - @Resource - private SeKnowFavourService seKnowFavourService; - - - /** - * 知识点收藏 - * - * @param knowFavourAddRequest - * @return result 执行情况 - */ - @PostMapping("/add") - // 加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 - public BaseResponse doFavour(@RequestBody KnowFavourAddRequest knowFavourAddRequest) { - if (StringUtils.isAnyBlank(knowFavourAddRequest.getCourseId(), knowFavourAddRequest.getKnowId(), knowFavourAddRequest.getUserId())) { - throw new BusinessException(ErrorCode.PARAMS_ERROR); - } - return seKnowFavourService.doKnowFavour( knowFavourAddRequest.getKnowId(), knowFavourAddRequest.getUserId()); - - } - -} +//package com.teaching.backend.controller.favour; +// +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.common.ErrorCode; +//import com.teaching.backend.exception.BusinessException; +//import com.teaching.backend.model.dto.favour.knowFavour.KnowFavourAddRequest; +//import com.teaching.backend.service.favour.SeKnowFavourService; +//import lombok.extern.slf4j.Slf4j; +//import org.apache.commons.lang3.StringUtils; +//import org.springframework.web.bind.annotation.PostMapping; +//import org.springframework.web.bind.annotation.RequestBody; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//import javax.annotation.Resource; +// +///** +// * @Author:youhang +// * @Date:2024-05-30-20:22 +// * @Description: +// */ +//@RestController +//@RequestMapping("/api/know_favour") +//@Slf4j +//public class SeKnowFavourController { +// +// @Resource +// private SeKnowFavourService seKnowFavourService; +// +// +// /** +// * 知识点收藏 +// * +// * @param knowFavourAddRequest +// * @return result 执行情况 +// */ +// @PostMapping("/add") +// // 加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 +// public BaseResponse doFavour(@RequestBody KnowFavourAddRequest knowFavourAddRequest) { +// if (StringUtils.isAnyBlank(knowFavourAddRequest.getCourseId(), knowFavourAddRequest.getKnowId(), knowFavourAddRequest.getUserId())) { +// throw new BusinessException(ErrorCode.PARAMS_ERROR); +// } +// return seKnowFavourService.doKnowFavour( knowFavourAddRequest.getKnowId(), knowFavourAddRequest.getUserId()); +// +// } +// +//} diff --git a/src/main/java/com/teaching/backend/controller/favour/SeResourceFavourController.java b/src/main/java/com/teaching/backend/controller/favour/SeResourceFavourController.java index 7d1201e..0c481c2 100644 --- a/src/main/java/com/teaching/backend/controller/favour/SeResourceFavourController.java +++ b/src/main/java/com/teaching/backend/controller/favour/SeResourceFavourController.java @@ -1,69 +1,69 @@ -package com.teaching.backend.controller.favour; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.common.ErrorCode; -import com.teaching.backend.common.ResultUtils; -import com.teaching.backend.exception.BusinessException; -import com.teaching.backend.model.dto.favour.resourceFavour.ResourceFavourAddRequest; -import com.teaching.backend.model.dto.favour.resourceFavour.ResourceFavourQueryRequest; -import com.teaching.backend.model.entity.CourseResources; -import com.teaching.backend.service.favour.SeResourceFavourService; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; - -/** - * @Author:youhang - * @Date:2024-05-30-20:22 - * @Description: - */ -@RestController -@RequestMapping("/api/resource_favour") -@Slf4j -public class SeResourceFavourController { - - @Resource - private SeResourceFavourService seResourceFavourService; - - - /** - * 资源收藏 - * - * @param resourceFavourAddRequest - * @return result 执行情况 - */ - @PostMapping("/add") - // 加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 - public BaseResponse doFavour(@RequestBody ResourceFavourAddRequest resourceFavourAddRequest) { - if (StringUtils.isAnyBlank(resourceFavourAddRequest.getUserId())) { - throw new BusinessException(ErrorCode.PARAMS_ERROR); - } - - return seResourceFavourService.doResourceFavour(resourceFavourAddRequest.getResourceId(), resourceFavourAddRequest.getUserId()); - } - - - - - /** - * 分页获取资源列表 - * - * @return - */ - @PostMapping("/list/page") - public BaseResponse> listPostByPage(@RequestBody ResourceFavourQueryRequest resourceFavourQueryRequest) { - Integer current = resourceFavourQueryRequest.getCurrent(); - Integer size = resourceFavourQueryRequest.getPageSize(); - String userId = resourceFavourQueryRequest.getUserId(); - Integer type = resourceFavourQueryRequest.getType(); - return ResultUtils.success(seResourceFavourService.listCourseFavourByPage(userId,type,current,size)); - } - - -} +//package com.teaching.backend.controller.favour; +// +//import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.common.ErrorCode; +//import com.teaching.backend.common.ResultUtils; +//import com.teaching.backend.exception.BusinessException; +//import com.teaching.backend.model.dto.favour.resourceFavour.ResourceFavourAddRequest; +//import com.teaching.backend.model.dto.favour.resourceFavour.ResourceFavourQueryRequest; +//import com.teaching.backend.model.entity.resource.CourseResources; +//import com.teaching.backend.service.favour.SeResourceFavourService; +//import lombok.extern.slf4j.Slf4j; +//import org.apache.commons.lang3.StringUtils; +//import org.springframework.web.bind.annotation.PostMapping; +//import org.springframework.web.bind.annotation.RequestBody; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//import javax.annotation.Resource; +// +///** +// * @Author:youhang +// * @Date:2024-05-30-20:22 +// * @Description: +// */ +//@RestController +//@RequestMapping("/api/resource_favour") +//@Slf4j +//public class SeResourceFavourController { +// +// @Resource +// private SeResourceFavourService seResourceFavourService; +// +// +// /** +// * 资源收藏 +// * +// * @param resourceFavourAddRequest +// * @return result 执行情况 +// */ +// @PostMapping("/add") +// // 加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 +// public BaseResponse doFavour(@RequestBody ResourceFavourAddRequest resourceFavourAddRequest) { +// if (StringUtils.isAnyBlank(resourceFavourAddRequest.getUserId())) { +// throw new BusinessException(ErrorCode.PARAMS_ERROR); +// } +// +// return seResourceFavourService.doResourceFavour(resourceFavourAddRequest.getResourceId(), resourceFavourAddRequest.getUserId()); +// } +// +// +// +// +// /** +// * 分页获取资源列表 +// * +// * @return +// */ +// @PostMapping("/list/page") +// public BaseResponse> listPostByPage(@RequestBody ResourceFavourQueryRequest resourceFavourQueryRequest) { +// Integer current = resourceFavourQueryRequest.getCurrent(); +// Integer size = resourceFavourQueryRequest.getPageSize(); +// String userId = resourceFavourQueryRequest.getUserId(); +// Integer type = resourceFavourQueryRequest.getType(); +// return ResultUtils.success(seResourceFavourService.listCourseFavourByPage(userId,type,current,size)); +// } +// +// +//} 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 8926166..474e0e9 100644 --- a/src/main/java/com/teaching/backend/controller/records/LearningRecordsController.java +++ b/src/main/java/com/teaching/backend/controller/records/LearningRecordsController.java @@ -1,89 +1,89 @@ -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; - -import com.teaching.backend.filter.ValidateParams; -import com.teaching.backend.model.entity.records.LearningRecords; -import com.teaching.backend.model.vo.records.LearningRecordsVo; -import com.teaching.backend.service.impl.records.LearningRecordsServiceImpl; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.*; - -import java.util.ArrayList; -import java.util.List; - -@RestController -@RequestMapping("/api/learningrecords") -public class LearningRecordsController { - - @Autowired - private LearningRecordsServiceImpl learningRecordsService; - - - /** - * 获取当前登录用户的学习记录 - * @param pagenum - * @param pagesize - * @return - */ - @ApiOperation("根据用户id查询学习记录") - @ValidateParams({"userId"}) - @GetMapping("/getall") - 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); - - long total = page.getTotal(); // 总记录数 - Page pageInfo = new Page<>(pagenum,pagesize,total); - pageInfo.setRecords(cs); - pageInfo.setPages(page.getPages());//设置总页数 - return ResultUtils.success(pageInfo); - } - - @ApiOperation("查询所有") - @GetMapping("/all") - public BaseResponse> All(){ -// System.out.println("学习记录:"+learningRecordsService.list()); - - return ResultUtils.success(learningRecordsService.list()); - } - - //资源类型: 1,课程学习记录,2,知识点学习记录,3课程资源学习记录 - /** - * 添加课程记录 - * @param learningRecords - * @return - */ - @ApiOperation("添加学习记录") - @ValidateParams({"userId","type","coursesId"}) - @PostMapping("/saverecords") - public BaseResponse saveRecords(@RequestBody LearningRecords learningRecords){ -// System.out.println(learningRecords); - return ResultUtils.success(learningRecordsService.saveRecords(learningRecords)); - } - - /** - * 根据id删除 - * @param ids - * @return - */ - @DeleteMapping("/delete") - //@ValidateParams({"ids"}) - public BaseResponse deleteRecords(@RequestParam List ids){ - return ResultUtils.success(learningRecordsService.delete(ids)); - } -} +//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; +// +//import com.teaching.backend.filter.ValidateParams; +//import com.teaching.backend.model.entity.records.LearningRecords; +//import com.teaching.backend.model.vo.records.LearningRecordsVo; +//import com.teaching.backend.service.impl.records.LearningRecordsServiceImpl; +//import io.swagger.annotations.ApiOperation; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.ui.Model; +//import org.springframework.web.bind.annotation.*; +// +//import java.util.ArrayList; +//import java.util.List; +// +//@RestController +//@RequestMapping("/api/learningrecords") +//public class LearningRecordsController { +// +// @Autowired +// private LearningRecordsServiceImpl learningRecordsService; +// +// +// /** +// * 获取当前登录用户的学习记录 +// * @param pagenum +// * @param pagesize +// * @return +// */ +// @ApiOperation("根据用户id查询学习记录") +// @ValidateParams({"userId"}) +// @GetMapping("/getall") +// 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); +// +// long total = page.getTotal(); // 总记录数 +// Page pageInfo = new Page<>(pagenum,pagesize,total); +// pageInfo.setRecords(cs); +// pageInfo.setPages(page.getPages());//设置总页数 +// return ResultUtils.success(pageInfo); +// } +// +// @ApiOperation("查询所有") +// @GetMapping("/all") +// public BaseResponse> All(){ +//// System.out.println("学习记录:"+learningRecordsService.list()); +// +// return ResultUtils.success(learningRecordsService.list()); +// } +// +// //资源类型: 1,课程学习记录,2,知识点学习记录,3课程资源学习记录 +// /** +// * 添加课程记录 +// * @param learningRecords +// * @return +// */ +// @ApiOperation("添加学习记录") +// @ValidateParams({"userId","type","coursesId"}) +// @PostMapping("/saverecords") +// public BaseResponse saveRecords(@RequestBody LearningRecords learningRecords){ +//// System.out.println(learningRecords); +// return ResultUtils.success(learningRecordsService.saveRecords(learningRecords)); +// } +// +// /** +// * 根据id删除 +// * @param ids +// * @return +// */ +// @DeleteMapping("/delete") +// //@ValidateParams({"ids"}) +// public BaseResponse deleteRecords(@RequestParam List ids){ +// return ResultUtils.success(learningRecordsService.delete(ids)); +// } +//} diff --git a/src/main/java/com/teaching/backend/controller/resource/ResourceController.java b/src/main/java/com/teaching/backend/controller/resource/ResourceController.java index fcf5161..a9c9dec 100644 --- a/src/main/java/com/teaching/backend/controller/resource/ResourceController.java +++ b/src/main/java/com/teaching/backend/controller/resource/ResourceController.java @@ -1,24 +1,16 @@ package com.teaching.backend.controller.resource; -import com.aliyun.oss.OSS; -import com.aliyun.oss.OSSClientBuilder; - import com.teaching.backend.common.BaseResponse; import com.teaching.backend.common.ResultUtils; -import com.teaching.backend.service.resource.CourseResourcesService; +import com.teaching.backend.service.KnowGraph.ResourcesService; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import com.teaching.backend.service.resource.ResourceService; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.*; -import java.util.UUID; /** * ClassName: CommonController @@ -30,77 +22,20 @@ import java.util.UUID; * @Version 1.0 */ @RestController +@RequestMapping("/resource") public class ResourceController { - @Resource - private CourseResourcesService courseResourcesService; - - @Value("${aliyun.oss.endpoint}") - private String endpoint; - - @Value("${aliyun.oss.accessKeyId}") - private String accessKeyId; - - @Value("${aliyun.oss.accessKeySecret}") - private String accessKeySecret; - - @Value("${aliyun.oss.bucketName}") - private String bucketName; - + private ResourceService resourceService; + //添加知识点 @PostMapping("/upload") - public BaseResponse upload(MultipartFile file) throws IOException { - - - OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); - - String originalFilename = file.getOriginalFilename(); - - String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); - Integer Filetype; - String subDir; - if (suffix.equalsIgnoreCase(".jpg") || suffix.equalsIgnoreCase(".jpeg") || suffix.equalsIgnoreCase(".png")) { - subDir = "img/"; - Filetype=1 ; - } else if (suffix.equalsIgnoreCase(".mp4") || suffix.equalsIgnoreCase(".avi") || suffix.equalsIgnoreCase(".mov")) { - subDir = "video/"; - Filetype=2 ; - } else if (suffix.equalsIgnoreCase(".mp3") || suffix.equalsIgnoreCase(".wav") || suffix.equalsIgnoreCase(".flac")) { - subDir = "video/"; - Filetype = 3; - }else { - subDir = "others/"; - Filetype=4; - } - - - String fileName = UUID.randomUUID().toString().replace("-", "") + suffix; - - - ossClient.putObject(bucketName, subDir + fileName, file.getInputStream()); - - - String objectUrl = "https://" + bucketName + "." + endpoint + "/" + subDir + fileName; - Integer type=Filetype; - courseResourcesService.updateFile(type, fileName, objectUrl); // 更新文件路径为OSS生成的URL - - ossClient.shutdown(); - - System.out.println("文件的地址是:" + objectUrl); - - return ResultUtils.success(objectUrl); + public String uploadFile(@RequestParam("file")MultipartFile file) { + System.out.println(file.getOriginalFilename()); + return resourceService.upload(file); } - //文件下载 - @GetMapping("/download") - public BaseResponse download(@RequestParam String Id, @RequestParam String path, HttpServletResponse response) throws IOException { - System.out.println("执行了下载的方法"); - courseResourcesService.download(Id,path,response,endpoint,accessKeyId,accessKeySecret,bucketName); - - return ResultUtils.success("成功"); - } } diff --git a/src/main/java/com/teaching/backend/controller/thumb/SeCourseThumbController.java b/src/main/java/com/teaching/backend/controller/thumb/SeCourseThumbController.java index 414d475..af19e27 100644 --- a/src/main/java/com/teaching/backend/controller/thumb/SeCourseThumbController.java +++ b/src/main/java/com/teaching/backend/controller/thumb/SeCourseThumbController.java @@ -1,65 +1,65 @@ -package com.teaching.backend.controller.thumb; - -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.common.ErrorCode; -import com.teaching.backend.exception.BusinessException; -import com.teaching.backend.model.dto.thumb.coursethumb.CourseThumbAddRequest; -import com.teaching.backend.model.dto.thumb.coursethumb.CourseThumbAllRequest; -import com.teaching.backend.service.thumb.SeCourseThumbService; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; - -/** - * @Author:youhang - * @Date:2024-05-30-20:22 - * @Description: - */ -@RestController -@RequestMapping("/api/course_thumb") -@Slf4j -public class SeCourseThumbController { - - @Resource - private SeCourseThumbService seCourseThumbService; - - - /** - * 点赞/取消点赞 - * - * @param courseThumbAddRequest - * @return result 执行情况 - */ - @PostMapping("/") - // HttpServletRequest request 在一个fitter里面进行鉴权操作 - public BaseResponse doThumb(@RequestBody CourseThumbAddRequest courseThumbAddRequest) { - - return seCourseThumbService.doCourseThumb(courseThumbAddRequest.getCourseId(), courseThumbAddRequest.getUserId()); - - } - - - /** - * 课程点赞总数 - * - * @param courseThumbAddRequest - * @return result 课程点赞总数 - */ - @PostMapping("/count") - // HttpServletRequest request 在一个fitter里面进行鉴权操作 - public BaseResponse thumbCount(@RequestBody CourseThumbAddRequest courseThumbAddRequest) { - if (StringUtils.isAnyBlank(courseThumbAddRequest.getCourseId())) { - throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数不能为空"); - } - - return seCourseThumbService.thumbCount(courseThumbAddRequest.getCourseId()); - - } - - -} +//package com.teaching.backend.controller.thumb; +// +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.common.ErrorCode; +//import com.teaching.backend.exception.BusinessException; +//import com.teaching.backend.model.dto.thumb.coursethumb.CourseThumbAddRequest; +//import com.teaching.backend.model.dto.thumb.coursethumb.CourseThumbAllRequest; +//import com.teaching.backend.service.thumb.SeCourseThumbService; +//import lombok.extern.slf4j.Slf4j; +//import org.apache.commons.lang3.StringUtils; +//import org.springframework.web.bind.annotation.PostMapping; +//import org.springframework.web.bind.annotation.RequestBody; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//import javax.annotation.Resource; +// +///** +// * @Author:youhang +// * @Date:2024-05-30-20:22 +// * @Description: +// */ +//@RestController +//@RequestMapping("/api/course_thumb") +//@Slf4j +//public class SeCourseThumbController { +// +// @Resource +// private SeCourseThumbService seCourseThumbService; +// +// +// /** +// * 点赞/取消点赞 +// * +// * @param courseThumbAddRequest +// * @return result 执行情况 +// */ +// @PostMapping("/") +// // HttpServletRequest request 在一个fitter里面进行鉴权操作 +// public BaseResponse doThumb(@RequestBody CourseThumbAddRequest courseThumbAddRequest) { +// +// return seCourseThumbService.doCourseThumb(courseThumbAddRequest.getCourseId(), courseThumbAddRequest.getUserId()); +// +// } +// +// +// /** +// * 课程点赞总数 +// * +// * @param courseThumbAddRequest +// * @return result 课程点赞总数 +// */ +// @PostMapping("/count") +// // HttpServletRequest request 在一个fitter里面进行鉴权操作 +// public BaseResponse thumbCount(@RequestBody CourseThumbAddRequest courseThumbAddRequest) { +// if (StringUtils.isAnyBlank(courseThumbAddRequest.getCourseId())) { +// throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数不能为空"); +// } +// +// return seCourseThumbService.thumbCount(courseThumbAddRequest.getCourseId()); +// +// } +// +// +//} diff --git a/src/main/java/com/teaching/backend/controller/thumb/SeKnowThumbController.java b/src/main/java/com/teaching/backend/controller/thumb/SeKnowThumbController.java index 3e158bb..89f8e70 100644 --- a/src/main/java/com/teaching/backend/controller/thumb/SeKnowThumbController.java +++ b/src/main/java/com/teaching/backend/controller/thumb/SeKnowThumbController.java @@ -1,44 +1,44 @@ -package com.teaching.backend.controller.thumb; - -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.common.ErrorCode; -import com.teaching.backend.exception.BusinessException; -import com.teaching.backend.model.dto.thumb.knowthumb.KnowThumbAddRequest; -import com.teaching.backend.service.thumb.SeKnowThumbService; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; - -/** - * @Author:youhang - * @Date:2024-05-30-20:22 - * @Description: - */ -@RestController -@RequestMapping("/api/know_thumb") -@Slf4j -public class SeKnowThumbController { - - @Resource - private SeKnowThumbService seKnowThumbService; - - - /** - * 点赞 - * - * @param knowThumbAddRequest - * @return result 执行情况 - */ - @PostMapping("/add") - // 加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 - public BaseResponse doThumb(@RequestBody KnowThumbAddRequest knowThumbAddRequest) { - return seKnowThumbService.doKnowThumb(knowThumbAddRequest.getKnowId(), knowThumbAddRequest.getUserId()); - - } - -} +//package com.teaching.backend.controller.thumb; +// +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.common.ErrorCode; +//import com.teaching.backend.exception.BusinessException; +//import com.teaching.backend.model.dto.thumb.knowthumb.KnowThumbAddRequest; +//import com.teaching.backend.service.thumb.SeKnowThumbService; +//import lombok.extern.slf4j.Slf4j; +//import org.apache.commons.lang3.StringUtils; +//import org.springframework.web.bind.annotation.PostMapping; +//import org.springframework.web.bind.annotation.RequestBody; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//import javax.annotation.Resource; +// +///** +// * @Author:youhang +// * @Date:2024-05-30-20:22 +// * @Description: +// */ +//@RestController +//@RequestMapping("/api/know_thumb") +//@Slf4j +//public class SeKnowThumbController { +// +// @Resource +// private SeKnowThumbService seKnowThumbService; +// +// +// /** +// * 点赞 +// * +// * @param knowThumbAddRequest +// * @return result 执行情况 +// */ +// @PostMapping("/add") +// // 加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 +// public BaseResponse doThumb(@RequestBody KnowThumbAddRequest knowThumbAddRequest) { +// return seKnowThumbService.doKnowThumb(knowThumbAddRequest.getKnowId(), knowThumbAddRequest.getUserId()); +// +// } +// +//} diff --git a/src/main/java/com/teaching/backend/controller/thumb/SeResourceThumbController.java b/src/main/java/com/teaching/backend/controller/thumb/SeResourceThumbController.java index e82ed6c..3ec16fb 100644 --- a/src/main/java/com/teaching/backend/controller/thumb/SeResourceThumbController.java +++ b/src/main/java/com/teaching/backend/controller/thumb/SeResourceThumbController.java @@ -1,44 +1,44 @@ -package com.teaching.backend.controller.thumb; - -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.common.ErrorCode; -import com.teaching.backend.exception.BusinessException; -import com.teaching.backend.model.dto.thumb.resourcethumb.ResourceThumbAddRequest; -import com.teaching.backend.service.thumb.SeResourceThumbService; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.annotation.Resource; - -/** - * @Author:youhang - * @Date:2024-05-30-20:22 - * @Description: - */ -@RestController -@RequestMapping("/api/resource_thumb") -@Slf4j -public class SeResourceThumbController { - - @Resource - private SeResourceThumbService seResourceThumbService; - - - /** - * 点赞 - * - * @param resourceThumbAddRequest - * @return result 执行情况 - */ - @PostMapping("/add") - // 加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 - public BaseResponse doThumb(@RequestBody ResourceThumbAddRequest resourceThumbAddRequest) { - return seResourceThumbService.doResourceThumb( resourceThumbAddRequest.getResourceId(), resourceThumbAddRequest.getUserId()); - - } - -} +//package com.teaching.backend.controller.thumb; +// +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.common.ErrorCode; +//import com.teaching.backend.exception.BusinessException; +//import com.teaching.backend.model.dto.thumb.resourcethumb.ResourceThumbAddRequest; +//import com.teaching.backend.service.thumb.SeResourceThumbService; +//import lombok.extern.slf4j.Slf4j; +//import org.apache.commons.lang3.StringUtils; +//import org.springframework.web.bind.annotation.PostMapping; +//import org.springframework.web.bind.annotation.RequestBody; +//import org.springframework.web.bind.annotation.RequestMapping; +//import org.springframework.web.bind.annotation.RestController; +// +//import javax.annotation.Resource; +// +///** +// * @Author:youhang +// * @Date:2024-05-30-20:22 +// * @Description: +// */ +//@RestController +//@RequestMapping("/api/resource_thumb") +//@Slf4j +//public class SeResourceThumbController { +// +// @Resource +// private SeResourceThumbService seResourceThumbService; +// +// +// /** +// * 点赞 +// * +// * @param resourceThumbAddRequest +// * @return result 执行情况 +// */ +// @PostMapping("/add") +// // 加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 +// public BaseResponse doThumb(@RequestBody ResourceThumbAddRequest resourceThumbAddRequest) { +// return seResourceThumbService.doResourceThumb( resourceThumbAddRequest.getResourceId(), resourceThumbAddRequest.getUserId()); +// +// } +// +//} diff --git a/src/main/java/com/teaching/backend/mapper/KnowGraph/KnowRepository.java b/src/main/java/com/teaching/backend/mapper/KnowGraph/KnowRepository.java index d26ff96..3a2efdb 100644 --- a/src/main/java/com/teaching/backend/mapper/KnowGraph/KnowRepository.java +++ b/src/main/java/com/teaching/backend/mapper/KnowGraph/KnowRepository.java @@ -9,11 +9,13 @@ package com.teaching.backend.mapper.KnowGraph; import com.teaching.backend.model.dto.KnowGraph.KnowCourseCreateRequest; import com.teaching.backend.model.entity.KnowGraph.Know; +import com.teaching.backend.model.entity.KnowGraph.KnowChapter; 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; +import java.util.Set; public interface KnowRepository extends Neo4jRepository { @@ -28,9 +30,13 @@ public interface KnowRepository extends Neo4jRepository { 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); + @Query("CREATE (n:Know {name: $name, courseId: $courseId,info:$info}) return n") + KnowCourse createKnowCourse(String courseId, String name, String info); + @Query("CREATE (n:Know {name: $name, chapterId: $chapterId,info:$info}) return n") + KnowChapter createKnowChapter(String chapterId, String name, String info); + @Query("MATCH(n:Know)-[r:FatherAndSon*]->(nn:Know) where n.chapterId = $chapterId RETURN nn") + Set queryByChapterId(String chapterId); } diff --git a/src/main/java/com/teaching/backend/mapper/KnowGraph/ResourcesRepository.java b/src/main/java/com/teaching/backend/mapper/KnowGraph/ResourcesRepository.java new file mode 100644 index 0000000..b0c456f --- /dev/null +++ b/src/main/java/com/teaching/backend/mapper/KnowGraph/ResourcesRepository.java @@ -0,0 +1,34 @@ +package com.teaching.backend.mapper.KnowGraph; + +/** + * @Author:youhang + * @Date:2024-06-09-8:59 + * @Description: + */ + + +import com.teaching.backend.model.entity.KnowGraph.Know; + +import com.teaching.backend.model.entity.KnowGraph.Resources; +import org.neo4j.driver.Result; +import org.springframework.data.neo4j.repository.Neo4jRepository; +import org.springframework.data.neo4j.repository.query.Query; + +import java.util.List; +import java.util.Set; + +public interface ResourcesRepository extends Neo4jRepository { + + + @Query("MATCH (p:Know), (c:Resources) WHERE ID(p) = $id AND ID(c) in $ResourcesIds CREATE (p)-[r:resources]->(c)") + void addResourceRelatedKnow(Long id, List ResourcesIds); + + + @Query("MATCH(n:Know)-[r:resources]->(nn:Resources) where ID(nn) = $id RETURN nn") + List queryResourceAllId(Long id); + + @Query("MATCH p = (a:Know)-[rels*]-(b:Resources) WHERE ID(a) = $KnowId and ANY(rel IN rels WHERE TYPE(rel) = 'resources') RETURN b") + Set queryCourseKnowToResources(Long KnowId); + + +} diff --git a/src/main/java/com/teaching/backend/mapper/resource/CourseResourcesMapper.java b/src/main/java/com/teaching/backend/mapper/resource/ResourcesMapper.java similarity index 61% rename from src/main/java/com/teaching/backend/mapper/resource/CourseResourcesMapper.java rename to src/main/java/com/teaching/backend/mapper/resource/ResourcesMapper.java index 896f2bc..de072b2 100644 --- a/src/main/java/com/teaching/backend/mapper/resource/CourseResourcesMapper.java +++ b/src/main/java/com/teaching/backend/mapper/resource/ResourcesMapper.java @@ -1,11 +1,9 @@ package com.teaching.backend.mapper.resource; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.teaching.backend.model.entity.CourseResources; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Select; -import java.util.List; +import com.teaching.backend.model.entity.resource.Resource; +import org.apache.ibatis.annotations.Mapper; /** * ClassName: FileTableMapper @@ -17,6 +15,6 @@ import java.util.List; * @Version 1.0 */ @Mapper -public interface CourseResourcesMapper extends BaseMapper { +public interface ResourcesMapper extends BaseMapper { } diff --git a/src/main/java/com/teaching/backend/mapper/resource/ResourcesRelationshipMapper.java b/src/main/java/com/teaching/backend/mapper/resource/ResourcesRelationshipMapper.java deleted file mode 100644 index 7c44c6d..0000000 --- a/src/main/java/com/teaching/backend/mapper/resource/ResourcesRelationshipMapper.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.teaching.backend.mapper.resource; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.teaching.backend.model.entity.CourseResources; -import com.teaching.backend.model.entity.ResourceRelationship; -import org.apache.ibatis.annotations.Mapper; -import org.apache.tomcat.websocket.BackgroundProcess; - -/** - * ClassName: ResourcesRelationshipMapper - * Package: com.teaching.backend.mapper - * Description: - * - * @Author 姜钧瀚 - * @Create 2024/6/12 21:07 - * @Version 1.0 - */ -@Mapper -public interface ResourcesRelationshipMapper extends BaseMapper { -} diff --git a/src/main/java/com/teaching/backend/model/dto/KnowGraph/KnowChapterCreateRequest.java b/src/main/java/com/teaching/backend/model/dto/KnowGraph/KnowChapterCreateRequest.java new file mode 100644 index 0000000..85f542b --- /dev/null +++ b/src/main/java/com/teaching/backend/model/dto/KnowGraph/KnowChapterCreateRequest.java @@ -0,0 +1,31 @@ +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 KnowChapterCreateRequest implements Serializable { + + /** + * 知识点名称 + */ + private String chapterId; + + /** + * 知识点名称 + */ + private String name; + + /** + * 信息 + */ + + private String info; + + + +} + 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 index 6c71be0..9e15c8e 100644 --- a/src/main/java/com/teaching/backend/model/dto/KnowGraph/KnowCourseCreateRequest.java +++ b/src/main/java/com/teaching/backend/model/dto/KnowGraph/KnowCourseCreateRequest.java @@ -27,11 +27,6 @@ public class KnowCourseCreateRequest implements Serializable { - /** - * 知识点所关联的资源 - */ - @Property - private List resourceList; } diff --git a/src/main/java/com/teaching/backend/model/dto/KnowGraph/RelationshipResourceRequest.java b/src/main/java/com/teaching/backend/model/dto/KnowGraph/RelationshipResourceRequest.java new file mode 100644 index 0000000..3d46088 --- /dev/null +++ b/src/main/java/com/teaching/backend/model/dto/KnowGraph/RelationshipResourceRequest.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 RelationshipResourceRequest implements Serializable { + + /** + * knowid + */ + private Long id; + + /** + * 资源id + */ + private List resourceIds; + +} + diff --git a/src/main/java/com/teaching/backend/model/dto/KnowGraph/ResourceUpdateRequest.java b/src/main/java/com/teaching/backend/model/dto/KnowGraph/ResourceUpdateRequest.java new file mode 100644 index 0000000..7404cee --- /dev/null +++ b/src/main/java/com/teaching/backend/model/dto/KnowGraph/ResourceUpdateRequest.java @@ -0,0 +1,22 @@ +package com.teaching.backend.model.dto.KnowGraph; + +import lombok.Data; + +/** + * @Author:youhang + * @Date:2024-07-25-8:39 + * @Description: + */ +@Data +public class ResourceUpdateRequest { + + private Long id; + + private String resourceId; + + + private Integer type; + + + private String path; +} diff --git a/src/main/java/com/teaching/backend/model/dto/KnowGraph/ResourcesAddRequest.java b/src/main/java/com/teaching/backend/model/dto/KnowGraph/ResourcesAddRequest.java new file mode 100644 index 0000000..14bf6ec --- /dev/null +++ b/src/main/java/com/teaching/backend/model/dto/KnowGraph/ResourcesAddRequest.java @@ -0,0 +1,21 @@ +package com.teaching.backend.model.dto.KnowGraph; + +import lombok.Data; +import org.springframework.data.neo4j.core.schema.Property; + +/** + * @Author:youhang + * @Date:2024-07-25-8:39 + * @Description: + */ +@Data +public class ResourcesAddRequest { + + private String resourcesId; + + private String name; + + private Integer type; + + private String path; +} diff --git a/src/main/java/com/teaching/backend/model/dto/KnowGraph/ResourcesRequest.java b/src/main/java/com/teaching/backend/model/dto/KnowGraph/ResourcesRequest.java new file mode 100644 index 0000000..37e4bdf --- /dev/null +++ b/src/main/java/com/teaching/backend/model/dto/KnowGraph/ResourcesRequest.java @@ -0,0 +1,15 @@ +package com.teaching.backend.model.dto.KnowGraph; + +import lombok.Data; +import org.springframework.web.multipart.MultipartFile; + +/** + * @Author:youhang + * @Date:2024-07-25-8:39 + * @Description: + */ +@Data +public class ResourcesRequest { + + private MultipartFile file; +} 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 index b3836cb..79af7ca 100644 --- a/src/main/java/com/teaching/backend/model/entity/KnowGraph/Know.java +++ b/src/main/java/com/teaching/backend/model/entity/KnowGraph/Know.java @@ -34,12 +34,7 @@ public class Know implements Serializable { @Property private String info; - - /** - * 知识点所关联的资源 - */ - @Property - private List resourceList; + } diff --git a/src/main/java/com/teaching/backend/model/entity/KnowGraph/KnowChapter.java b/src/main/java/com/teaching/backend/model/entity/KnowGraph/KnowChapter.java new file mode 100644 index 0000000..3454ed0 --- /dev/null +++ b/src/main/java/com/teaching/backend/model/entity/KnowGraph/KnowChapter.java @@ -0,0 +1,44 @@ +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 KnowChapter implements Serializable { + + + /** + * id + */ + @Id + @GeneratedValue + private Long id; + + /** + * 章节id + */ + private String chapterId; + + + /** + * 知识点名称 + */ + @Property + private String name; + + /** + * 信息 + */ + @Property + private String info; + + +} + 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 index 587fb00..5860524 100644 --- a/src/main/java/com/teaching/backend/model/entity/KnowGraph/KnowCourse.java +++ b/src/main/java/com/teaching/backend/model/entity/KnowGraph/KnowCourse.java @@ -22,7 +22,7 @@ public class KnowCourse implements Serializable { private Long id; /** - * 知识点名称 + * 课程id */ private String courseId; @@ -40,11 +40,6 @@ public class KnowCourse implements Serializable { private String info; - /** - * 知识点所关联的资源 - */ - @Property - private List resourceList; } diff --git a/src/main/java/com/teaching/backend/model/entity/KnowGraph/Resources.java b/src/main/java/com/teaching/backend/model/entity/KnowGraph/Resources.java new file mode 100644 index 0000000..2f8ada6 --- /dev/null +++ b/src/main/java/com/teaching/backend/model/entity/KnowGraph/Resources.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-25-8:36 + * @Description: + */ +@Data +@Node +public class Resources { + @Id + @GeneratedValue + private Long id; + + @Property + private String resourcesId; + + @Property + private String name; + + @Property + private Integer type; + + @Property + private String path; +} diff --git a/src/main/java/com/teaching/backend/model/entity/CourseResources.java b/src/main/java/com/teaching/backend/model/entity/resource/Resource.java similarity index 85% rename from src/main/java/com/teaching/backend/model/entity/CourseResources.java rename to src/main/java/com/teaching/backend/model/entity/resource/Resource.java index 637c2a6..0b0a9da 100644 --- a/src/main/java/com/teaching/backend/model/entity/CourseResources.java +++ b/src/main/java/com/teaching/backend/model/entity/resource/Resource.java @@ -1,4 +1,4 @@ -package com.teaching.backend.model.entity; +package com.teaching.backend.model.entity.resource; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; @@ -15,16 +15,13 @@ import java.util.stream.Stream; * Package: com.teaching.backend.model.entity * Description: * - * @Author 姜钧瀚 + * @Author youhang * @Create 2024/6/4 11:48 * @Version 1.0 */ @Data -@ToString -@NoArgsConstructor -@AllArgsConstructor @TableName("Resource") -public class CourseResources { +public class Resource { private static final long serialVersionUID = 1L; /** diff --git a/src/main/java/com/teaching/backend/service/KnowGraph/KnowService.java b/src/main/java/com/teaching/backend/service/KnowGraph/KnowService.java index 03ae676..a4c1dba 100644 --- a/src/main/java/com/teaching/backend/service/KnowGraph/KnowService.java +++ b/src/main/java/com/teaching/backend/service/KnowGraph/KnowService.java @@ -3,6 +3,7 @@ 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.KnowChapter; import com.teaching.backend.model.entity.KnowGraph.KnowCourse; import com.teaching.backend.model.entity.KnowGraph.Links; import com.teaching.backend.model.vo.knowGraph.KnowVO; @@ -45,10 +46,14 @@ public class KnowService { } public KnowCourse createCourseKnow(KnowCourseCreateRequest knowCourseCreateRequest ) { - return knowRepository.createKnowCourse(knowCourseCreateRequest.getCourseId(),knowCourseCreateRequest.getName(),knowCourseCreateRequest.getInfo(),knowCourseCreateRequest.getResourceList()); + return knowRepository.createKnowCourse(knowCourseCreateRequest.getCourseId(),knowCourseCreateRequest.getName(),knowCourseCreateRequest.getInfo()); } + public KnowChapter createKnowChapter(KnowChapterCreateRequest knowChapterCreateRequest ) { + return knowRepository.createKnowChapter(knowChapterCreateRequest.getChapterId(),knowChapterCreateRequest.getName(),knowChapterCreateRequest.getInfo()); + + } public void deleteKnow(Long id) { knowRepository.deleteById(id); @@ -169,4 +174,9 @@ public class KnowService { return baseKnowReturn; } + public Set queryByChapterId(String chapterId){ + Set knows = knowRepository.queryByChapterId(chapterId); + return knows; + } + } diff --git a/src/main/java/com/teaching/backend/service/KnowGraph/ResourcesService.java b/src/main/java/com/teaching/backend/service/KnowGraph/ResourcesService.java new file mode 100644 index 0000000..a5760bd --- /dev/null +++ b/src/main/java/com/teaching/backend/service/KnowGraph/ResourcesService.java @@ -0,0 +1,85 @@ +package com.teaching.backend.service.KnowGraph; + +import cn.hutool.core.io.FileUtil; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import com.teaching.backend.mapper.KnowGraph.ResourcesRepository; +import com.teaching.backend.model.dto.KnowGraph.*; +import com.teaching.backend.model.entity.KnowGraph.Resources; +import org.springframework.beans.BeanUtils; +import org.springframework.data.neo4j.core.Neo4jClient; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; +import javax.annotation.Resource; +import java.io.File; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.*; + +/** + * @Author:youhang + * @Date:2024-07-21-14:46 + * @Description: + */ +@Service +public class ResourcesService { + private static final String GLOBAL_CODE_DIR_NAME = "tempFile"; + private ResourcesRepository resourcesRepository; + @Resource + private Neo4jClient neo4jClient; + + public ResourcesService(ResourcesRepository resourcesRepository) { + this.resourcesRepository = resourcesRepository; + } + + + public List queryKnowAllResources(Long id) { + return resourcesRepository.queryResourceAllId(id); + } + + + public Resources createResource(ResourcesAddRequest resourceAddRequest ) { + Resources resources = new Resources(); + BeanUtils.copyProperties(resourceAddRequest,resources); + return resourcesRepository.save(resources); + } + + + public void deleteResources(Long id) { + resourcesRepository.deleteById(id); + } + + public Resources updateResources(ResourceUpdateRequest resourceUpdateRequest ) { + Resources resources = new Resources(); + resources = resourcesRepository.findById(resourceUpdateRequest.getId()).orElseThrow(() -> new RuntimeException("知识点 not found")); + BeanUtils.copyProperties(resourceUpdateRequest,resources); + return resourcesRepository.save(resources); + } + + + public void addKnowWithResources( RelationshipResourceRequest relationshipResourceRequest) { + resourcesRepository.addResourceRelatedKnow(relationshipResourceRequest.getId(),relationshipResourceRequest.getResourceIds()); + } + + public Set queryCourseKnowToResources(Long KnowId){ + return resourcesRepository.queryCourseKnowToResources(KnowId); + } + + public String uploadFile(MultipartFile file) { + String userDir = System.getProperty("user.dir"); + String globalFilePathName = userDir + File.separator + GLOBAL_CODE_DIR_NAME; + if (!FileUtil.exist(globalFilePathName)) { + FileUtil.mkdir(globalFilePathName); + } + // 把用户的代码隔离存放 + File userCodeFile = null; + try { + String userCodeParentPath = globalFilePathName + File.separator + UUID.randomUUID(); + String userCodePath = userCodeParentPath + File.separator + file.getOriginalFilename(); + userCodeFile = FileUtil.writeFromStream(file.getInputStream(), userCodePath); + } catch (Exception e) { + System.out.println("失败"); + } + return userCodeFile.getPath(); + } +} diff --git a/src/main/java/com/teaching/backend/service/favour/SeResourceFavourService.java b/src/main/java/com/teaching/backend/service/favour/SeResourceFavourService.java index 4746790..38124f3 100644 --- a/src/main/java/com/teaching/backend/service/favour/SeResourceFavourService.java +++ b/src/main/java/com/teaching/backend/service/favour/SeResourceFavourService.java @@ -1,28 +1,28 @@ -package com.teaching.backend.service.favour; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.model.entity.CourseResources; -import com.teaching.backend.model.entity.favour.SeResourceFavour; - -/** - * @Author:youhang - * @Date:2024-05-30-20:22 - * @Description: - */ -public interface SeResourceFavourService extends IService { - - /** - * 收藏 - * - * @param userId - * @return - */ - BaseResponse doResourceFavour( Integer resourceId, String userId); - - - - public Page listCourseFavourByPage(String userId, Integer type, Integer page, Integer pageSize); - -} +//package com.teaching.backend.service.favour; +// +//import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +//import com.baomidou.mybatisplus.extension.service.IService; +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.model.entity.resource.CourseResources; +//import com.teaching.backend.model.entity.favour.SeResourceFavour; +// +///** +// * @Author:youhang +// * @Date:2024-05-30-20:22 +// * @Description: +// */ +//public interface SeResourceFavourService extends IService { +// +// /** +// * 收藏 +// * +// * @param userId +// * @return +// */ +// BaseResponse doResourceFavour( Integer resourceId, String userId); +// +// +// +// public Page listCourseFavourByPage(String userId, Integer type, Integer page, Integer pageSize); +// +//} diff --git a/src/main/java/com/teaching/backend/service/impl/CourseResourcesServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/CourseResourcesServiceImpl.java deleted file mode 100644 index 411add3..0000000 --- a/src/main/java/com/teaching/backend/service/impl/CourseResourcesServiceImpl.java +++ /dev/null @@ -1,192 +0,0 @@ -package com.teaching.backend.service.impl; - -import com.aliyun.oss.OSS; -import com.aliyun.oss.OSSClientBuilder; -import com.aliyun.oss.model.OSSObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -import com.teaching.backend.mapper.records.LearningRecordsMapper; -import com.teaching.backend.mapper.resource.CourseResourcesMapper; -import com.teaching.backend.model.entity.CourseResources; -import com.teaching.backend.model.entity.ResourceRelationship; -import com.teaching.backend.model.entity.records.LearningRecords; -import com.teaching.backend.service.impl.records.LearningRecordsServiceImpl; -import com.teaching.backend.service.resource.CourseResourcesService; -import com.teaching.backend.service.resource.ResourcesRelationshipService; -import org.apache.commons.io.FileUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.function.Consumer; - -/** - * ClassName: FileTableImpl - * Package: com.teaching.backend.service.impl - * Description: - * - * @Author 姜钧瀚 - * @Create 2024/6/4 11:50 - * @Version 1.0 - */ -@Service -public class CourseResourcesServiceImpl extends ServiceImpl implements CourseResourcesService { -// @Resource -// ResourcesRelationshipService resourcesRelationshipService; - - @Autowired - private CourseResourcesMapper courseResourcesMapper; - @Autowired - private LearningRecordsMapper learningRecordsMapper; - @Override - public void updateFile(Integer type, String fileName, String filePath) { - - CourseResources courseResources = new CourseResources(); - - courseResources.setName(fileName); - courseResources.setPath(filePath); - courseResources.setType(type); - - this.save(courseResources); - - String resourceId=courseResources.getId(); - System.out.println(resourceId); - - ResourceRelationship resourcesRelationship=new ResourceRelationship(); - - resourcesRelationship.setResourceid(String.valueOf(resourceId)); - -// resourcesRelationshipService.save(resourcesRelationship); - } - - @Override - public void download(String Id, String path, HttpServletResponse response, String endpoint, String accessKeyId, String accessKeySecret, String bucketName) throws IOException { - - - - CourseResources courseResources=getById(Id); - - - System.out.println(courseResources); - - - // 创建OSS客户端 - OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); - - String key = extractKeyFromFullPath(courseResources.getPath()); - OSSObject object = ossClient.getObject(bucketName, key); - - String fileName = courseResources.getName(); - - // 设置保存文件的路径 - String savePath = path + "/" + fileName; - - // 获取文件的输入流 - InputStream inputStream = object.getObjectContent(); - - // 设置响应头 - response.setContentType("application/octet-stream"); - response.setHeader("Content-Disposition", "attachment; filename=" + fileName); - - // 创建保存文件 - File saveFile = new File(savePath); - - // 将文件内容复制到保存文件中 - FileUtils.copyInputStreamToFile(inputStream, saveFile); - - // 关闭输入流和OSS客户端 - inputStream.close(); - ossClient.shutdown(); - } - - @Override - public Page getresourceRecords(Integer type, List resourceIdList, int page, int pageSize) { - Page pageInfo=new Page<>(page,pageSize); - - LambdaQueryWrapperlambdaQueryWrapper=new LambdaQueryWrapper<>(); - lambdaQueryWrapper.in(CourseResources::getId,resourceIdList); - lambdaQueryWrapper.eq(CourseResources::getType,type); - - return this.page(pageInfo,lambdaQueryWrapper); - - } - - - private String extractKeyFromFullPath(String filePath) { - // 提取存储桶名称 - String key = filePath.substring(filePath.indexOf("com") + 4, filePath.indexOf("?")); - return key; - } - - @Override - public List getByType(String type) { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(CourseResources::getType, type); - - List list = this.list(lambdaQueryWrapper); - - return list; - } - - - @Override - public void removeCourseResources(List ids) { - //删除资源在记录表里对应的记录 - List list = new ArrayList<>(); - for (Long id: ids) { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - //System.out.println("id:"+id); - lambdaQueryWrapper.eq(LearningRecords::getCoursesId, id).eq(LearningRecords::getType, 4); - //System.out.println("资源对应的记录:"+learningRecordsMapper.selectList(lambdaQueryWrapper)); - list.addAll(learningRecordsMapper.selectList(lambdaQueryWrapper)); - //System.out.println("添加完后的集合:"+list); - } - learningRecordsMapper.deleteBatchIds(list); - //System.out.println(list); - //删除课程资源 - courseResourcesMapper.deleteBatchIds(ids); - } - - @Override - public void saveCourseResource(CourseResources courseResources) { - //将状态设置为1 - courseResources.setStatus(1); - //设置文件路径 - courseResources.setPath(courseResources.getImg()); - //设置默认图片 - switch (courseResources.getType()){ - case 1 : courseResources.setImg("src\\assets\\icons\\ppt (2).png");//ppt的默认图片 - break; - case 2 : courseResources.setImg(courseResources.getImg()); //图片 - break; - case 3 : courseResources.setImg("src\\assets\\images\\video.png"); //视频 - break; - case 4 : courseResources.setImg("src\\assets\\images\\PDF .png"); //pdf - break; - case 5 : courseResources.setImg("src\\assets\\images\\test.png"); //文件 - break; - case 6 : courseResources.setImg("src\\assets\\images\\audio.png"); //音频 - break; - default: courseResources.setImg("图片丢失!!"); //暂无默认图片 - } - this.save(courseResources); - } - - @Override - public void editCourseResource(String resourceId) { - //根据id查数据 - } - - -} - - - diff --git a/src/main/java/com/teaching/backend/service/impl/ResourcesRelationshipServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/ResourcesRelationshipServiceImpl.java deleted file mode 100644 index 6a73f95..0000000 --- a/src/main/java/com/teaching/backend/service/impl/ResourcesRelationshipServiceImpl.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.teaching.backend.service.impl; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.teaching.backend.mapper.resource.CourseResourcesMapper; -import com.teaching.backend.mapper.resource.ResourcesRelationshipMapper; -import com.teaching.backend.model.entity.CourseResources; -import com.teaching.backend.model.entity.ResourceRelationship; -import com.teaching.backend.service.resource.CourseResourcesService; -import com.teaching.backend.service.resource.ResourcesRelationshipService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.stream.Collectors; - -/** - * ClassName: ResourcesRelationshipServiceImpl - * Package: com.teaching.backend.service.impl - * Description: - * - * @Author 姜钧瀚 - * @Create 2024/6/12 21:05 - * @Version 1.0 - */ -@Service -public class ResourcesRelationshipServiceImpl extends ServiceImpl implements ResourcesRelationshipService { - -@Autowired - CourseResourcesService courseResourcesService; - @Override - public List getResource(String id) { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - - lambdaQueryWrapper.eq(ResourceRelationship::getCourseid, id); - List resourceRelationshipList = this.list(lambdaQueryWrapper); - - List resourceIds = resourceRelationshipList.stream() - .map(ResourceRelationship::getResourceid) - .collect(Collectors.toList()); - - if (!resourceIds.isEmpty()) { - - LambdaQueryWrapper courseResourcesQueryWrapper = new LambdaQueryWrapper<>(); - courseResourcesQueryWrapper.in(CourseResources::getId, resourceIds); - return courseResourcesService.list(courseResourcesQueryWrapper); - } - - return Collections.emptyList(); - } - - @Override - public List getResource2(String id, Integer type) { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(ResourceRelationship::getCourseid, id); - List resourceRelationshipList = this.list(lambdaQueryWrapper); - - List resourceIds = resourceRelationshipList.stream() - .map(ResourceRelationship::getResourceid) - .collect(Collectors.toList()); -if (type==null){ - - if (!resourceIds.isEmpty()) { - - LambdaQueryWrapper courseResourcesQueryWrapper = new LambdaQueryWrapper<>(); - courseResourcesQueryWrapper.in(CourseResources::getId, resourceIds); - return courseResourcesService.list(courseResourcesQueryWrapper); - } - -}else { - LambdaQueryWrapper courseResourcesQueryWrapper = new LambdaQueryWrapper<>(); - courseResourcesQueryWrapper.in(CourseResources::getId, resourceIds) - .in(CourseResources::getType,type); - return courseResourcesService.list(courseResourcesQueryWrapper); -} - - - return Collections.emptyList(); - } - - -} diff --git a/src/main/java/com/teaching/backend/service/impl/favour/SeCourseFavourServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/favour/SeCourseFavourServiceImpl.java index 52c63b9..0801d15 100644 --- a/src/main/java/com/teaching/backend/service/impl/favour/SeCourseFavourServiceImpl.java +++ b/src/main/java/com/teaching/backend/service/impl/favour/SeCourseFavourServiceImpl.java @@ -1,165 +1,165 @@ -package com.teaching.backend.service.impl.favour; - -import cn.hutool.core.collection.CollUtil; -import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.common.ErrorCode; -import com.teaching.backend.common.ResultUtils; -import com.teaching.backend.exception.BusinessException; -import com.teaching.backend.mapper.courses.CoursesMapper; -import com.teaching.backend.mapper.favour.SeCourseFavourMapper; -import com.teaching.backend.model.entity.courses.Courses; -import com.teaching.backend.model.entity.favour.SeCourseFavour; -import com.teaching.backend.model.entity.favour.SeKnowFavour; -import com.teaching.backend.model.entity.favour.SeResourceFavour; -import com.teaching.backend.model.vo.favour.CourseFavourDetailVO; -import com.teaching.backend.service.courses.ICoursesService; -import com.teaching.backend.service.favour.SeCourseFavourService; -import com.teaching.backend.service.favour.SeKnowFavourService; -import com.teaching.backend.service.favour.SeResourceFavourService; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantLock; -import java.util.stream.Collectors; - - -/** - * @Author:youhang - * @Date:2024-05-30-20:23 - * @Description: - */ -@Service -public class SeCourseFavourServiceImpl extends ServiceImpl implements SeCourseFavourService { - - - @Resource - private SeResourceFavourService seResourceFavourService; - - @Resource - SeKnowFavourService seKnowFavourService; - - @Autowired - CoursesMapper coursesMapper; - - @Autowired - ICoursesService coursesService; - - - - @Override - public BaseResponse doCourseFavour(String courseId, String userId) { - System.out.println("进入点赞" + courseId + userId); - //从数据库中校验是否存在courseid - Courses courses = coursesMapper.selectById(courseId); - boolean result = false; - if(courses == null){ - return ResultUtils.error(ErrorCode.NOT_FOUND_ERROR,"课程不存在"); - } - //查询数据库记录,该用户是否点赞 - SeCourseFavour seCourseFavour = new SeCourseFavour(); - seCourseFavour.setCourseId(courseId); - seCourseFavour.setUserId(userId); - QueryWrapper favourQueryWrapper = new QueryWrapper<>(seCourseFavour); - SeCourseFavour oldSeCourseFavour = this.getOne(favourQueryWrapper); - //已点赞 - if (oldSeCourseFavour != null) { - // 取消点赞 删除记录 - result = this.remove(favourQueryWrapper); - if (result) { - System.out.println("取消点赞成功"); - return ResultUtils.success(result); - } else { - throw new BusinessException(ErrorCode.SYSTEM_ERROR); - } - } else { - // 每个用户串行点赞 - // 锁必须要包裹住事务方法 - Lock lock = new ReentrantLock(); - lock.lock(); - try { - result = this.save(seCourseFavour); - } catch (Exception e) { - throw new BusinessException(ErrorCode.OPERATION_ERROR); - } finally { - lock.unlock(); - System.out.println("点赞成功"); - return ResultUtils.success(result); - } - } - } - - @Override - public BaseResponsefavourCount(String courseId) { - //从数据库中校验是否存在courseid - QueryWrapper favourQueryWrapper = new QueryWrapper<>(); - favourQueryWrapper.eq("course_id", courseId); - long result = this.count(favourQueryWrapper); - if (result == 0) { - throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在"); - } else { - return ResultUtils.success(result); - } - } - - @Override - public BaseResponse courseCount(String courseId) { - - QueryWrapper ResourceQueryWrapper = new QueryWrapper<>(); - ResourceQueryWrapper.eq("course_id", courseId); - long result1 = seResourceFavourService.count(ResourceQueryWrapper); - QueryWrapper KnowQueryWrapper = new QueryWrapper<>(); - KnowQueryWrapper.eq("course_id", courseId); - long result2 = seKnowFavourService.count(KnowQueryWrapper); - long result = result1 + result2; - if (result == 0) { - throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在"); - } else { - return ResultUtils.success(result); - } - } - - /** - * 某个用户课程列表 - * - * @param userId - * @return - */ - @Override - public List courseList(String userId) { - QueryWrapper courseQueryWrapper = new QueryWrapper<>(); - courseQueryWrapper.eq("user_id", userId); - List list = this.list(courseQueryWrapper).stream().map(SeCourseFavour::getCourseId).collect(Collectors.toList()); - return list; - } - - @Override - public Page listCourseFavourByPage(Page page, Wrapper queryWrapper) { - Page coursePage = coursesService.page(page, queryWrapper); - Page courseFavourVOPage = new Page<>(coursePage.getCurrent(), coursePage.getSize(), coursePage.getTotal()); - List courseFavourList = coursePage.getRecords(); - //若数据为空,直接返回 - if (CollUtil.isEmpty(courseFavourList)) { - return courseFavourVOPage; - } - //过滤字段 - List courseFavourDetailVOList = new ArrayList<>(); - for (int i = 0; i < courseFavourList.size(); i++) { - CourseFavourDetailVO courseFavourDetailVO = new CourseFavourDetailVO(); - BeanUtils.copyProperties(courseFavourList.get(i), courseFavourDetailVO); - courseFavourDetailVOList.add(courseFavourDetailVO); - } - courseFavourVOPage.setRecords(courseFavourDetailVOList); - return courseFavourVOPage; - } - - -} +//package com.teaching.backend.service.impl.favour; +// +//import cn.hutool.core.collection.CollUtil; +//import com.baomidou.mybatisplus.core.conditions.Wrapper; +//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +//import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.common.ErrorCode; +//import com.teaching.backend.common.ResultUtils; +//import com.teaching.backend.exception.BusinessException; +//import com.teaching.backend.mapper.courses.CoursesMapper; +//import com.teaching.backend.mapper.favour.SeCourseFavourMapper; +//import com.teaching.backend.model.entity.courses.Courses; +//import com.teaching.backend.model.entity.favour.SeCourseFavour; +//import com.teaching.backend.model.entity.favour.SeKnowFavour; +//import com.teaching.backend.model.entity.favour.SeResourceFavour; +//import com.teaching.backend.model.vo.favour.CourseFavourDetailVO; +//import com.teaching.backend.service.courses.ICoursesService; +//import com.teaching.backend.service.favour.SeCourseFavourService; +//import com.teaching.backend.service.favour.SeKnowFavourService; +//import com.teaching.backend.service.favour.SeResourceFavourService; +//import org.springframework.beans.BeanUtils; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Service; +// +//import javax.annotation.Resource; +//import java.util.ArrayList; +//import java.util.List; +//import java.util.concurrent.locks.Lock; +//import java.util.concurrent.locks.ReentrantLock; +//import java.util.stream.Collectors; +// +// +///** +// * @Author:youhang +// * @Date:2024-05-30-20:23 +// * @Description: +// */ +//@Service +//public class SeCourseFavourServiceImpl extends ServiceImpl implements SeCourseFavourService { +// +// +// @Resource +// private SeResourceFavourService seResourceFavourService; +// +// @Resource +// SeKnowFavourService seKnowFavourService; +// +// @Autowired +// CoursesMapper coursesMapper; +// +// @Autowired +// ICoursesService coursesService; +// +// +// +// @Override +// public BaseResponse doCourseFavour(String courseId, String userId) { +// System.out.println("进入点赞" + courseId + userId); +// //从数据库中校验是否存在courseid +// Courses courses = coursesMapper.selectById(courseId); +// boolean result = false; +// if(courses == null){ +// return ResultUtils.error(ErrorCode.NOT_FOUND_ERROR,"课程不存在"); +// } +// //查询数据库记录,该用户是否点赞 +// SeCourseFavour seCourseFavour = new SeCourseFavour(); +// seCourseFavour.setCourseId(courseId); +// seCourseFavour.setUserId(userId); +// QueryWrapper favourQueryWrapper = new QueryWrapper<>(seCourseFavour); +// SeCourseFavour oldSeCourseFavour = this.getOne(favourQueryWrapper); +// //已点赞 +// if (oldSeCourseFavour != null) { +// // 取消点赞 删除记录 +// result = this.remove(favourQueryWrapper); +// if (result) { +// System.out.println("取消点赞成功"); +// return ResultUtils.success(result); +// } else { +// throw new BusinessException(ErrorCode.SYSTEM_ERROR); +// } +// } else { +// // 每个用户串行点赞 +// // 锁必须要包裹住事务方法 +// Lock lock = new ReentrantLock(); +// lock.lock(); +// try { +// result = this.save(seCourseFavour); +// } catch (Exception e) { +// throw new BusinessException(ErrorCode.OPERATION_ERROR); +// } finally { +// lock.unlock(); +// System.out.println("点赞成功"); +// return ResultUtils.success(result); +// } +// } +// } +// +// @Override +// public BaseResponsefavourCount(String courseId) { +// //从数据库中校验是否存在courseid +// QueryWrapper favourQueryWrapper = new QueryWrapper<>(); +// favourQueryWrapper.eq("course_id", courseId); +// long result = this.count(favourQueryWrapper); +// if (result == 0) { +// throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在"); +// } else { +// return ResultUtils.success(result); +// } +// } +// +// @Override +// public BaseResponse courseCount(String courseId) { +// +// QueryWrapper ResourceQueryWrapper = new QueryWrapper<>(); +// ResourceQueryWrapper.eq("course_id", courseId); +// long result1 = seResourceFavourService.count(ResourceQueryWrapper); +// QueryWrapper KnowQueryWrapper = new QueryWrapper<>(); +// KnowQueryWrapper.eq("course_id", courseId); +// long result2 = seKnowFavourService.count(KnowQueryWrapper); +// long result = result1 + result2; +// if (result == 0) { +// throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在"); +// } else { +// return ResultUtils.success(result); +// } +// } +// +// /** +// * 某个用户课程列表 +// * +// * @param userId +// * @return +// */ +// @Override +// public List courseList(String userId) { +// QueryWrapper courseQueryWrapper = new QueryWrapper<>(); +// courseQueryWrapper.eq("user_id", userId); +// List list = this.list(courseQueryWrapper).stream().map(SeCourseFavour::getCourseId).collect(Collectors.toList()); +// return list; +// } +// +// @Override +// public Page listCourseFavourByPage(Page page, Wrapper queryWrapper) { +// Page coursePage = coursesService.page(page, queryWrapper); +// Page courseFavourVOPage = new Page<>(coursePage.getCurrent(), coursePage.getSize(), coursePage.getTotal()); +// List courseFavourList = coursePage.getRecords(); +// //若数据为空,直接返回 +// if (CollUtil.isEmpty(courseFavourList)) { +// return courseFavourVOPage; +// } +// //过滤字段 +// List courseFavourDetailVOList = new ArrayList<>(); +// for (int i = 0; i < courseFavourList.size(); i++) { +// CourseFavourDetailVO courseFavourDetailVO = new CourseFavourDetailVO(); +// BeanUtils.copyProperties(courseFavourList.get(i), courseFavourDetailVO); +// courseFavourDetailVOList.add(courseFavourDetailVO); +// } +// courseFavourVOPage.setRecords(courseFavourDetailVOList); +// return courseFavourVOPage; +// } +// +// +//} diff --git a/src/main/java/com/teaching/backend/service/impl/favour/SeResourceFavourServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/favour/SeResourceFavourServiceImpl.java index f0de82b..715a624 100644 --- a/src/main/java/com/teaching/backend/service/impl/favour/SeResourceFavourServiceImpl.java +++ b/src/main/java/com/teaching/backend/service/impl/favour/SeResourceFavourServiceImpl.java @@ -1,103 +1,102 @@ -package com.teaching.backend.service.impl.favour; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.common.ErrorCode; -import com.teaching.backend.common.ResultUtils; -import com.teaching.backend.exception.BusinessException; -import com.teaching.backend.mapper.courses.CoursesMapper; -import com.teaching.backend.mapper.favour.SeResourceFavourMapper; -import com.teaching.backend.mapper.resource.CourseResourcesMapper; -import com.teaching.backend.mapper.umsAdmin.UmsUserMapper; -import com.teaching.backend.model.entity.CourseResources; -import com.teaching.backend.model.entity.favour.SeResourceFavour; -import com.teaching.backend.model.entity.umsAdmin.UmsUser; -import com.teaching.backend.service.resource.CourseResourcesService; -import com.teaching.backend.service.favour.SeResourceFavourService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.List; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantLock; -import java.util.stream.Collectors; - - -/** - * @Author:youhang - * @Date:2024-05-30-20:23 - * @Description: - */ -@Service -public class SeResourceFavourServiceImpl extends ServiceImpl implements SeResourceFavourService { - - - @Autowired - CoursesMapper coursesMapper; - - @Autowired - private CourseResourcesService courseResourcesService; - - @Autowired - private UmsUserMapper umsAdminMapper; - - @Autowired - private CourseResourcesMapper courseResourcesMapper; - - @Override - public BaseResponse doResourceFavour(Integer resourceId, String userId) { - - boolean result = false; - - CourseResources courseResources = courseResourcesMapper.selectById(resourceId); - if(courseResources == null){ - throw new BusinessException(ErrorCode.PARAMS_RESOURCE_NOTEXISTS); - } - - // 先查询数据库记录,该用户是否收藏 - SeResourceFavour seResourceFavour = new SeResourceFavour(); - seResourceFavour.setResourceId(resourceId); - seResourceFavour.setUserId(userId); - QueryWrapper thumbQueryWrapper = new QueryWrapper<>(seResourceFavour); - SeResourceFavour oldSeResourceFavour = this.getOne(thumbQueryWrapper); - //已收藏 - if (oldSeResourceFavour != null) { - // 取消收藏 删除记录 - result = this.remove(thumbQueryWrapper); - if (result) { - System.out.println("取消收藏成功"); - return ResultUtils.success(result); - } else { - throw new BusinessException(ErrorCode.SYSTEM_ERROR); - } - } else { - // 每个用户串行收藏 - // 锁必须要包裹住事务方法 - Lock lock = new ReentrantLock(); - lock.lock(); - try { - result = this.save(seResourceFavour); - } catch (Exception e) { - throw new BusinessException(ErrorCode.OPERATION_ERROR); - } finally { - lock.unlock(); - System.out.println("收藏成功"); - return ResultUtils.success(result); - } - } - } - - @Override - public Page listCourseFavourByPage(String userId, Integer type, Integer page, Integer pageSize) { - UmsUser umsAdmin = umsAdminMapper.selectById(userId); - if(umsAdmin == null){ - throw new BusinessException(ErrorCode.PARAMS_USER_NOTEXISTS); - } - QueryWrapper resourceQueryWrapper = new QueryWrapper<>(); - resourceQueryWrapper.eq("user_id",userId); - List ids = this.list(resourceQueryWrapper).stream().map(SeResourceFavour::getResourceId).collect(Collectors.toList()); - return courseResourcesService.getresourceRecords(type,ids,page,pageSize); - } -} +//package com.teaching.backend.service.impl.favour; +// +//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +//import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.common.ErrorCode; +//import com.teaching.backend.common.ResultUtils; +//import com.teaching.backend.exception.BusinessException; +//import com.teaching.backend.mapper.courses.CoursesMapper; +//import com.teaching.backend.mapper.favour.SeResourceFavourMapper; +//import com.teaching.backend.mapper.resource.CourseResourcesMapper; +//import com.teaching.backend.mapper.umsAdmin.UmsUserMapper; +//import com.teaching.backend.model.entity.resource.CourseResources; +//import com.teaching.backend.model.entity.favour.SeResourceFavour; +//import com.teaching.backend.model.entity.umsAdmin.UmsUser; +//import com.teaching.backend.service.favour.SeResourceFavourService; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Service; +// +//import java.util.List; +//import java.util.concurrent.locks.Lock; +//import java.util.concurrent.locks.ReentrantLock; +//import java.util.stream.Collectors; +// +// +///** +// * @Author:youhang +// * @Date:2024-05-30-20:23 +// * @Description: +// */ +//@Service +//public class SeResourceFavourServiceImpl extends ServiceImpl implements SeResourceFavourService { +// +// +// @Autowired +// CoursesMapper coursesMapper; +// +// @Autowired +// private CourseResourcesService courseResourcesService; +// +// @Autowired +// private UmsUserMapper umsAdminMapper; +// +// @Autowired +// private CourseResourcesMapper courseResourcesMapper; +// +// @Override +// public BaseResponse doResourceFavour(Integer resourceId, String userId) { +// +// boolean result = false; +// +// CourseResources courseResources = courseResourcesMapper.selectById(resourceId); +// if(courseResources == null){ +// throw new BusinessException(ErrorCode.PARAMS_RESOURCE_NOTEXISTS); +// } +// +// // 先查询数据库记录,该用户是否收藏 +// SeResourceFavour seResourceFavour = new SeResourceFavour(); +// seResourceFavour.setResourceId(resourceId); +// seResourceFavour.setUserId(userId); +// QueryWrapper thumbQueryWrapper = new QueryWrapper<>(seResourceFavour); +// SeResourceFavour oldSeResourceFavour = this.getOne(thumbQueryWrapper); +// //已收藏 +// if (oldSeResourceFavour != null) { +// // 取消收藏 删除记录 +// result = this.remove(thumbQueryWrapper); +// if (result) { +// System.out.println("取消收藏成功"); +// return ResultUtils.success(result); +// } else { +// throw new BusinessException(ErrorCode.SYSTEM_ERROR); +// } +// } else { +// // 每个用户串行收藏 +// // 锁必须要包裹住事务方法 +// Lock lock = new ReentrantLock(); +// lock.lock(); +// try { +// result = this.save(seResourceFavour); +// } catch (Exception e) { +// throw new BusinessException(ErrorCode.OPERATION_ERROR); +// } finally { +// lock.unlock(); +// System.out.println("收藏成功"); +// return ResultUtils.success(result); +// } +// } +// } +// +// @Override +// public Page listCourseFavourByPage(String userId, Integer type, Integer page, Integer pageSize) { +// UmsUser umsAdmin = umsAdminMapper.selectById(userId); +// if(umsAdmin == null){ +// throw new BusinessException(ErrorCode.PARAMS_USER_NOTEXISTS); +// } +// QueryWrapper resourceQueryWrapper = new QueryWrapper<>(); +// resourceQueryWrapper.eq("user_id",userId); +// List ids = this.list(resourceQueryWrapper).stream().map(SeResourceFavour::getResourceId).collect(Collectors.toList()); +// return courseResourcesService.getresourceRecords(type,ids,page,pageSize); +// } +//} diff --git a/src/main/java/com/teaching/backend/service/impl/records/LearningRecordsServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/records/LearningRecordsServiceImpl.java index acb8a15..0b1c4fa 100644 --- a/src/main/java/com/teaching/backend/service/impl/records/LearningRecordsServiceImpl.java +++ b/src/main/java/com/teaching/backend/service/impl/records/LearningRecordsServiceImpl.java @@ -1,180 +1,179 @@ -package com.teaching.backend.service.impl.records; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - -import com.teaching.backend.common.ErrorCode; -import com.teaching.backend.exception.BusinessException; -import com.teaching.backend.mapper.records.LearningRecordsMapper; - -import com.teaching.backend.model.entity.records.LearningRecords; -import com.teaching.backend.model.vo.records.LearningRecordsVo; -import com.teaching.backend.service.impl.CourseResourcesServiceImpl; -import com.teaching.backend.service.impl.courses.CoursesServiceImpl; -import com.teaching.backend.service.records.LearningRecordsService; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.text.SimpleDateFormat; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -@Service -public class LearningRecordsServiceImpl extends ServiceImpl implements LearningRecordsService { - - @Autowired - private CoursesServiceImpl coursesService; - @Autowired - private LearningRecordsMapper learningRecordsMapper; - @Autowired - private CourseResourcesServiceImpl courseResourcesService; +//package com.teaching.backend.service.impl.records; +// +//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +//import com.baomidou.mybatisplus.core.metadata.IPage; +//import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +// +//import com.teaching.backend.common.ErrorCode; +//import com.teaching.backend.exception.BusinessException; +//import com.teaching.backend.mapper.records.LearningRecordsMapper; +// +//import com.teaching.backend.model.entity.records.LearningRecords; +//import com.teaching.backend.model.vo.records.LearningRecordsVo; +//import com.teaching.backend.service.impl.courses.CoursesServiceImpl; +//import com.teaching.backend.service.records.LearningRecordsService; +//import org.springframework.beans.BeanUtils; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Service; +//import org.springframework.transaction.annotation.Transactional; +// +//import java.text.SimpleDateFormat; +//import java.time.LocalDateTime; +//import java.time.ZoneId; +//import java.util.ArrayList; +//import java.util.Date; +//import java.util.List; +// +//@Service +//public class LearningRecordsServiceImpl extends ServiceImpl implements LearningRecordsService { +// // @Autowired -// private ChapterServiceImpl chapterService; - - @Override - public IPage selectPageList(Page page, LearningRecords model) { - return learningRecordsMapper.selectPageList(page,model); - } - - @Override - public String delete(List ids) { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.in(LearningRecords::getId, ids); - List list = this.list(lambdaQueryWrapper); - //把即将要删除的记录状态调成0 - for (LearningRecords learningRecords : list) { - learningRecords.setStatus("0"); - } - updateBatchById(list); -// System.out.println(this.updateBatchById(list)); -// this.remove(lambdaQueryWrapper); - return "删除成功"; - } - - @Override - public List getAll(List list){ - List records = new ArrayList<>(); - //格式化时间 - String strDateFormat = "yyyy-MM-dd HH:mm:ss"; - SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat); - //如果为空-------------------????? - list.forEach(learningRecords -> { - LearningRecordsVo learningRecordsVo = new LearningRecordsVo();//好像可以拿出去-----------?? - BeanUtils.copyProperties(learningRecords,learningRecordsVo);//从多传到少(时间需要转格式) - Date date = Date.from(learningRecords.getTime().atZone(ZoneId.systemDefault()).toInstant()); - learningRecordsVo.setTime(sdf.format(date)); -// //统计记录表里有多少人查看过这门资源 -// LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); -// lambdaQueryWrapper.eq(LearningRecords::getCoursesId, learningRecords.getCoursesId()); -// long count = this.count(lambdaQueryWrapper); - learningRecordsVo.setNumber(learningRecords.getNumber()); - //把整合后该用户的学习记录添加到List里 - records.add(learningRecordsVo); - }); +// private CoursesServiceImpl coursesService; +// @Autowired +// private LearningRecordsMapper learningRecordsMapper; +// @Autowired +// private CourseResourcesServiceImpl courseResourcesService; +//// @Autowired +//// private ChapterServiceImpl chapterService; +// +// @Override +// public IPage selectPageList(Page page, LearningRecords model) { +// return learningRecordsMapper.selectPageList(page,model); +// } +// +// @Override +// public String delete(List ids) { +// LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); +// lambdaQueryWrapper.in(LearningRecords::getId, ids); +// List list = this.list(lambdaQueryWrapper); +// //把即将要删除的记录状态调成0 // for (LearningRecords learningRecords : list) { -// //查找该用户的学习记录 -// LearningRecordsVo learningRecordsVo = new LearningRecordsVo();//好像可以拿出去-----------?? -// BeanUtils.copyProperties(learningRecords,learningRecordsVo);//从多传到少(缺少人数,和资源名称,时间需要转格式) -// //添加时间 -// //LocalDateTime转Date -// Date date = Date.from(learningRecords.getTime().atZone(ZoneId.systemDefault()).toInstant()); -// learningRecordsVo.setTime(sdf.format(date)); -// LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); -// lambdaQueryWrapper.eq(LearningRecords::getCoursesId, learningRecords.getCoursesId()); -// String name; -// //添加课程名称 -// switch (learningRecords.getType()) { -// case "4": //如果是资源学习 -// if (courseResourcesService.getById(learningRecords.getCoursesId()) != null){ -// learningRecordsVo.setCoursesName(courseResourcesService.getById(learningRecords.getCoursesId()).getName()); -// } -// break; -// case "1": //如果是课程学习记录 -// if (coursesService.getById(learningRecords.getCoursesId()) != null){ -// learningRecordsVo.setCoursesName(coursesService.getById(learningRecords.getCoursesId()).getName()); -// } -// break; +// learningRecords.setStatus("0"); +// } +// updateBatchById(list); +//// System.out.println(this.updateBatchById(list)); +//// this.remove(lambdaQueryWrapper); +// return "删除成功"; +// } +// +// @Override +// public List getAll(List list){ +// List records = new ArrayList<>(); +// //格式化时间 +// String strDateFormat = "yyyy-MM-dd HH:mm:ss"; +// SimpleDateFormat sdf = new SimpleDateFormat(strDateFormat); +// //如果为空-------------------????? +// list.forEach(learningRecords -> { +// LearningRecordsVo learningRecordsVo = new LearningRecordsVo();//好像可以拿出去-----------?? +// BeanUtils.copyProperties(learningRecords,learningRecordsVo);//从多传到少(时间需要转格式) +// Date date = Date.from(learningRecords.getTime().atZone(ZoneId.systemDefault()).toInstant()); +// learningRecordsVo.setTime(sdf.format(date)); +//// //统计记录表里有多少人查看过这门资源 +//// LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); +//// lambdaQueryWrapper.eq(LearningRecords::getCoursesId, learningRecords.getCoursesId()); +//// long count = this.count(lambdaQueryWrapper); +// learningRecordsVo.setNumber(learningRecords.getNumber()); +// //把整合后该用户的学习记录添加到List里 +// records.add(learningRecordsVo); +// }); +//// for (LearningRecords learningRecords : list) { +//// //查找该用户的学习记录 +//// LearningRecordsVo learningRecordsVo = new LearningRecordsVo();//好像可以拿出去-----------?? +//// BeanUtils.copyProperties(learningRecords,learningRecordsVo);//从多传到少(缺少人数,和资源名称,时间需要转格式) +//// //添加时间 +//// //LocalDateTime转Date +//// Date date = Date.from(learningRecords.getTime().atZone(ZoneId.systemDefault()).toInstant()); +//// learningRecordsVo.setTime(sdf.format(date)); +//// LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); +//// lambdaQueryWrapper.eq(LearningRecords::getCoursesId, learningRecords.getCoursesId()); +//// String name; +//// //添加课程名称 +//// switch (learningRecords.getType()) { +//// case "4": //如果是资源学习 +//// if (courseResourcesService.getById(learningRecords.getCoursesId()) != null){ +//// learningRecordsVo.setCoursesName(courseResourcesService.getById(learningRecords.getCoursesId()).getName()); +//// } +//// break; +//// case "1": //如果是课程学习记录 +//// if (coursesService.getById(learningRecords.getCoursesId()) != null){ +//// learningRecordsVo.setCoursesName(coursesService.getById(learningRecords.getCoursesId()).getName()); +//// } +//// break; +//// } +//// //添加观看人数 +//// //统计记录表里有多少人查看过这门资源 +//// long count = this.count(lambdaQueryWrapper); +//// learningRecordsVo.setNumber(count); +//// //把整合后该用户的学习记录添加到List里 +//// records.add(learningRecordsVo); +//// } +// return records; +// } +// +// /** +// * 根据用户id和学习资源id来判断记录是否存在 +// * @param learningRecords +// * @return +// */ +// @Override +// @Transactional +// public String saveRecords(LearningRecords learningRecords) { +// String userId = learningRecords.getUserId(); +// String coursesId = learningRecords.getCoursesId(); +// //如果userId或者coursesId为空就抛出异常事务回滚---------------------------- +// if (userId == null || userId.equals("") || coursesId == null || coursesId.equals("")){ +// throw new BusinessException(ErrorCode.PARAMS_ERROR); +// } +// +//// System.out.println("学习记录:"+learningRecords); +// //查找该用户是否观看过该学习资源 +// LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); +// lambdaQueryWrapper +// .eq(LearningRecords::getUserId, userId) +// .eq(LearningRecords::getCoursesId, coursesId) +// .eq(LearningRecords::getType, learningRecords.getType()); +// long count = this.count(lambdaQueryWrapper); +// //System.out.println("数据库:"+count); +// learningRecords.setStatus("1");//将该记录的状态设置为1 +// //更新观看时间 +// learningRecords.setTime(LocalDateTime.now()); +// //设置默认封面 +// if (learningRecords.getContent() == null || learningRecords.getContent().equals("")){ +// learningRecords.setContent("img/v2-c57eb7863ec4233f503176ca3f90f8d5_1440w.png"); +// } +// List list = query().eq("courses_id", coursesId).eq("type", learningRecords.getType()).list(); +// LearningRecords one1 = query().eq("courses_id", coursesId).eq("type", learningRecords.getType()).eq("user_id", userId).one(); +// int number = list.size(); +// //该用户是否学习过 +// if (one1 != null){//学习过观看人数不加 +// learningRecords.setNumber(number); +// list.forEach(learningRecords1 -> { +// learningRecords1.setNumber(number); +// }); +// } else {//否则观看人数加1 +// learningRecords.setNumber(number + 1); +// } +// updateBatchById(list); +// if (count == 0){//如果没有就新增并记录学习方式是打开还是下载 +// //根据传上来的type设置 +//// learningRecords.setType(learningRecords.getType()); +// this.save(learningRecords); +// return "添加成功"; +// }else {//有就修改记录,更新学习方式 +// LearningRecords one = this.getOne(lambdaQueryWrapper); +// System.out.println(one); +// learningRecords.setId(one.getId());//找到该条记录的id并赋值给本次观看记录 +// if ( one.getOpen() != null && one.getOpen().equals("1")){ +// learningRecords.setOpen(one.getOpen()); +// } +// if (one.getDownload() != null && one.getDownload().equals("1")){ +// learningRecords.setDownload(one.getDownload()); // } -// //添加观看人数 -// //统计记录表里有多少人查看过这门资源 -// long count = this.count(lambdaQueryWrapper); -// learningRecordsVo.setNumber(count); -// //把整合后该用户的学习记录添加到List里 -// records.add(learningRecordsVo); +// this.updateById(learningRecords); +// return "修改成功"; // } - return records; - } - - /** - * 根据用户id和学习资源id来判断记录是否存在 - * @param learningRecords - * @return - */ - @Override - @Transactional - public String saveRecords(LearningRecords learningRecords) { - String userId = learningRecords.getUserId(); - String coursesId = learningRecords.getCoursesId(); - //如果userId或者coursesId为空就抛出异常事务回滚---------------------------- - if (userId == null || userId.equals("") || coursesId == null || coursesId.equals("")){ - throw new BusinessException(ErrorCode.PARAMS_ERROR); - } - -// System.out.println("学习记录:"+learningRecords); - //查找该用户是否观看过该学习资源 - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper - .eq(LearningRecords::getUserId, userId) - .eq(LearningRecords::getCoursesId, coursesId) - .eq(LearningRecords::getType, learningRecords.getType()); - long count = this.count(lambdaQueryWrapper); - //System.out.println("数据库:"+count); - learningRecords.setStatus("1");//将该记录的状态设置为1 - //更新观看时间 - learningRecords.setTime(LocalDateTime.now()); - //设置默认封面 - if (learningRecords.getContent() == null || learningRecords.getContent().equals("")){ - learningRecords.setContent("img/v2-c57eb7863ec4233f503176ca3f90f8d5_1440w.png"); - } - List list = query().eq("courses_id", coursesId).eq("type", learningRecords.getType()).list(); - LearningRecords one1 = query().eq("courses_id", coursesId).eq("type", learningRecords.getType()).eq("user_id", userId).one(); - int number = list.size(); - //该用户是否学习过 - if (one1 != null){//学习过观看人数不加 - learningRecords.setNumber(number); - list.forEach(learningRecords1 -> { - learningRecords1.setNumber(number); - }); - } else {//否则观看人数加1 - learningRecords.setNumber(number + 1); - } - updateBatchById(list); - if (count == 0){//如果没有就新增并记录学习方式是打开还是下载 - //根据传上来的type设置 -// learningRecords.setType(learningRecords.getType()); - this.save(learningRecords); - return "添加成功"; - }else {//有就修改记录,更新学习方式 - LearningRecords one = this.getOne(lambdaQueryWrapper); - System.out.println(one); - learningRecords.setId(one.getId());//找到该条记录的id并赋值给本次观看记录 - if ( one.getOpen() != null && one.getOpen().equals("1")){ - learningRecords.setOpen(one.getOpen()); - } - if (one.getDownload() != null && one.getDownload().equals("1")){ - learningRecords.setDownload(one.getDownload()); - } - this.updateById(learningRecords); - return "修改成功"; - } - } - - -} +// } +// +// +//} diff --git a/src/main/java/com/teaching/backend/service/impl/resource/ResourceServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/resource/ResourceServiceImpl.java new file mode 100644 index 0000000..f97adf8 --- /dev/null +++ b/src/main/java/com/teaching/backend/service/impl/resource/ResourceServiceImpl.java @@ -0,0 +1,45 @@ +package com.teaching.backend.service.impl.resource; + +import cn.hutool.core.io.FileUtil; +import com.teaching.backend.mapper.KnowGraph.ResourcesRepository; +import com.teaching.backend.mapper.resource.ResourcesMapper; +import com.teaching.backend.model.entity.KnowGraph.Resources; +import com.teaching.backend.model.entity.resource.Resource; +import com.teaching.backend.service.resource.ResourceService; +import org.springframework.beans.BeanUtils; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.util.UUID; + +/** + * @Author:youhang + * @Date:2024-07-26-13:58 + * @Description: + */ +public class ResourceServiceImpl implements ResourceService { + + private static final String GLOBAL_CODE_DIR_NAME = "tempFile"; + private ResourcesRepository resourcesRepository; + + private ResourcesMapper resourcesMapper; + + @Override + public String upload(MultipartFile file) { + String userDir = System.getProperty("user.dir"); + String globalFilePathName = userDir + File.separator + GLOBAL_CODE_DIR_NAME; + if (!FileUtil.exist(globalFilePathName)) { + FileUtil.mkdir(globalFilePathName); + } + // 把用户的代码隔离存放 + File userCodeFile = null; + try { + String userCodeParentPath = globalFilePathName + File.separator + UUID.randomUUID(); + String userCodePath = userCodeParentPath + File.separator + file.getOriginalFilename(); + userCodeFile = FileUtil.writeFromStream(file.getInputStream(), userCodePath); + } catch (Exception e) { + System.out.println("失败"); + } + return userCodeFile.getPath(); + } +} diff --git a/src/main/java/com/teaching/backend/service/impl/thumb/SeCourseThumbServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/thumb/SeCourseThumbServiceImpl.java index f9329cb..0edff1b 100644 --- a/src/main/java/com/teaching/backend/service/impl/thumb/SeCourseThumbServiceImpl.java +++ b/src/main/java/com/teaching/backend/service/impl/thumb/SeCourseThumbServiceImpl.java @@ -1,108 +1,108 @@ -package com.teaching.backend.service.impl.thumb; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.common.ErrorCode; -import com.teaching.backend.common.ResultUtils; -import com.teaching.backend.exception.BusinessException; -import com.teaching.backend.mapper.courses.CoursesMapper; -import com.teaching.backend.mapper.thumb.SeCourseThumbMapper; -import com.teaching.backend.model.entity.courses.Courses; -import com.teaching.backend.model.entity.thumb.SeCourseThumb; -import com.teaching.backend.model.entity.thumb.SeKnowThumb; -import com.teaching.backend.model.entity.thumb.SeResourceThumb; -import com.teaching.backend.service.thumb.SeCourseThumbService; -import com.teaching.backend.service.thumb.SeKnowThumbService; -import com.teaching.backend.service.thumb.SeResourceThumbService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import javax.annotation.Resource; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantLock; - - -/** - * @Author:youhang - * @Date:2024-05-30-20:23 - * @Description: - */ -@Service -public class SeCourseThumbServiceImpl extends ServiceImpl implements SeCourseThumbService { - - - @Resource - private SeResourceThumbService seResourceThumbService; - - @Resource - SeKnowThumbService seKnowThumbService; - - - @Autowired - CoursesMapper coursesMapper; - - @Override - public BaseResponse doCourseThumb(String courseId, String userId) { - - //从数据库中校验是否存在courseid - Courses courses = coursesMapper.selectById(courseId); - boolean result = false; - if(courses == null){ - return ResultUtils.error(ErrorCode.PARAMS_COURSE_NOTEXISTS); - } - - // 先查询数据库记录,该用户是否点赞 - SeCourseThumb seCourseThumb = new SeCourseThumb(); - seCourseThumb.setCourseId(courseId); - seCourseThumb.setUserId(userId); - QueryWrapper thumbQueryWrapper = new QueryWrapper<>(seCourseThumb); - SeCourseThumb oldSeCourseThumb = this.getOne(thumbQueryWrapper); - //已点赞 - if (oldSeCourseThumb != null) { - // 取消点赞 删除记录 - result = this.remove(thumbQueryWrapper); - if (result) { - System.out.println("取消点赞成功"); - return ResultUtils.success(result); - } else { - throw new BusinessException(ErrorCode.SYSTEM_ERROR); - } - } else { - // 每个用户串行点赞 - // 锁必须要包裹住事务方法 - Lock lock = new ReentrantLock(); - lock.lock(); - try { - result = this.save(seCourseThumb); - } catch (Exception e) { - throw new BusinessException(ErrorCode.OPERATION_ERROR); - } finally { - lock.unlock(); - System.out.println("点赞成功"); - return ResultUtils.success(result); - } - } - } - - @Override - public BaseResponse thumbCount(String courseId) { - - //从数据库中校验是否存在courseid - Courses courses = coursesMapper.selectById(courseId); - if(courses == null){ - return ResultUtils.error(ErrorCode.PARAMS_COURSE_NOTEXISTS); - } - - QueryWrapper thumbQueryWrapper = new QueryWrapper<>(); - thumbQueryWrapper.eq("course_id", courseId); - long count = this.count(thumbQueryWrapper); - if (count == 0) { - throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在"); - } else { - return ResultUtils.success(count); - } - } - - -} +//package com.teaching.backend.service.impl.thumb; +// +//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.common.ErrorCode; +//import com.teaching.backend.common.ResultUtils; +//import com.teaching.backend.exception.BusinessException; +//import com.teaching.backend.mapper.courses.CoursesMapper; +//import com.teaching.backend.mapper.thumb.SeCourseThumbMapper; +//import com.teaching.backend.model.entity.courses.Courses; +//import com.teaching.backend.model.entity.thumb.SeCourseThumb; +//import com.teaching.backend.model.entity.thumb.SeKnowThumb; +//import com.teaching.backend.model.entity.thumb.SeResourceThumb; +//import com.teaching.backend.service.thumb.SeCourseThumbService; +//import com.teaching.backend.service.thumb.SeKnowThumbService; +//import com.teaching.backend.service.thumb.SeResourceThumbService; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Service; +// +//import javax.annotation.Resource; +//import java.util.concurrent.locks.Lock; +//import java.util.concurrent.locks.ReentrantLock; +// +// +///** +// * @Author:youhang +// * @Date:2024-05-30-20:23 +// * @Description: +// */ +//@Service +//public class SeCourseThumbServiceImpl extends ServiceImpl implements SeCourseThumbService { +// +// +// @Resource +// private SeResourceThumbService seResourceThumbService; +// +// @Resource +// SeKnowThumbService seKnowThumbService; +// +// +// @Autowired +// CoursesMapper coursesMapper; +// +// @Override +// public BaseResponse doCourseThumb(String courseId, String userId) { +// +// //从数据库中校验是否存在courseid +// Courses courses = coursesMapper.selectById(courseId); +// boolean result = false; +// if(courses == null){ +// return ResultUtils.error(ErrorCode.PARAMS_COURSE_NOTEXISTS); +// } +// +// // 先查询数据库记录,该用户是否点赞 +// SeCourseThumb seCourseThumb = new SeCourseThumb(); +// seCourseThumb.setCourseId(courseId); +// seCourseThumb.setUserId(userId); +// QueryWrapper thumbQueryWrapper = new QueryWrapper<>(seCourseThumb); +// SeCourseThumb oldSeCourseThumb = this.getOne(thumbQueryWrapper); +// //已点赞 +// if (oldSeCourseThumb != null) { +// // 取消点赞 删除记录 +// result = this.remove(thumbQueryWrapper); +// if (result) { +// System.out.println("取消点赞成功"); +// return ResultUtils.success(result); +// } else { +// throw new BusinessException(ErrorCode.SYSTEM_ERROR); +// } +// } else { +// // 每个用户串行点赞 +// // 锁必须要包裹住事务方法 +// Lock lock = new ReentrantLock(); +// lock.lock(); +// try { +// result = this.save(seCourseThumb); +// } catch (Exception e) { +// throw new BusinessException(ErrorCode.OPERATION_ERROR); +// } finally { +// lock.unlock(); +// System.out.println("点赞成功"); +// return ResultUtils.success(result); +// } +// } +// } +// +// @Override +// public BaseResponse thumbCount(String courseId) { +// +// //从数据库中校验是否存在courseid +// Courses courses = coursesMapper.selectById(courseId); +// if(courses == null){ +// return ResultUtils.error(ErrorCode.PARAMS_COURSE_NOTEXISTS); +// } +// +// QueryWrapper thumbQueryWrapper = new QueryWrapper<>(); +// thumbQueryWrapper.eq("course_id", courseId); +// long count = this.count(thumbQueryWrapper); +// if (count == 0) { +// throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在"); +// } else { +// return ResultUtils.success(count); +// } +// } +// +// +//} diff --git a/src/main/java/com/teaching/backend/service/impl/thumb/SeKnowThumbServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/thumb/SeKnowThumbServiceImpl.java index 9014f96..b5f78c6 100644 --- a/src/main/java/com/teaching/backend/service/impl/thumb/SeKnowThumbServiceImpl.java +++ b/src/main/java/com/teaching/backend/service/impl/thumb/SeKnowThumbServiceImpl.java @@ -1,68 +1,68 @@ -package com.teaching.backend.service.impl.thumb; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.common.ErrorCode; -import com.teaching.backend.common.ResultUtils; -import com.teaching.backend.exception.BusinessException; -import com.teaching.backend.mapper.courses.CoursesMapper; -import com.teaching.backend.mapper.thumb.SeKnowThumbMapper; -import com.teaching.backend.model.entity.courses.Courses; -import com.teaching.backend.model.entity.thumb.SeKnowThumb; -import com.teaching.backend.service.thumb.SeKnowThumbService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantLock; - - -/** - * @Author:youhang - * @Date:2024-05-30-20:23 - * @Description: - */ -@Service -public class SeKnowThumbServiceImpl extends ServiceImpl implements SeKnowThumbService { - @Autowired - CoursesMapper coursesMapper; - @Override - public BaseResponse doKnowThumb(Integer knowId, String userId) { - boolean result = false; - // todo 查询知识点 - // 先查询数据库记录,该用户是否点赞 - SeKnowThumb seKnowThumb = new SeKnowThumb(); - seKnowThumb.setKnowId(knowId); - seKnowThumb.setUserId(userId); - QueryWrapper thumbQueryWrapper = new QueryWrapper<>(seKnowThumb); - SeKnowThumb oldSeKnowThumb = this.getOne(thumbQueryWrapper); - //已点赞 - if (oldSeKnowThumb != null) { - // 取消点赞 删除记录 - result = this.remove(thumbQueryWrapper); - if (result) { - System.out.println("取消点赞成功"); - return ResultUtils.success(result); - } else { - throw new BusinessException(ErrorCode.SYSTEM_ERROR); - } - } else { - // 每个用户串行点赞 - // 锁必须要包裹住事务方法 - Lock lock = new ReentrantLock(); - lock.lock(); - try { - result = this.save(seKnowThumb); - } catch (Exception e) { - throw new BusinessException(ErrorCode.OPERATION_ERROR); - } finally { - lock.unlock(); - System.out.println("点赞成功"); - return ResultUtils.success(result); - } - } - } - - -} +//package com.teaching.backend.service.impl.thumb; +// +//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.common.ErrorCode; +//import com.teaching.backend.common.ResultUtils; +//import com.teaching.backend.exception.BusinessException; +//import com.teaching.backend.mapper.courses.CoursesMapper; +//import com.teaching.backend.mapper.thumb.SeKnowThumbMapper; +//import com.teaching.backend.model.entity.courses.Courses; +//import com.teaching.backend.model.entity.thumb.SeKnowThumb; +//import com.teaching.backend.service.thumb.SeKnowThumbService; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Service; +// +//import java.util.concurrent.locks.Lock; +//import java.util.concurrent.locks.ReentrantLock; +// +// +///** +// * @Author:youhang +// * @Date:2024-05-30-20:23 +// * @Description: +// */ +//@Service +//public class SeKnowThumbServiceImpl extends ServiceImpl implements SeKnowThumbService { +// @Autowired +// CoursesMapper coursesMapper; +// @Override +// public BaseResponse doKnowThumb(Integer knowId, String userId) { +// boolean result = false; +// // todo 查询知识点 +// // 先查询数据库记录,该用户是否点赞 +// SeKnowThumb seKnowThumb = new SeKnowThumb(); +// seKnowThumb.setKnowId(knowId); +// seKnowThumb.setUserId(userId); +// QueryWrapper thumbQueryWrapper = new QueryWrapper<>(seKnowThumb); +// SeKnowThumb oldSeKnowThumb = this.getOne(thumbQueryWrapper); +// //已点赞 +// if (oldSeKnowThumb != null) { +// // 取消点赞 删除记录 +// result = this.remove(thumbQueryWrapper); +// if (result) { +// System.out.println("取消点赞成功"); +// return ResultUtils.success(result); +// } else { +// throw new BusinessException(ErrorCode.SYSTEM_ERROR); +// } +// } else { +// // 每个用户串行点赞 +// // 锁必须要包裹住事务方法 +// Lock lock = new ReentrantLock(); +// lock.lock(); +// try { +// result = this.save(seKnowThumb); +// } catch (Exception e) { +// throw new BusinessException(ErrorCode.OPERATION_ERROR); +// } finally { +// lock.unlock(); +// System.out.println("点赞成功"); +// return ResultUtils.success(result); +// } +// } +// } +// +// +//} diff --git a/src/main/java/com/teaching/backend/service/impl/thumb/SeResourceThumbServiceImpl.java b/src/main/java/com/teaching/backend/service/impl/thumb/SeResourceThumbServiceImpl.java index 9661a74..8545cf3 100644 --- a/src/main/java/com/teaching/backend/service/impl/thumb/SeResourceThumbServiceImpl.java +++ b/src/main/java/com/teaching/backend/service/impl/thumb/SeResourceThumbServiceImpl.java @@ -1,82 +1,80 @@ -package com.teaching.backend.service.impl.thumb; - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.common.ErrorCode; -import com.teaching.backend.common.ResultUtils; -import com.teaching.backend.exception.BusinessException; -import com.teaching.backend.mapper.courses.CoursesMapper; -import com.teaching.backend.mapper.resource.CourseResourcesMapper; -import com.teaching.backend.mapper.thumb.SeResourceThumbMapper; -import com.teaching.backend.model.entity.CourseResources; -import com.teaching.backend.model.entity.courses.Courses; -import com.teaching.backend.model.entity.thumb.SeResourceThumb; -import com.teaching.backend.service.thumb.SeResourceThumbService; -import io.swagger.models.auth.In; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantLock; - - -/** - * @Author:youhang - * @Date:2024-05-30-20:23 - * @Description: - */ -@Service -public class SeResourceThumbServiceImpl extends ServiceImpl implements SeResourceThumbService { - - @Autowired - CoursesMapper coursesMapper; - - - @Autowired - private CourseResourcesMapper courseResourcesMapper; - - @Override - public BaseResponse doResourceThumb(Integer resourceId, String userId) { - boolean result = false; - //查询是否有资源 - CourseResources courseResources = courseResourcesMapper.selectById(resourceId); - if(courseResources == null){ - throw new BusinessException(ErrorCode.PARAMS_RESOURCE_NOTEXISTS); - } - // 先查询数据库记录,该用户是否点赞 - SeResourceThumb seResourceThumb = new SeResourceThumb(); - seResourceThumb.setResourceId(resourceId); - seResourceThumb.setUserId(userId); - QueryWrapper thumbQueryWrapper = new QueryWrapper<>(seResourceThumb); - SeResourceThumb oldSeResourceThumb = this.getOne(thumbQueryWrapper); - - //已点赞 - if (oldSeResourceThumb != null) { - // 取消点赞 删除记录 - result = this.remove(thumbQueryWrapper); - if (result) { - System.out.println("取消点赞成功"); - return ResultUtils.success(result); - } else { - throw new BusinessException(ErrorCode.SYSTEM_ERROR); - } - } else { - // 每个用户串行点赞 - // 锁必须要包裹住事务方法 - Lock lock = new ReentrantLock(); - lock.lock(); - try { - result = this.save(seResourceThumb); - } catch (Exception e) { - throw new BusinessException(ErrorCode.OPERATION_ERROR); - } finally { - lock.unlock(); - System.out.println("点赞成功"); - return ResultUtils.success(result); - } - } - } - - -} +//package com.teaching.backend.service.impl.thumb; +// +//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.common.ErrorCode; +//import com.teaching.backend.common.ResultUtils; +//import com.teaching.backend.exception.BusinessException; +//import com.teaching.backend.mapper.courses.CoursesMapper; +//import com.teaching.backend.mapper.resource.CourseResourcesMapper; +//import com.teaching.backend.mapper.thumb.SeResourceThumbMapper; +//import com.teaching.backend.model.entity.resource.CourseResources; +//import com.teaching.backend.model.entity.thumb.SeResourceThumb; +//import com.teaching.backend.service.thumb.SeResourceThumbService; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Service; +// +//import java.util.concurrent.locks.Lock; +//import java.util.concurrent.locks.ReentrantLock; +// +// +///** +// * @Author:youhang +// * @Date:2024-05-30-20:23 +// * @Description: +// */ +//@Service +//public class SeResourceThumbServiceImpl extends ServiceImpl implements SeResourceThumbService { +// +// @Autowired +// CoursesMapper coursesMapper; +// +// +// @Autowired +// private Reso courseResourcesMapper; +// +// @Override +// public BaseResponse doResourceThumb(Integer resourceId, String userId) { +// boolean result = false; +// //查询是否有资源 +// CourseResources courseResources = courseResourcesMapper.selectById(resourceId); +// if(courseResources == null){ +// throw new BusinessException(ErrorCode.PARAMS_RESOURCE_NOTEXISTS); +// } +// // 先查询数据库记录,该用户是否点赞 +// SeResourceThumb seResourceThumb = new SeResourceThumb(); +// seResourceThumb.setResourceId(resourceId); +// seResourceThumb.setUserId(userId); +// QueryWrapper thumbQueryWrapper = new QueryWrapper<>(seResourceThumb); +// SeResourceThumb oldSeResourceThumb = this.getOne(thumbQueryWrapper); +// +// //已点赞 +// if (oldSeResourceThumb != null) { +// // 取消点赞 删除记录 +// result = this.remove(thumbQueryWrapper); +// if (result) { +// System.out.println("取消点赞成功"); +// return ResultUtils.success(result); +// } else { +// throw new BusinessException(ErrorCode.SYSTEM_ERROR); +// } +// } else { +// // 每个用户串行点赞 +// // 锁必须要包裹住事务方法 +// Lock lock = new ReentrantLock(); +// lock.lock(); +// try { +// result = this.save(seResourceThumb); +// } catch (Exception e) { +// throw new BusinessException(ErrorCode.OPERATION_ERROR); +// } finally { +// lock.unlock(); +// System.out.println("点赞成功"); +// return ResultUtils.success(result); +// } +// } +// } +// +// +//} diff --git a/src/main/java/com/teaching/backend/service/resource/CourseResourcesService.java b/src/main/java/com/teaching/backend/service/resource/CourseResourcesService.java deleted file mode 100644 index 0ed7cb2..0000000 --- a/src/main/java/com/teaching/backend/service/resource/CourseResourcesService.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.teaching.backend.service.resource; - -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.IService; -import com.teaching.backend.model.entity.CourseResources; - -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.util.List; - -/** - * ClassName: FileTableService - * Package: com.teaching.backend.service - * Description: - * - * @Author 姜钧瀚 - * @Create 2024/6/4 11:49 - * @Version 1.0 - */ -public interface CourseResourcesService extends IService { - void updateFile(Integer type, String fileName, String filePath); - - void download(String id, String path, HttpServletResponse response, String endpoint, String accessKeyId, String accessKeySecret, String bucketName) throws IOException; - - - Page getresourceRecords(Integer type, List resourceIdList, int page, int pageSize); - - - public List getByType(String type); - public void removeCourseResources(List ids); - - public void saveCourseResource(CourseResources courseResources); - - public void editCourseResource(String resourceId); -} diff --git a/src/main/java/com/teaching/backend/service/resource/ResourceService.java b/src/main/java/com/teaching/backend/service/resource/ResourceService.java new file mode 100644 index 0000000..1a0036e --- /dev/null +++ b/src/main/java/com/teaching/backend/service/resource/ResourceService.java @@ -0,0 +1,17 @@ +package com.teaching.backend.service.resource; + +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +/** + * @Author:youhang + * @Date:2024-07-26-13:55 + * @Description: + */ +@Service +public interface ResourceService { + + public String upload(MultipartFile file); + + +} diff --git a/src/main/java/com/teaching/backend/service/resource/ResourcesRelationshipService.java b/src/main/java/com/teaching/backend/service/resource/ResourcesRelationshipService.java deleted file mode 100644 index 937abc9..0000000 --- a/src/main/java/com/teaching/backend/service/resource/ResourcesRelationshipService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.teaching.backend.service.resource; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.teaching.backend.model.entity.CourseResources; -import com.teaching.backend.model.entity.ResourceRelationship; - -import java.util.List; - - -/** - * ClassName: ResourcesRelationshipService - * Package: com.teaching.backend.service - * Description: - * - * @Author 姜钧瀚 - * @Create 2024/6/12 21:04 - * @Version 1.0 - */ -public interface ResourcesRelationshipService extends IService { - - - List getResource(String id); - - List getResource2(String id, Integer type); -} diff --git a/src/main/java/com/teaching/backend/service/thumb/SeCourseThumbService.java b/src/main/java/com/teaching/backend/service/thumb/SeCourseThumbService.java index a42e93f..bfeaaf5 100644 --- a/src/main/java/com/teaching/backend/service/thumb/SeCourseThumbService.java +++ b/src/main/java/com/teaching/backend/service/thumb/SeCourseThumbService.java @@ -1,33 +1,33 @@ -package com.teaching.backend.service.thumb; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.model.entity.thumb.SeCourseThumb; - -/** - * @Author:youhang - * @Date:2024-05-30-20:22 - * @Description: - */ -public interface SeCourseThumbService extends IService { - - /** - * 点赞 - * - * @param courseId - * @param userId - * @return - */ - BaseResponse doCourseThumb(String courseId, String userId); - - - /** - * 点赞总数 - * - * @param courseId - * @return - */ - BaseResponse thumbCount(String courseId); - - -} +//package com.teaching.backend.service.thumb; +// +//import com.baomidou.mybatisplus.extension.service.IService; +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.model.entity.thumb.SeCourseThumb; +// +///** +// * @Author:youhang +// * @Date:2024-05-30-20:22 +// * @Description: +// */ +//public interface SeCourseThumbService extends IService { +// +// /** +// * 点赞 +// * +// * @param courseId +// * @param userId +// * @return +// */ +// BaseResponse doCourseThumb(String courseId, String userId); +// +// +// /** +// * 点赞总数 +// * +// * @param courseId +// * @return +// */ +// BaseResponse thumbCount(String courseId); +// +// +//} diff --git a/src/main/java/com/teaching/backend/service/thumb/SeKnowThumbService.java b/src/main/java/com/teaching/backend/service/thumb/SeKnowThumbService.java index 17498af..7bad973 100644 --- a/src/main/java/com/teaching/backend/service/thumb/SeKnowThumbService.java +++ b/src/main/java/com/teaching/backend/service/thumb/SeKnowThumbService.java @@ -1,23 +1,23 @@ -package com.teaching.backend.service.thumb; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.model.entity.thumb.SeKnowThumb; -import io.swagger.models.auth.In; - -/** - * @Author:youhang - * @Date:2024-05-30-20:22 - * @Description: - */ -public interface SeKnowThumbService extends IService { - - /** - * 点赞 - * - - * @return - */ - BaseResponse doKnowThumb(Integer knowId, String userId); - -} +//package com.teaching.backend.service.thumb; +// +//import com.baomidou.mybatisplus.extension.service.IService; +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.model.entity.thumb.SeKnowThumb; +//import io.swagger.models.auth.In; +// +///** +// * @Author:youhang +// * @Date:2024-05-30-20:22 +// * @Description: +// */ +//public interface SeKnowThumbService extends IService { +// +// /** +// * 点赞 +// * +// +// * @return +// */ +// BaseResponse doKnowThumb(Integer knowId, String userId); +// +//} diff --git a/src/main/java/com/teaching/backend/service/thumb/SeResourceThumbService.java b/src/main/java/com/teaching/backend/service/thumb/SeResourceThumbService.java index f80dda3..0448049 100644 --- a/src/main/java/com/teaching/backend/service/thumb/SeResourceThumbService.java +++ b/src/main/java/com/teaching/backend/service/thumb/SeResourceThumbService.java @@ -1,22 +1,22 @@ -package com.teaching.backend.service.thumb; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.teaching.backend.common.BaseResponse; -import com.teaching.backend.model.entity.thumb.SeResourceThumb; - -/** - * @Author:youhang - * @Date:2024-05-30-20:22 - * @Description: - */ -public interface SeResourceThumbService extends IService { - - /** - * 点赞 - * - * @param userId - * @return - */ - BaseResponse doResourceThumb(Integer resourceId, String userId); - -} +//package com.teaching.backend.service.thumb; +// +//import com.baomidou.mybatisplus.extension.service.IService; +//import com.teaching.backend.common.BaseResponse; +//import com.teaching.backend.model.entity.thumb.SeResourceThumb; +// +///** +// * @Author:youhang +// * @Date:2024-05-30-20:22 +// * @Description: +// */ +//public interface SeResourceThumbService extends IService { +// +// /** +// * 点赞 +// * +// * @param userId +// * @return +// */ +// BaseResponse doResourceThumb(Integer resourceId, String userId); +// +//} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 6002750..2419d7c 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -5,6 +5,7 @@ spring: name: teaching-backend servlet: multipart: + enabled: true max-file-size: 10MB max-request-size: 10MB neo4j: