parent
199afb1d5c
commit
806e7b365f
50 changed files with 2045 additions and 1976 deletions
@ -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; |
||||
} |
||||
} |
@ -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<Page<CourseResources>> getInformation2(@RequestParam List<Integer> resourceIdList , @RequestParam Integer type, PageRequest pageRequest) { |
||||
|
||||
int page=pageRequest.getCurrent(); |
||||
int pageSize=pageRequest.getPageSize(); |
||||
|
||||
Page<CourseResources> 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<Page<CourseResources>> getInformation2(@RequestParam List<Integer> resourceIdList , @RequestParam Integer type, PageRequest pageRequest) {
|
||||
//
|
||||
// int page=pageRequest.getCurrent();
|
||||
// int pageSize=pageRequest.getPageSize();
|
||||
//
|
||||
// Page<CourseResources> resourcesPage=courseResourcesService.getresourceRecords(type,resourceIdList,page,pageSize);
|
||||
//
|
||||
// return ResultUtils.success(resourcesPage);
|
||||
//
|
||||
// }
|
||||
//
|
||||
// }
|
||||
|
@ -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<Resources> 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<Resources> queryCourseKnowToResources(@PathVariable Long KnowId) { |
||||
return resourcesService.queryCourseKnowToResources(KnowId); |
||||
} |
||||
|
||||
} |
@ -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<List<CourseResources>> All(){ |
||||
System.out.println("学习记录:"+courseResourcesService.list()); |
||||
return ResultUtils.success(courseResourcesService.list()); |
||||
} |
||||
|
||||
@ApiOperation("按type查询课程资源") |
||||
@GetMapping("/getall") |
||||
public BaseResponse<Page> getAll(@RequestParam(value = "pagenum", defaultValue = "1") int pagenum, |
||||
@RequestParam(value = "pagesize", defaultValue = "10") int pagesize, |
||||
String type) { |
||||
|
||||
List<CourseResources> cs = courseResourcesService.getByType(type); |
||||
List<CourseResources> 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<CourseResources> 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<String> deleteRecords(@RequestParam List<Long> ids){ |
||||
courseResourcesService.removeCourseResources(ids); |
||||
// courseResourcesService.removeBatchByIds(ids);
|
||||
return ResultUtils.success("删除成功!!"); |
||||
} |
||||
|
||||
/** |
||||
* 新增 |
||||
* @param courseResources |
||||
* @return |
||||
*/ |
||||
@ApiOperation("新增课程资源") |
||||
@PostMapping("/save") |
||||
public BaseResponse<String> saveCourseResource(@RequestBody CourseResources courseResources){ |
||||
System.out.println(courseResources); |
||||
courseResourcesService.saveCourseResource(courseResources); |
||||
return ResultUtils.success("添加成功!"); |
||||
} |
||||
|
||||
/** |
||||
* 编辑 |
||||
* @param resources |
||||
* @return |
||||
*/ |
||||
@ApiOperation("编辑课程资源") |
||||
@PutMapping("/edit") |
||||
public BaseResponse<String> editCourseResource(@RequestBody CourseResources resources){ |
||||
System.out.println(resources); |
||||
courseResourcesService.updateById(resources); |
||||
return ResultUtils.success("编辑成功"); |
||||
} |
||||
|
||||
/** |
||||
* 根据id查询课程资源 |
||||
* @param resourceId |
||||
* @return |
||||
*/ |
||||
@ApiOperation("根据id查询课程资源") |
||||
@PostMapping("/getone") |
||||
public BaseResponse<CourseResources> 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<List<CourseResources>> All(){
|
||||
// System.out.println("学习记录:"+courseResourcesService.list());
|
||||
// return ResultUtils.success(courseResourcesService.list());
|
||||
// }
|
||||
//
|
||||
// @ApiOperation("按type查询课程资源")
|
||||
// @GetMapping("/getall")
|
||||
// public BaseResponse<Page> getAll(@RequestParam(value = "pagenum", defaultValue = "1") int pagenum,
|
||||
// @RequestParam(value = "pagesize", defaultValue = "10") int pagesize,
|
||||
// String type) {
|
||||
//
|
||||
// List<CourseResources> cs = courseResourcesService.getByType(type);
|
||||
// List<CourseResources> 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<CourseResources> 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<String> deleteRecords(@RequestParam List<Long> ids){
|
||||
// courseResourcesService.removeCourseResources(ids);
|
||||
//// courseResourcesService.removeBatchByIds(ids);
|
||||
// return ResultUtils.success("删除成功!!");
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 新增
|
||||
// * @param courseResources
|
||||
// * @return
|
||||
// */
|
||||
// @ApiOperation("新增课程资源")
|
||||
// @PostMapping("/save")
|
||||
// public BaseResponse<String> saveCourseResource(@RequestBody CourseResources courseResources){
|
||||
// System.out.println(courseResources);
|
||||
// courseResourcesService.saveCourseResource(courseResources);
|
||||
// return ResultUtils.success("添加成功!");
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 编辑
|
||||
// * @param resources
|
||||
// * @return
|
||||
// */
|
||||
// @ApiOperation("编辑课程资源")
|
||||
// @PutMapping("/edit")
|
||||
// public BaseResponse<String> editCourseResource(@RequestBody CourseResources resources){
|
||||
// System.out.println(resources);
|
||||
// courseResourcesService.updateById(resources);
|
||||
// return ResultUtils.success("编辑成功");
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 根据id查询课程资源
|
||||
// * @param resourceId
|
||||
// * @return
|
||||
// */
|
||||
// @ApiOperation("根据id查询课程资源")
|
||||
// @PostMapping("/getone")
|
||||
// public BaseResponse<CourseResources> getOne(@RequestParam String resourceId){
|
||||
// System.out.println(resourceId);
|
||||
// return ResultUtils.success(courseResourcesService.getById(resourceId));
|
||||
// }
|
||||
//}
|
||||
|
@ -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<Map<String,Object>> getData(@RequestParam("page") int page, @RequestParam("pageSize") int pageSize) { |
||||
Map<String, Object> result = coursesService.getPagePageSize2(page, pageSize); |
||||
|
||||
// 将结果放入新的Map对象中返回
|
||||
Map<String, Object> 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<CoursesDTO> 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<List<CourseResources>> getResource(@PathVariable String id) { |
||||
List<CourseResources> relatedResources = resourcesRelationshipService.getResource(id); |
||||
return ResultUtils.success(relatedResources); |
||||
} |
||||
|
||||
@ApiOperation("点击详情课程根据id和type查询对应课程的资源") |
||||
@GetMapping("/resource/list") |
||||
public BaseResponse<List<CourseResources>> getResource2(@RequestParam String id,@RequestParam Integer type) { |
||||
List<CourseResources> 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<Map<String,Object>> getData(@RequestParam("page") int page, @RequestParam("pageSize") int pageSize) {
|
||||
// Map<String, Object> result = coursesService.getPagePageSize2(page, pageSize);
|
||||
//
|
||||
// // 将结果放入新的Map对象中返回
|
||||
// Map<String, Object> 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<CoursesDTO> 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<List<CourseResources>> getResource(@PathVariable String id) {
|
||||
// List<CourseResources> relatedResources = resourcesRelationshipService.getResource(id);
|
||||
// return ResultUtils.success(relatedResources);
|
||||
// }
|
||||
//
|
||||
// @ApiOperation("点击详情课程根据id和type查询对应课程的资源")
|
||||
// @GetMapping("/resource/list")
|
||||
// public BaseResponse<List<CourseResources>> getResource2(@RequestParam String id,@RequestParam Integer type) {
|
||||
// List<CourseResources> relatedResources = resourcesRelationshipService.getResource2(id,type);
|
||||
// return ResultUtils.success(relatedResources);
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
|
@ -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<Boolean> 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<Long> 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<Long> 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<Page<CourseFavourDetailVO>> listPostByPage(@RequestBody CourseFavourQueryRequest courseFavourQueryRequest) { |
||||
System.out.println(courseFavourQueryRequest); |
||||
long current = courseFavourQueryRequest.getCurrent(); |
||||
long size = courseFavourQueryRequest.getPageSize(); |
||||
String userId = courseFavourQueryRequest.getUserId(); |
||||
List<String> ids = seCourseFavourService.courseList(userId); |
||||
QueryWrapper<Courses> courseQueryWrapper = new QueryWrapper<>(); |
||||
courseQueryWrapper.in("id", ids); |
||||
Page<CourseFavourDetailVO> 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<Boolean> 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<Long> 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<Long> 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<Page<CourseFavourDetailVO>> listPostByPage(@RequestBody CourseFavourQueryRequest courseFavourQueryRequest) {
|
||||
// System.out.println(courseFavourQueryRequest);
|
||||
// long current = courseFavourQueryRequest.getCurrent();
|
||||
// long size = courseFavourQueryRequest.getPageSize();
|
||||
// String userId = courseFavourQueryRequest.getUserId();
|
||||
// List<String> ids = seCourseFavourService.courseList(userId);
|
||||
// QueryWrapper<Courses> courseQueryWrapper = new QueryWrapper<>();
|
||||
// courseQueryWrapper.in("id", ids);
|
||||
// Page<CourseFavourDetailVO> courseFavourDetailVOPage = seCourseFavourService.listCourseFavourByPage(new Page<>(current, size), courseQueryWrapper);
|
||||
//
|
||||
// return ResultUtils.success(courseFavourDetailVOPage);
|
||||
// }
|
||||
//
|
||||
//
|
||||
//}
|
||||
|
@ -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<Boolean> 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<Boolean> 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());
|
||||
//
|
||||
// }
|
||||
//
|
||||
//}
|
||||
|
@ -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<Boolean> 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<Page<CourseResources>> 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<Boolean> 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<Page<CourseResources>> 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));
|
||||
// }
|
||||
//
|
||||
//
|
||||
//}
|
||||
|
@ -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<Page> getAll(@RequestParam(value = "pagenum", defaultValue = "1") int pagenum, |
||||
@RequestParam(value = "pagesize", defaultValue = "10") int pagesize, |
||||
@RequestParam String userId){ |
||||
//根据用户查询
|
||||
Page<LearningRecords> page = learningRecordsService.query() |
||||
.orderByDesc("time") |
||||
.eq("status", "1") |
||||
.eq("user_id", userId).page(new Page<>(pagenum, pagesize)); |
||||
//获取当前页数据
|
||||
List<LearningRecords> list = page.getRecords(); |
||||
List<LearningRecordsVo> cs= learningRecordsService.getAll(list); |
||||
|
||||
long total = page.getTotal(); // 总记录数
|
||||
Page<LearningRecordsVo> pageInfo = new Page<>(pagenum,pagesize,total); |
||||
pageInfo.setRecords(cs); |
||||
pageInfo.setPages(page.getPages());//设置总页数
|
||||
return ResultUtils.success(pageInfo); |
||||
} |
||||
|
||||
@ApiOperation("查询所有") |
||||
@GetMapping("/all") |
||||
public BaseResponse<List<LearningRecords>> 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<String> saveRecords(@RequestBody LearningRecords learningRecords){ |
||||
// System.out.println(learningRecords);
|
||||
return ResultUtils.success(learningRecordsService.saveRecords(learningRecords)); |
||||
} |
||||
|
||||
/** |
||||
* 根据id删除 |
||||
* @param ids |
||||
* @return |
||||
*/ |
||||
@DeleteMapping("/delete") |
||||
//@ValidateParams({"ids"})
|
||||
public BaseResponse<String> deleteRecords(@RequestParam List<Long> 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<Page> getAll(@RequestParam(value = "pagenum", defaultValue = "1") int pagenum,
|
||||
// @RequestParam(value = "pagesize", defaultValue = "10") int pagesize,
|
||||
// @RequestParam String userId){
|
||||
// //根据用户查询
|
||||
// Page<LearningRecords> page = learningRecordsService.query()
|
||||
// .orderByDesc("time")
|
||||
// .eq("status", "1")
|
||||
// .eq("user_id", userId).page(new Page<>(pagenum, pagesize));
|
||||
// //获取当前页数据
|
||||
// List<LearningRecords> list = page.getRecords();
|
||||
// List<LearningRecordsVo> cs= learningRecordsService.getAll(list);
|
||||
//
|
||||
// long total = page.getTotal(); // 总记录数
|
||||
// Page<LearningRecordsVo> pageInfo = new Page<>(pagenum,pagesize,total);
|
||||
// pageInfo.setRecords(cs);
|
||||
// pageInfo.setPages(page.getPages());//设置总页数
|
||||
// return ResultUtils.success(pageInfo);
|
||||
// }
|
||||
//
|
||||
// @ApiOperation("查询所有")
|
||||
// @GetMapping("/all")
|
||||
// public BaseResponse<List<LearningRecords>> 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<String> saveRecords(@RequestBody LearningRecords learningRecords){
|
||||
//// System.out.println(learningRecords);
|
||||
// return ResultUtils.success(learningRecordsService.saveRecords(learningRecords));
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 根据id删除
|
||||
// * @param ids
|
||||
// * @return
|
||||
// */
|
||||
// @DeleteMapping("/delete")
|
||||
// //@ValidateParams({"ids"})
|
||||
// public BaseResponse<String> deleteRecords(@RequestParam List<Long> ids){
|
||||
// return ResultUtils.success(learningRecordsService.delete(ids));
|
||||
// }
|
||||
//}
|
||||
|
@ -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<Boolean> doThumb(@RequestBody CourseThumbAddRequest courseThumbAddRequest) { |
||||
|
||||
return seCourseThumbService.doCourseThumb(courseThumbAddRequest.getCourseId(), courseThumbAddRequest.getUserId()); |
||||
|
||||
} |
||||
|
||||
|
||||
/** |
||||
* 课程点赞总数 |
||||
* |
||||
* @param courseThumbAddRequest |
||||
* @return result 课程点赞总数 |
||||
*/ |
||||
@PostMapping("/count") |
||||
// HttpServletRequest request 在一个fitter里面进行鉴权操作
|
||||
public BaseResponse<Long> 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<Boolean> doThumb(@RequestBody CourseThumbAddRequest courseThumbAddRequest) {
|
||||
//
|
||||
// return seCourseThumbService.doCourseThumb(courseThumbAddRequest.getCourseId(), courseThumbAddRequest.getUserId());
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
// /**
|
||||
// * 课程点赞总数
|
||||
// *
|
||||
// * @param courseThumbAddRequest
|
||||
// * @return result 课程点赞总数
|
||||
// */
|
||||
// @PostMapping("/count")
|
||||
// // HttpServletRequest request 在一个fitter里面进行鉴权操作
|
||||
// public BaseResponse<Long> thumbCount(@RequestBody CourseThumbAddRequest courseThumbAddRequest) {
|
||||
// if (StringUtils.isAnyBlank(courseThumbAddRequest.getCourseId())) {
|
||||
// throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数不能为空");
|
||||
// }
|
||||
//
|
||||
// return seCourseThumbService.thumbCount(courseThumbAddRequest.getCourseId());
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
//}
|
||||
|
@ -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<Boolean> 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<Boolean> doThumb(@RequestBody KnowThumbAddRequest knowThumbAddRequest) {
|
||||
// return seKnowThumbService.doKnowThumb(knowThumbAddRequest.getKnowId(), knowThumbAddRequest.getUserId());
|
||||
//
|
||||
// }
|
||||
//
|
||||
//}
|
||||
|
@ -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<Boolean> 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<Boolean> doThumb(@RequestBody ResourceThumbAddRequest resourceThumbAddRequest) {
|
||||
// return seResourceThumbService.doResourceThumb( resourceThumbAddRequest.getResourceId(), resourceThumbAddRequest.getUserId());
|
||||
//
|
||||
// }
|
||||
//
|
||||
//}
|
||||
|
@ -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<Resources, Long> { |
||||
|
||||
|
||||
@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<Long> ResourcesIds); |
||||
|
||||
|
||||
@Query("MATCH(n:Know)-[r:resources]->(nn:Resources) where ID(nn) = $id RETURN nn") |
||||
List<Resources> 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<Resources> queryCourseKnowToResources(Long KnowId); |
||||
|
||||
|
||||
} |
@ -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<ResourceRelationship> { |
||||
} |
@ -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; |
||||
|
||||
|
||||
|
||||
} |
||||
|
@ -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<Long> resourceIds; |
||||
|
||||
} |
||||
|
@ -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; |
||||
} |
@ -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; |
||||
} |
@ -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; |
||||
} |
@ -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; |
||||
|
||||
|
||||
} |
||||
|
@ -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; |
||||
} |
@ -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<Resources> 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<Resources> 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(); |
||||
} |
||||
} |
@ -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<SeResourceFavour> { |
||||
|
||||
/** |
||||
* 收藏 |
||||
* |
||||
* @param userId |
||||
* @return |
||||
*/ |
||||
BaseResponse<Boolean> doResourceFavour( Integer resourceId, String userId); |
||||
|
||||
|
||||
|
||||
public Page<CourseResources> 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<SeResourceFavour> {
|
||||
//
|
||||
// /**
|
||||
// * 收藏
|
||||
// *
|
||||
// * @param userId
|
||||
// * @return
|
||||
// */
|
||||
// BaseResponse<Boolean> doResourceFavour( Integer resourceId, String userId);
|
||||
//
|
||||
//
|
||||
//
|
||||
// public Page<CourseResources> listCourseFavourByPage(String userId, Integer type, Integer page, Integer pageSize);
|
||||
//
|
||||
//}
|
||||
|
@ -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<CourseResourcesMapper, CourseResources> 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<CourseResources> getresourceRecords(Integer type, List<Integer> resourceIdList, int page, int pageSize) { |
||||
Page <CourseResources> pageInfo=new Page<>(page,pageSize); |
||||
|
||||
LambdaQueryWrapper<CourseResources>lambdaQueryWrapper=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<CourseResources> getByType(String type) { |
||||
LambdaQueryWrapper<CourseResources> lambdaQueryWrapper = new LambdaQueryWrapper<>(); |
||||
lambdaQueryWrapper.eq(CourseResources::getType, type); |
||||
|
||||
List<CourseResources> list = this.list(lambdaQueryWrapper); |
||||
|
||||
return list; |
||||
} |
||||
|
||||
|
||||
@Override |
||||
public void removeCourseResources(List<Long> ids) { |
||||
//删除资源在记录表里对应的记录
|
||||
List<LearningRecords> list = new ArrayList<>(); |
||||
for (Long id: ids) { |
||||
LambdaQueryWrapper<LearningRecords> 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查数据
|
||||
} |
||||
|
||||
|
||||
} |
||||
|
||||
|
||||
|
@ -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<ResourcesRelationshipMapper, ResourceRelationship> implements ResourcesRelationshipService { |
||||
|
||||
@Autowired |
||||
CourseResourcesService courseResourcesService; |
||||
@Override |
||||
public List<CourseResources> getResource(String id) { |
||||
LambdaQueryWrapper<ResourceRelationship> lambdaQueryWrapper = new LambdaQueryWrapper<>(); |
||||
|
||||
lambdaQueryWrapper.eq(ResourceRelationship::getCourseid, id); |
||||
List<ResourceRelationship> resourceRelationshipList = this.list(lambdaQueryWrapper); |
||||
|
||||
List<String> resourceIds = resourceRelationshipList.stream() |
||||
.map(ResourceRelationship::getResourceid) |
||||
.collect(Collectors.toList()); |
||||
|
||||
if (!resourceIds.isEmpty()) { |
||||
|
||||
LambdaQueryWrapper<CourseResources> courseResourcesQueryWrapper = new LambdaQueryWrapper<>(); |
||||
courseResourcesQueryWrapper.in(CourseResources::getId, resourceIds); |
||||
return courseResourcesService.list(courseResourcesQueryWrapper); |
||||
} |
||||
|
||||
return Collections.emptyList(); |
||||
} |
||||
|
||||
@Override |
||||
public List<CourseResources> getResource2(String id, Integer type) { |
||||
LambdaQueryWrapper<ResourceRelationship> lambdaQueryWrapper = new LambdaQueryWrapper<>(); |
||||
lambdaQueryWrapper.eq(ResourceRelationship::getCourseid, id); |
||||
List<ResourceRelationship> resourceRelationshipList = this.list(lambdaQueryWrapper); |
||||
|
||||
List<String> resourceIds = resourceRelationshipList.stream() |
||||
.map(ResourceRelationship::getResourceid) |
||||
.collect(Collectors.toList()); |
||||
if (type==null){ |
||||
|
||||
if (!resourceIds.isEmpty()) { |
||||
|
||||
LambdaQueryWrapper<CourseResources> courseResourcesQueryWrapper = new LambdaQueryWrapper<>(); |
||||
courseResourcesQueryWrapper.in(CourseResources::getId, resourceIds); |
||||
return courseResourcesService.list(courseResourcesQueryWrapper); |
||||
} |
||||
|
||||
}else { |
||||
LambdaQueryWrapper<CourseResources> courseResourcesQueryWrapper = new LambdaQueryWrapper<>(); |
||||
courseResourcesQueryWrapper.in(CourseResources::getId, resourceIds) |
||||
.in(CourseResources::getType,type); |
||||
return courseResourcesService.list(courseResourcesQueryWrapper); |
||||
} |
||||
|
||||
|
||||
return Collections.emptyList(); |
||||
} |
||||
|
||||
|
||||
} |
@ -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<SeCourseFavourMapper, SeCourseFavour> implements SeCourseFavourService { |
||||
|
||||
|
||||
@Resource |
||||
private SeResourceFavourService seResourceFavourService; |
||||
|
||||
@Resource |
||||
SeKnowFavourService seKnowFavourService; |
||||
|
||||
@Autowired |
||||
CoursesMapper coursesMapper; |
||||
|
||||
@Autowired |
||||
ICoursesService coursesService; |
||||
|
||||
|
||||
|
||||
@Override |
||||
public BaseResponse<Boolean> 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<SeCourseFavour> 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 BaseResponse<Long>favourCount(String courseId) { |
||||
//从数据库中校验是否存在courseid
|
||||
QueryWrapper<SeCourseFavour> 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<Long> courseCount(String courseId) { |
||||
|
||||
QueryWrapper<SeResourceFavour> ResourceQueryWrapper = new QueryWrapper<>(); |
||||
ResourceQueryWrapper.eq("course_id", courseId); |
||||
long result1 = seResourceFavourService.count(ResourceQueryWrapper); |
||||
QueryWrapper<SeKnowFavour> 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<String> courseList(String userId) { |
||||
QueryWrapper<SeCourseFavour> courseQueryWrapper = new QueryWrapper<>(); |
||||
courseQueryWrapper.eq("user_id", userId); |
||||
List<String> list = this.list(courseQueryWrapper).stream().map(SeCourseFavour::getCourseId).collect(Collectors.toList()); |
||||
return list; |
||||
} |
||||
|
||||
@Override |
||||
public Page<CourseFavourDetailVO> listCourseFavourByPage(Page<Courses> page, Wrapper<Courses> queryWrapper) { |
||||
Page<Courses> coursePage = coursesService.page(page, queryWrapper); |
||||
Page<CourseFavourDetailVO> courseFavourVOPage = new Page<>(coursePage.getCurrent(), coursePage.getSize(), coursePage.getTotal()); |
||||
List<Courses> courseFavourList = coursePage.getRecords(); |
||||
//若数据为空,直接返回
|
||||
if (CollUtil.isEmpty(courseFavourList)) { |
||||
return courseFavourVOPage; |
||||
} |
||||
//过滤字段
|
||||
List<CourseFavourDetailVO> 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<SeCourseFavourMapper, SeCourseFavour> implements SeCourseFavourService {
|
||||
//
|
||||
//
|
||||
// @Resource
|
||||
// private SeResourceFavourService seResourceFavourService;
|
||||
//
|
||||
// @Resource
|
||||
// SeKnowFavourService seKnowFavourService;
|
||||
//
|
||||
// @Autowired
|
||||
// CoursesMapper coursesMapper;
|
||||
//
|
||||
// @Autowired
|
||||
// ICoursesService coursesService;
|
||||
//
|
||||
//
|
||||
//
|
||||
// @Override
|
||||
// public BaseResponse<Boolean> 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<SeCourseFavour> 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 BaseResponse<Long>favourCount(String courseId) {
|
||||
// //从数据库中校验是否存在courseid
|
||||
// QueryWrapper<SeCourseFavour> 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<Long> courseCount(String courseId) {
|
||||
//
|
||||
// QueryWrapper<SeResourceFavour> ResourceQueryWrapper = new QueryWrapper<>();
|
||||
// ResourceQueryWrapper.eq("course_id", courseId);
|
||||
// long result1 = seResourceFavourService.count(ResourceQueryWrapper);
|
||||
// QueryWrapper<SeKnowFavour> 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<String> courseList(String userId) {
|
||||
// QueryWrapper<SeCourseFavour> courseQueryWrapper = new QueryWrapper<>();
|
||||
// courseQueryWrapper.eq("user_id", userId);
|
||||
// List<String> list = this.list(courseQueryWrapper).stream().map(SeCourseFavour::getCourseId).collect(Collectors.toList());
|
||||
// return list;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public Page<CourseFavourDetailVO> listCourseFavourByPage(Page<Courses> page, Wrapper<Courses> queryWrapper) {
|
||||
// Page<Courses> coursePage = coursesService.page(page, queryWrapper);
|
||||
// Page<CourseFavourDetailVO> courseFavourVOPage = new Page<>(coursePage.getCurrent(), coursePage.getSize(), coursePage.getTotal());
|
||||
// List<Courses> courseFavourList = coursePage.getRecords();
|
||||
// //若数据为空,直接返回
|
||||
// if (CollUtil.isEmpty(courseFavourList)) {
|
||||
// return courseFavourVOPage;
|
||||
// }
|
||||
// //过滤字段
|
||||
// List<CourseFavourDetailVO> 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;
|
||||
// }
|
||||
//
|
||||
//
|
||||
//}
|
||||
|
@ -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<SeResourceFavourMapper, SeResourceFavour> implements SeResourceFavourService { |
||||
|
||||
|
||||
@Autowired |
||||
CoursesMapper coursesMapper; |
||||
|
||||
@Autowired |
||||
private CourseResourcesService courseResourcesService; |
||||
|
||||
@Autowired |
||||
private UmsUserMapper umsAdminMapper; |
||||
|
||||
@Autowired |
||||
private CourseResourcesMapper courseResourcesMapper; |
||||
|
||||
@Override |
||||
public BaseResponse<Boolean> 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<SeResourceFavour> 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<CourseResources> 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<SeResourceFavour> resourceQueryWrapper = new QueryWrapper<>(); |
||||
resourceQueryWrapper.eq("user_id",userId); |
||||
List<Integer> 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<SeResourceFavourMapper, SeResourceFavour> implements SeResourceFavourService {
|
||||
//
|
||||
//
|
||||
// @Autowired
|
||||
// CoursesMapper coursesMapper;
|
||||
//
|
||||
// @Autowired
|
||||
// private CourseResourcesService courseResourcesService;
|
||||
//
|
||||
// @Autowired
|
||||
// private UmsUserMapper umsAdminMapper;
|
||||
//
|
||||
// @Autowired
|
||||
// private CourseResourcesMapper courseResourcesMapper;
|
||||
//
|
||||
// @Override
|
||||
// public BaseResponse<Boolean> 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<SeResourceFavour> 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<CourseResources> 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<SeResourceFavour> resourceQueryWrapper = new QueryWrapper<>();
|
||||
// resourceQueryWrapper.eq("user_id",userId);
|
||||
// List<Integer> ids = this.list(resourceQueryWrapper).stream().map(SeResourceFavour::getResourceId).collect(Collectors.toList());
|
||||
// return courseResourcesService.getresourceRecords(type,ids,page,pageSize);
|
||||
// }
|
||||
//}
|
||||
|
@ -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(); |
||||
} |
||||
} |
@ -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<SeCourseThumbMapper, SeCourseThumb> implements SeCourseThumbService { |
||||
|
||||
|
||||
@Resource |
||||
private SeResourceThumbService seResourceThumbService; |
||||
|
||||
@Resource |
||||
SeKnowThumbService seKnowThumbService; |
||||
|
||||
|
||||
@Autowired |
||||
CoursesMapper coursesMapper; |
||||
|
||||
@Override |
||||
public BaseResponse<Boolean> 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<SeCourseThumb> 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<Long> thumbCount(String courseId) { |
||||
|
||||
//从数据库中校验是否存在courseid
|
||||
Courses courses = coursesMapper.selectById(courseId); |
||||
if(courses == null){ |
||||
return ResultUtils.error(ErrorCode.PARAMS_COURSE_NOTEXISTS); |
||||
} |
||||
|
||||
QueryWrapper<SeCourseThumb> 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<SeCourseThumbMapper, SeCourseThumb> implements SeCourseThumbService {
|
||||
//
|
||||
//
|
||||
// @Resource
|
||||
// private SeResourceThumbService seResourceThumbService;
|
||||
//
|
||||
// @Resource
|
||||
// SeKnowThumbService seKnowThumbService;
|
||||
//
|
||||
//
|
||||
// @Autowired
|
||||
// CoursesMapper coursesMapper;
|
||||
//
|
||||
// @Override
|
||||
// public BaseResponse<Boolean> 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<SeCourseThumb> 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<Long> thumbCount(String courseId) {
|
||||
//
|
||||
// //从数据库中校验是否存在courseid
|
||||
// Courses courses = coursesMapper.selectById(courseId);
|
||||
// if(courses == null){
|
||||
// return ResultUtils.error(ErrorCode.PARAMS_COURSE_NOTEXISTS);
|
||||
// }
|
||||
//
|
||||
// QueryWrapper<SeCourseThumb> 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);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
//}
|
||||
|
@ -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<SeKnowThumbMapper, SeKnowThumb> implements SeKnowThumbService { |
||||
@Autowired |
||||
CoursesMapper coursesMapper; |
||||
@Override |
||||
public BaseResponse<Boolean> doKnowThumb(Integer knowId, String userId) { |
||||
boolean result = false; |
||||
// todo 查询知识点
|
||||
// 先查询数据库记录,该用户是否点赞
|
||||
SeKnowThumb seKnowThumb = new SeKnowThumb(); |
||||
seKnowThumb.setKnowId(knowId); |
||||
seKnowThumb.setUserId(userId); |
||||
QueryWrapper<SeKnowThumb> 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<SeKnowThumbMapper, SeKnowThumb> implements SeKnowThumbService {
|
||||
// @Autowired
|
||||
// CoursesMapper coursesMapper;
|
||||
// @Override
|
||||
// public BaseResponse<Boolean> doKnowThumb(Integer knowId, String userId) {
|
||||
// boolean result = false;
|
||||
// // todo 查询知识点
|
||||
// // 先查询数据库记录,该用户是否点赞
|
||||
// SeKnowThumb seKnowThumb = new SeKnowThumb();
|
||||
// seKnowThumb.setKnowId(knowId);
|
||||
// seKnowThumb.setUserId(userId);
|
||||
// QueryWrapper<SeKnowThumb> 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);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
//}
|
||||
|
@ -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<SeResourceThumbMapper, SeResourceThumb> implements SeResourceThumbService { |
||||
|
||||
@Autowired |
||||
CoursesMapper coursesMapper; |
||||
|
||||
|
||||
@Autowired |
||||
private CourseResourcesMapper courseResourcesMapper; |
||||
|
||||
@Override |
||||
public BaseResponse<Boolean> 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<SeResourceThumb> 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<SeResourceThumbMapper, SeResourceThumb> implements SeResourceThumbService {
|
||||
//
|
||||
// @Autowired
|
||||
// CoursesMapper coursesMapper;
|
||||
//
|
||||
//
|
||||
// @Autowired
|
||||
// private Reso courseResourcesMapper;
|
||||
//
|
||||
// @Override
|
||||
// public BaseResponse<Boolean> 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<SeResourceThumb> 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);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
//
|
||||
//}
|
||||
|
@ -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<CourseResources> { |
||||
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<CourseResources> getresourceRecords(Integer type, List<Integer> resourceIdList, int page, int pageSize); |
||||
|
||||
|
||||
public List<CourseResources> getByType(String type); |
||||
public void removeCourseResources(List<Long> ids); |
||||
|
||||
public void saveCourseResource(CourseResources courseResources); |
||||
|
||||
public void editCourseResource(String resourceId); |
||||
} |
@ -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); |
||||
|
||||
|
||||
} |
@ -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<ResourceRelationship> { |
||||
|
||||
|
||||
List<CourseResources> getResource(String id); |
||||
|
||||
List<CourseResources> getResource2(String id, Integer type); |
||||
} |
@ -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<SeCourseThumb> { |
||||
|
||||
/** |
||||
* 点赞 |
||||
* |
||||
* @param courseId |
||||
* @param userId |
||||
* @return |
||||
*/ |
||||
BaseResponse<Boolean> doCourseThumb(String courseId, String userId); |
||||
|
||||
|
||||
/** |
||||
* 点赞总数 |
||||
* |
||||
* @param courseId |
||||
* @return |
||||
*/ |
||||
BaseResponse<Long> 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<SeCourseThumb> {
|
||||
//
|
||||
// /**
|
||||
// * 点赞
|
||||
// *
|
||||
// * @param courseId
|
||||
// * @param userId
|
||||
// * @return
|
||||
// */
|
||||
// BaseResponse<Boolean> doCourseThumb(String courseId, String userId);
|
||||
//
|
||||
//
|
||||
// /**
|
||||
// * 点赞总数
|
||||
// *
|
||||
// * @param courseId
|
||||
// * @return
|
||||
// */
|
||||
// BaseResponse<Long> thumbCount(String courseId);
|
||||
//
|
||||
//
|
||||
//}
|
||||
|
@ -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<SeKnowThumb> { |
||||
|
||||
/** |
||||
* 点赞 |
||||
* |
||||
|
||||
* @return |
||||
*/ |
||||
BaseResponse<Boolean> 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<SeKnowThumb> {
|
||||
//
|
||||
// /**
|
||||
// * 点赞
|
||||
// *
|
||||
//
|
||||
// * @return
|
||||
// */
|
||||
// BaseResponse<Boolean> doKnowThumb(Integer knowId, String userId);
|
||||
//
|
||||
//}
|
||||
|
@ -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<SeResourceThumb> { |
||||
|
||||
/** |
||||
* 点赞 |
||||
* |
||||
* @param userId |
||||
* @return |
||||
*/ |
||||
BaseResponse<Boolean> 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<SeResourceThumb> {
|
||||
//
|
||||
// /**
|
||||
// * 点赞
|
||||
// *
|
||||
// * @param userId
|
||||
// * @return
|
||||
// */
|
||||
// BaseResponse<Boolean> doResourceThumb(Integer resourceId, String userId);
|
||||
//
|
||||
//}
|
||||
|
Loading…
Reference in new issue