合并所有表 4.0 -yhhs

master
youahng 9 months ago
parent 1cd1d906bf
commit a0a8fa1ca7
  1. 49
      src/main/java/com/teaching/backend/controller/favour/SeCourseFavourController.java
  2. 11
      src/main/java/com/teaching/backend/controller/favour/SeKnowFavourController.java
  3. 11
      src/main/java/com/teaching/backend/controller/favour/SeResourceFavourController.java
  4. 20
      src/main/java/com/teaching/backend/controller/thumb/SeCourseThumbController.java
  5. 8
      src/main/java/com/teaching/backend/controller/thumb/SeKnowThumbController.java
  6. 8
      src/main/java/com/teaching/backend/controller/thumb/SeResourceThumbController.java
  7. 10
      src/main/java/com/teaching/backend/service/favour/SeCourseFavourService.java
  8. 3
      src/main/java/com/teaching/backend/service/favour/SeKnowFavourService.java
  9. 3
      src/main/java/com/teaching/backend/service/favour/SeResourceFavourService.java
  10. 39
      src/main/java/com/teaching/backend/service/impl/favour/SeCourseFavourServiceImpl.java
  11. 37
      src/main/java/com/teaching/backend/service/impl/favour/SeKnowFavourServiceImpl.java
  12. 41
      src/main/java/com/teaching/backend/service/impl/favour/SeResourceFavourServiceImpl.java
  13. 52
      src/main/java/com/teaching/backend/service/impl/thumb/SeCourseThumbServiceImpl.java
  14. 23
      src/main/java/com/teaching/backend/service/impl/thumb/SeKnowThumbServiceImpl.java
  15. 25
      src/main/java/com/teaching/backend/service/impl/thumb/SeResourceThumbServiceImpl.java
  16. 7
      src/main/java/com/teaching/backend/service/thumb/SeCourseThumbService.java
  17. 3
      src/main/java/com/teaching/backend/service/thumb/SeKnowThumbService.java
  18. 3
      src/main/java/com/teaching/backend/service/thumb/SeResourceThumbService.java
  19. 4
      src/main/resources/application.yml

@ -6,22 +6,14 @@ 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.CourseFavourListRequest;
import com.teaching.backend.model.dto.favour.courseFavour.CourseFavourQueryRequest;
import com.teaching.backend.model.entity.courses.Courses;
import com.teaching.backend.model.entity.favour.SeCourseFavour;
import com.teaching.backend.model.vo.CoursesVO;
import com.teaching.backend.model.vo.favour.CourseFavourDetailVO;
import com.teaching.backend.service.courses.ICoursesService;
import com.teaching.backend.service.favour.SeCourseFavourService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@ -44,22 +36,24 @@ public class SeCourseFavourController {
private SeCourseFavourService seCourseFavourService;
/**
* 点赞
* 收藏/取消收藏
*
* @param courseFavourAddRequest
* @return result 执行情况
*/
@PostMapping("/add")
// todo 后期加上 HttpServletRequest request 在一个fitter里面进行鉴权操作
// 加上 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);
}
// todo 从数据库中校验是否存在courseid , userid
Boolean result = seCourseFavourService.doCourseFavour(courseFavourAddRequest.getCourseId(), courseFavourAddRequest.getUserId());
return ResultUtils.success(result);
return seCourseFavourService.doCourseFavour(courseFavourAddRequest.getCourseId(), courseFavourAddRequest.getUserId());
}
@ -70,15 +64,12 @@ public class SeCourseFavourController {
* @return result 课程点赞总数
*/
@PostMapping("/count")
// todo 后期加上 HttpServletRequest request 在一个fitter里面进行鉴权操作
// HttpServletRequest request 在一个fitter里面进行鉴权操作
public BaseResponse<Long> favourCount(@RequestBody CourseFavourAddRequest courseFavourAddRequest) {
if (StringUtils.isAnyBlank(courseFavourAddRequest.getCourseId())) {
throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数不能为空");
}
// todo 从数据库中校验是否存在courseid
Long result = seCourseFavourService.favourCount(courseFavourAddRequest.getCourseId());
return ResultUtils.success(result);
return seCourseFavourService.favourCount(courseFavourAddRequest.getCourseId());
}
/**
@ -95,29 +86,13 @@ public class SeCourseFavourController {
}
// todo 从数据库中校验是否存在courseid
Long result = seCourseFavourService.courseCount(courseFavourAllRequest.getCourseId());
return ResultUtils.success(result);
return seCourseFavourService.courseCount(courseFavourAllRequest.getCourseId());
}
/**
* 某个用户课程列表
*
* @param courseFavourListRequest
* @return result 某个用户课程列表
*/
@PostMapping("/countList")
// todo 后期加上 HttpServletRequest request 在一个fitter里面进行鉴权操作
public BaseResponse<List<String>> courseList(@RequestBody CourseFavourListRequest courseFavourListRequest) {
if (StringUtils.isAnyBlank(courseFavourListRequest.getUserId())) {
throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数-用户id不能为空");
}
// todo 从数据库中校验是否存在userid
List<String> result = seCourseFavourService.courseList(courseFavourListRequest.getUserId());
return ResultUtils.success(result);
}
/**
* 分页获取列表仅管理员
* 分页获取课程列表
*
* @return
*/

@ -2,9 +2,7 @@ package com.teaching.backend.controller.favour;
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.knowFavour.KnowFavourAddRequest;
import com.teaching.backend.service.favour.SeKnowFavourService;
import lombok.extern.slf4j.Slf4j;
@ -31,20 +29,19 @@ public class SeKnowFavourController {
/**
* 点赞
* 知识点收藏
*
* @param knowFavourAddRequest
* @return result 执行情况
*/
@PostMapping("/add")
// todo 后期加上 HttpServletRequest request 在一个fitter里面进行鉴权操作
// 加上 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);
}
// todo 从数据库中校验是否存在knowid , userid ,courseid
Boolean result = seKnowFavourService.doKnowFavour(knowFavourAddRequest.getCourseId(), knowFavourAddRequest.getKnowId(), knowFavourAddRequest.getUserId());
return ResultUtils.success(result);
return seKnowFavourService.doKnowFavour(knowFavourAddRequest.getCourseId(), knowFavourAddRequest.getKnowId(), knowFavourAddRequest.getUserId());
}
}

@ -2,9 +2,7 @@ package com.teaching.backend.controller.favour;
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.service.favour.SeResourceFavourService;
import lombok.extern.slf4j.Slf4j;
@ -31,20 +29,19 @@ public class SeResourceFavourController {
/**
* 收藏
* 资源收藏
*
* @param resourceFavourAddRequest
* @return result 执行情况
*/
@PostMapping("/add")
// todo 后期加上 HttpServletRequest request 在一个fitter里面进行鉴权操作
// 加上 HttpServletRequest request 在一个fitter里面进行鉴权操作
public BaseResponse<Boolean> doFavour(@RequestBody ResourceFavourAddRequest resourceFavourAddRequest) {
if (StringUtils.isAnyBlank(resourceFavourAddRequest.getCourseId(), resourceFavourAddRequest.getResourceId(), resourceFavourAddRequest.getUserId())) {
throw new BusinessException(ErrorCode.PARAMS_ERROR);
}
// todo 从数据库中校验是否存在resourceid , userid ,courseid
Boolean result = seResourceFavourService.doResourceFavour(resourceFavourAddRequest.getCourseId(), resourceFavourAddRequest.getResourceId(), resourceFavourAddRequest.getUserId());
return ResultUtils.success(result);
return seResourceFavourService.doResourceFavour(resourceFavourAddRequest.getCourseId(), resourceFavourAddRequest.getResourceId(), resourceFavourAddRequest.getUserId());
}

@ -2,7 +2,6 @@ package com.teaching.backend.controller.thumb;
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.thumb.coursethumb.CourseThumbAddRequest;
import com.teaching.backend.model.dto.thumb.coursethumb.CourseThumbAllRequest;
@ -37,14 +36,14 @@ public class SeCourseThumbController {
* @return result 执行情况
*/
@PostMapping("/")
// todo 后期加上 HttpServletRequest request 在一个fitter里面进行鉴权操作
// HttpServletRequest request 在一个fitter里面进行鉴权操作
public BaseResponse<Boolean> doThumb(@RequestBody CourseThumbAddRequest courseThumbAddRequest) {
if (StringUtils.isAnyBlank(courseThumbAddRequest.getCourseId(), courseThumbAddRequest.getUserId())) {
throw new BusinessException(ErrorCode.PARAMS_ERROR);
}
// todo 从数据库中校验是否存在courseid , userid 从课程表和用户表查询
Boolean result = seCourseThumbService.doCourseThumb(courseThumbAddRequest.getCourseId(), courseThumbAddRequest.getUserId());
return ResultUtils.success(result);
return seCourseThumbService.doCourseThumb(courseThumbAddRequest.getCourseId(), courseThumbAddRequest.getUserId());
}
@ -55,15 +54,14 @@ public class SeCourseThumbController {
* @return result 课程点赞总数
*/
@PostMapping("/count")
// todo 后期加上 HttpServletRequest request 在一个fitter里面进行鉴权操作
// HttpServletRequest request 在一个fitter里面进行鉴权操作
public BaseResponse<Long> thumbCount(@RequestBody CourseThumbAddRequest courseThumbAddRequest) {
if (StringUtils.isAnyBlank(courseThumbAddRequest.getCourseId())) {
throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数不能为空");
}
// todo 从数据库中校验是否存在courseid
Long result = seCourseThumbService.thumbCount(courseThumbAddRequest.getCourseId());
return ResultUtils.success(result);
return seCourseThumbService.thumbCount(courseThumbAddRequest.getCourseId());
}
/**
@ -78,10 +76,8 @@ public class SeCourseThumbController {
if (StringUtils.isAnyBlank(courseThumbAllRequest.getCourseId())) {
throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数不能为空");
}
// todo 从数据库中校验是否存在courseid
Long result = seCourseThumbService.courseCount(courseThumbAllRequest.getCourseId());
return ResultUtils.success(result);
return seCourseThumbService.courseCount(courseThumbAllRequest.getCourseId());
}
}

@ -2,7 +2,6 @@ package com.teaching.backend.controller.thumb;
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.thumb.knowthumb.KnowThumbAddRequest;
import com.teaching.backend.service.thumb.SeKnowThumbService;
@ -36,14 +35,13 @@ public class SeKnowThumbController {
* @return result 执行情况
*/
@PostMapping("/add")
// todo 后期加上 HttpServletRequest request 在一个fitter里面进行鉴权操作
// 加上 HttpServletRequest request 在一个fitter里面进行鉴权操作
public BaseResponse<Boolean> doThumb(@RequestBody KnowThumbAddRequest knowThumbAddRequest) {
if (StringUtils.isAnyBlank(knowThumbAddRequest.getCourseId(), knowThumbAddRequest.getKnowId(), knowThumbAddRequest.getUserId())) {
throw new BusinessException(ErrorCode.PARAMS_ERROR);
}
// todo 从数据库中校验是否存在knowid , userid ,courseid
Boolean result = seKnowThumbService.doKnowThumb(knowThumbAddRequest.getCourseId(), knowThumbAddRequest.getKnowId(), knowThumbAddRequest.getUserId());
return ResultUtils.success(result);
return seKnowThumbService.doKnowThumb(knowThumbAddRequest.getCourseId(), knowThumbAddRequest.getKnowId(), knowThumbAddRequest.getUserId());
}
}

@ -2,7 +2,6 @@ package com.teaching.backend.controller.thumb;
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.thumb.resourcethumb.ResourceThumbAddRequest;
import com.teaching.backend.service.thumb.SeResourceThumbService;
@ -36,14 +35,13 @@ public class SeResourceThumbController {
* @return result 执行情况
*/
@PostMapping("/add")
// todo 后期加上 HttpServletRequest request 在一个fitter里面进行鉴权操作
// 加上 HttpServletRequest request 在一个fitter里面进行鉴权操作
public BaseResponse<Boolean> doThumb(@RequestBody ResourceThumbAddRequest resourceThumbAddRequest) {
if (StringUtils.isAnyBlank(resourceThumbAddRequest.getCourseId(), resourceThumbAddRequest.getResourceId(), resourceThumbAddRequest.getUserId())) {
throw new BusinessException(ErrorCode.PARAMS_ERROR);
}
// todo 从数据库中校验是否存在resourceid , userid ,courseid
Boolean result = seResourceThumbService.doResourceThumb(resourceThumbAddRequest.getCourseId(), resourceThumbAddRequest.getResourceId(), resourceThumbAddRequest.getUserId());
return ResultUtils.success(result);
return seResourceThumbService.doResourceThumb(resourceThumbAddRequest.getCourseId(), resourceThumbAddRequest.getResourceId(), resourceThumbAddRequest.getUserId());
}
}

@ -1,16 +1,12 @@
package com.teaching.backend.service.favour;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
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.dto.favour.courseFavour.CourseFavourQueryRequest;
import com.teaching.backend.model.entity.courses.Courses;
import com.teaching.backend.model.entity.favour.SeCourseFavour;
import com.teaching.backend.model.vo.favour.CourseFavourDetailVO;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@ -28,7 +24,7 @@ public interface SeCourseFavourService extends IService<SeCourseFavour> {
* @param userId
* @return
*/
boolean doCourseFavour(String courseId, String userId);
BaseResponse<Boolean> doCourseFavour(String courseId, String userId);
/**
@ -37,7 +33,7 @@ public interface SeCourseFavourService extends IService<SeCourseFavour> {
* @param courseId
* @return
*/
long favourCount(String courseId);
BaseResponse<Long> favourCount(String courseId);
/**
@ -46,7 +42,7 @@ public interface SeCourseFavourService extends IService<SeCourseFavour> {
* @param courseId
* @return
*/
long courseCount(String courseId);
BaseResponse<Long> courseCount(String courseId);
/**

@ -1,6 +1,7 @@
package com.teaching.backend.service.favour;
import com.baomidou.mybatisplus.extension.service.IService;
import com.teaching.backend.common.BaseResponse;
import com.teaching.backend.model.entity.favour.SeKnowFavour;
/**
@ -17,6 +18,6 @@ public interface SeKnowFavourService extends IService<SeKnowFavour> {
* @param userId
* @return
*/
boolean doKnowFavour(String courseId, String resourceId, String userId);
BaseResponse<Boolean> doKnowFavour(String courseId, String resourceId, String userId);
}

@ -1,6 +1,7 @@
package com.teaching.backend.service.favour;
import com.baomidou.mybatisplus.extension.service.IService;
import com.teaching.backend.common.BaseResponse;
import com.teaching.backend.model.entity.favour.SeResourceFavour;
/**
@ -17,6 +18,6 @@ public interface SeResourceFavourService extends IService<SeResourceFavour> {
* @param userId
* @return
*/
boolean doResourceFavour(String courseId, String resourceId, String userId);
BaseResponse<Boolean> doResourceFavour(String courseId, String resourceId, String userId);
}

@ -3,32 +3,26 @@ 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.core.metadata.IPage;
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.dto.favour.courseFavour.CourseFavourQueryRequest;
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.CoursesVO;
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 org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.Resource;
import java.util.ArrayList;
@ -53,27 +47,36 @@ public class SeCourseFavourServiceImpl extends ServiceImpl<SeCourseFavourMapper,
@Resource
SeKnowFavourService seKnowFavourService;
@Autowired
CoursesMapper coursesMapper;
@Autowired
ICoursesService coursesService;
@Override
public boolean doCourseFavour(String courseId, String userId) {
public BaseResponse<Boolean> doCourseFavour(String courseId, String userId) {
System.out.println("进入点赞" + courseId + userId);
// todo 先查询数据库记录,该用户是否点赞
//从数据库中校验是否存在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);
boolean result = false;
//已点赞
if (oldSeCourseFavour != null) {
// 取消点赞 删除记录
result = this.remove(favourQueryWrapper);
if (result) {
System.out.println("取消点赞成功");
return result;
return ResultUtils.success(result);
} else {
throw new BusinessException(ErrorCode.SYSTEM_ERROR);
}
@ -89,27 +92,27 @@ public class SeCourseFavourServiceImpl extends ServiceImpl<SeCourseFavourMapper,
} finally {
lock.unlock();
System.out.println("点赞成功");
return result;
return ResultUtils.success(result);
}
}
}
@Override
public long favourCount(String courseId) {
System.out.println("进入课程点赞统计" + courseId);
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 result;
return ResultUtils.success(result);
}
}
@Override
public long courseCount(String courseId) {
System.out.println("进入课程下资源和知识点的点赞统计" + courseId);
public BaseResponse<Long> courseCount(String courseId) {
QueryWrapper<SeResourceFavour> ResourceQueryWrapper = new QueryWrapper<>();
ResourceQueryWrapper.eq("course_id", courseId);
long result1 = seResourceFavourService.count(ResourceQueryWrapper);
@ -120,7 +123,7 @@ public class SeCourseFavourServiceImpl extends ServiceImpl<SeCourseFavourMapper,
if (result == 0) {
throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在");
} else {
return result;
return ResultUtils.success(result);
}
}

@ -2,12 +2,16 @@ package com.teaching.backend.service.impl.favour;
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.favour.SeKnowFavourMapper;
import com.teaching.backend.model.entity.courses.Courses;
import com.teaching.backend.model.entity.favour.SeKnowFavour;
import com.teaching.backend.service.favour.SeKnowFavourService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.concurrent.locks.Lock;
@ -22,29 +26,38 @@ import java.util.concurrent.locks.ReentrantLock;
@Service
public class SeKnowFavourServiceImpl extends ServiceImpl<SeKnowFavourMapper, SeKnowFavour> implements SeKnowFavourService {
@Autowired
CoursesMapper coursesMapper;
@Override
public boolean doKnowFavour(String courseId, String knowId, String userId) {
System.out.println("进入知识点点赞" + knowId + userId);
// 先查询数据库记录,该用户是否点赞
public BaseResponse<Boolean> doKnowFavour(String courseId, String knowId, String userId) {
// todo 判断知识点id是否存在
//从数据库中校验是否存在courseid
Courses courses = coursesMapper.selectById(courseId);
boolean result = false;
if(courses == null){
return ResultUtils.error(ErrorCode.NOT_FOUND_ERROR,"课程不存在");
}
// 先查询数据库记录,该用户是否收藏
SeKnowFavour seKnowFavour = new SeKnowFavour();
seKnowFavour.setKnowId(knowId);
seKnowFavour.setUserId(userId);
seKnowFavour.setCourseId(courseId);
QueryWrapper<SeKnowFavour> favourQueryWrapper = new QueryWrapper<>(seKnowFavour);
SeKnowFavour oldSeKnowFavour = this.getOne(favourQueryWrapper);
boolean result = false;
//已点赞
//已收藏
if (oldSeKnowFavour != null) {
// 取消点赞 删除记录
// 取消收藏 删除记录
result = this.remove(favourQueryWrapper);
if (result) {
System.out.println("取消点赞成功");
return result;
System.out.println("取消收藏成功");
return ResultUtils.success(result);
} else {
throw new BusinessException(ErrorCode.SYSTEM_ERROR);
}
} else {
// 每个用户串行点赞
// 每个用户串行收藏
// 锁必须要包裹住事务方法
Lock lock = new ReentrantLock();
lock.lock();
@ -54,8 +67,8 @@ public class SeKnowFavourServiceImpl extends ServiceImpl<SeKnowFavourMapper, SeK
throw new BusinessException(ErrorCode.OPERATION_ERROR);
} finally {
lock.unlock();
System.out.println("点赞成功");
return result;
// System.out.println("收藏成功");
return ResultUtils.success(result);
}
}
}

@ -2,13 +2,16 @@ package com.teaching.backend.service.impl.favour;
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.favour.SeResourceFavourMapper;
import com.teaching.backend.model.entity.courses.Courses;
import com.teaching.backend.model.entity.favour.SeResourceFavour;
import com.teaching.backend.service.favour.SeResourceFavourService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.concurrent.locks.Lock;
@ -23,29 +26,41 @@ import java.util.concurrent.locks.ReentrantLock;
@Service
public class SeResourceFavourServiceImpl extends ServiceImpl<SeResourceFavourMapper, SeResourceFavour> implements SeResourceFavourService {
@Autowired
CoursesMapper coursesMapper;
@Override
public boolean doResourceFavour(String courseId, String resourceId, String userId) {
System.out.println("进入知识点点赞" + resourceId + userId);
// 先查询数据库记录,该用户是否点赞
public BaseResponse<Boolean> doResourceFavour(String courseId, String resourceId, String userId) {
//从数据库中校验是否存在courseid
Courses courses = coursesMapper.selectById(courseId);
boolean result = false;
if(courses == null){
return ResultUtils.error(ErrorCode.NOT_FOUND_ERROR,"课程不存在");
}
// todo 从数据库中校验是否存在resourceid
// 先查询数据库记录,该用户是否收藏
SeResourceFavour seResourceFavour = new SeResourceFavour();
seResourceFavour.setResourceId(resourceId);
seResourceFavour.setUserId(userId);
seResourceFavour.setCourseId(courseId);
QueryWrapper<SeResourceFavour> thumbQueryWrapper = new QueryWrapper<>(seResourceFavour);
SeResourceFavour oldSeResourceFavour = this.getOne(thumbQueryWrapper);
boolean result = false;
//已点赞
//已收藏
if (oldSeResourceFavour != null) {
// 取消点赞 删除记录
// 取消收藏 删除记录
result = this.remove(thumbQueryWrapper);
if (result) {
System.out.println("取消点赞成功");
return result;
System.out.println("取消收藏成功");
return ResultUtils.success(result);
} else {
throw new BusinessException(ErrorCode.SYSTEM_ERROR);
}
} else {
// 每个用户串行点赞
// 每个用户串行收藏
// 锁必须要包裹住事务方法
Lock lock = new ReentrantLock();
lock.lock();
@ -55,8 +70,8 @@ public class SeResourceFavourServiceImpl extends ServiceImpl<SeResourceFavourMap
throw new BusinessException(ErrorCode.OPERATION_ERROR);
} finally {
lock.unlock();
System.out.println("点赞成功");
return result;
System.out.println("收藏成功");
return ResultUtils.success(result);
}
}
}

@ -2,15 +2,20 @@ 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;
@ -34,23 +39,32 @@ public class SeCourseThumbServiceImpl extends ServiceImpl<SeCourseThumbMapper, S
SeKnowThumbService seKnowThumbService;
@Autowired
CoursesMapper coursesMapper;
@Override
public boolean doCourseThumb(String courseId, String userId) {
System.out.println("进入点赞" + courseId + userId);
public BaseResponse<Boolean> doCourseThumb(String courseId, String userId) {
//从数据库中校验是否存在courseid
Courses courses = coursesMapper.selectById(courseId);
boolean result = false;
if(courses == null){
return ResultUtils.error(ErrorCode.NOT_FOUND_ERROR,"课程不存在");
}
// 先查询数据库记录,该用户是否点赞
SeCourseThumb seCourseThumb = new SeCourseThumb();
seCourseThumb.setCourseId(courseId);
seCourseThumb.setUserId(userId);
QueryWrapper<SeCourseThumb> thumbQueryWrapper = new QueryWrapper<>(seCourseThumb);
SeCourseThumb oldSeCourseThumb = this.getOne(thumbQueryWrapper);
boolean result = false;
//已点赞
if (oldSeCourseThumb != null) {
// 取消点赞 删除记录
result = this.remove(thumbQueryWrapper);
if (result) {
System.out.println("取消点赞成功");
return result;
return ResultUtils.success(result);
} else {
throw new BusinessException(ErrorCode.SYSTEM_ERROR);
}
@ -66,27 +80,39 @@ public class SeCourseThumbServiceImpl extends ServiceImpl<SeCourseThumbMapper, S
} finally {
lock.unlock();
System.out.println("点赞成功");
return result;
return ResultUtils.success(result);
}
}
}
@Override
public long thumbCount(String courseId) {
System.out.println("进入课程点赞统计" + courseId);
public BaseResponse<Long> thumbCount(String courseId) {
//从数据库中校验是否存在courseid
Courses courses = coursesMapper.selectById(courseId);
if(courses == null){
return ResultUtils.error(ErrorCode.NOT_FOUND_ERROR,"课程不存在");
}
QueryWrapper<SeCourseThumb> thumbQueryWrapper = new QueryWrapper<>();
thumbQueryWrapper.eq("course_id", courseId);
long result = this.count(thumbQueryWrapper);
if (result == 0) {
long count = this.count(thumbQueryWrapper);
if (count == 0) {
throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在");
} else {
return result;
return ResultUtils.success(count);
}
}
@Override
public long courseCount(String courseId) {
System.out.println("进入课程下资源和知识点的点赞统计" + courseId);
public BaseResponse<Long> courseCount(String courseId) {
//从数据库中校验是否存在courseid
Courses courses = coursesMapper.selectById(courseId);
if(courses == null){
return ResultUtils.error(ErrorCode.NOT_FOUND_ERROR,"课程不存在");
}
QueryWrapper<SeResourceThumb> ResourceQueryWrapper = new QueryWrapper<>();
ResourceQueryWrapper.eq("course_id", courseId);
long result1 = seResourceThumbService.count(ResourceQueryWrapper);
@ -97,7 +123,7 @@ public class SeCourseThumbServiceImpl extends ServiceImpl<SeCourseThumbMapper, S
if (result == 0) {
throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在");
} else {
return result;
return ResultUtils.success(result);
}
}

@ -2,11 +2,16 @@ 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;
@ -20,10 +25,17 @@ import java.util.concurrent.locks.ReentrantLock;
*/
@Service
public class SeKnowThumbServiceImpl extends ServiceImpl<SeKnowThumbMapper, SeKnowThumb> implements SeKnowThumbService {
@Autowired
CoursesMapper coursesMapper;
@Override
public boolean doKnowThumb(String courseId, String knowId, String userId) {
System.out.println("进入知识点点赞" + knowId + userId);
public BaseResponse<Boolean> doKnowThumb(String courseId, String knowId, String userId) {
// todo 查询知识点
//从数据库中校验是否存在courseid
Courses courses = coursesMapper.selectById(courseId);
boolean result = false;
if(courses == null){
return ResultUtils.error(ErrorCode.NOT_FOUND_ERROR,"课程不存在");
}
// 先查询数据库记录,该用户是否点赞
SeKnowThumb seKnowThumb = new SeKnowThumb();
seKnowThumb.setKnowId(knowId);
@ -31,14 +43,13 @@ public class SeKnowThumbServiceImpl extends ServiceImpl<SeKnowThumbMapper, SeKno
seKnowThumb.setCourseId(courseId);
QueryWrapper<SeKnowThumb> thumbQueryWrapper = new QueryWrapper<>(seKnowThumb);
SeKnowThumb oldSeKnowThumb = this.getOne(thumbQueryWrapper);
boolean result = false;
//已点赞
if (oldSeKnowThumb != null) {
// 取消点赞 删除记录
result = this.remove(thumbQueryWrapper);
if (result) {
System.out.println("取消点赞成功");
return result;
return ResultUtils.success(result);
} else {
throw new BusinessException(ErrorCode.SYSTEM_ERROR);
}
@ -54,7 +65,7 @@ public class SeKnowThumbServiceImpl extends ServiceImpl<SeKnowThumbMapper, SeKno
} finally {
lock.unlock();
System.out.println("点赞成功");
return result;
return ResultUtils.success(result);
}
}
}

@ -2,11 +2,16 @@ 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.SeResourceThumbMapper;
import com.teaching.backend.model.entity.courses.Courses;
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;
@ -21,9 +26,19 @@ import java.util.concurrent.locks.ReentrantLock;
@Service
public class SeResourceThumbServiceImpl extends ServiceImpl<SeResourceThumbMapper, SeResourceThumb> implements SeResourceThumbService {
@Autowired
CoursesMapper coursesMapper;
@Override
public boolean doResourceThumb(String courseId, String resourceId, String userId) {
System.out.println("进入知识点点赞" + resourceId + userId);
public BaseResponse<Boolean> doResourceThumb(String courseId, String resourceId, String userId) {
//从数据库中校验是否存在courseid
Courses courses = coursesMapper.selectById(courseId);
boolean result = false;
if(courses == null){
return ResultUtils.error(ErrorCode.NOT_FOUND_ERROR,"课程不存在");
}
// 先查询数据库记录,该用户是否点赞
SeResourceThumb seResourceThumb = new SeResourceThumb();
seResourceThumb.setResourceId(resourceId);
@ -31,14 +46,14 @@ public class SeResourceThumbServiceImpl extends ServiceImpl<SeResourceThumbMappe
seResourceThumb.setCourseId(courseId);
QueryWrapper<SeResourceThumb> thumbQueryWrapper = new QueryWrapper<>(seResourceThumb);
SeResourceThumb oldSeResourceThumb = this.getOne(thumbQueryWrapper);
boolean result = false;
//已点赞
if (oldSeResourceThumb != null) {
// 取消点赞 删除记录
result = this.remove(thumbQueryWrapper);
if (result) {
System.out.println("取消点赞成功");
return result;
return ResultUtils.success(result);
} else {
throw new BusinessException(ErrorCode.SYSTEM_ERROR);
}
@ -54,7 +69,7 @@ public class SeResourceThumbServiceImpl extends ServiceImpl<SeResourceThumbMappe
} finally {
lock.unlock();
System.out.println("点赞成功");
return result;
return ResultUtils.success(result);
}
}
}

@ -1,6 +1,7 @@
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;
/**
@ -17,7 +18,7 @@ public interface SeCourseThumbService extends IService<SeCourseThumb> {
* @param userId
* @return
*/
boolean doCourseThumb(String courseId, String userId);
BaseResponse<Boolean> doCourseThumb(String courseId, String userId);
/**
@ -26,7 +27,7 @@ public interface SeCourseThumbService extends IService<SeCourseThumb> {
* @param courseId
* @return
*/
long thumbCount(String courseId);
BaseResponse<Long> thumbCount(String courseId);
/**
@ -35,6 +36,6 @@ public interface SeCourseThumbService extends IService<SeCourseThumb> {
* @param courseId
* @return
*/
long courseCount(String courseId);
BaseResponse<Long> courseCount(String courseId);
}

@ -1,6 +1,7 @@
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;
/**
@ -17,6 +18,6 @@ public interface SeKnowThumbService extends IService<SeKnowThumb> {
* @param userId
* @return
*/
boolean doKnowThumb(String courseId, String resourceId, String userId);
BaseResponse<Boolean> doKnowThumb(String courseId, String resourceId, String userId);
}

@ -1,6 +1,7 @@
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;
/**
@ -17,6 +18,6 @@ public interface SeResourceThumbService extends IService<SeResourceThumb> {
* @param userId
* @return
*/
boolean doResourceThumb(String courseId, String resourceId, String userId);
BaseResponse<Boolean> doResourceThumb(String courseId, String resourceId, String userId);
}

@ -8,7 +8,7 @@ spring:
matching-strategy: ant_path_matcher
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/teaching_db
url: jdbc:mysql://39.106.16.162:3306/teaching_db
username: root
password: root
mybatis:
@ -40,8 +40,8 @@ knife4j:
secure:
ignored:
urls: #安全路径白名单
#- /swagger-ui/
- /**
# - /swagger-ui/
# - /swagger-resources/**
# - /**/v2/api-docs
# - /**/*.html

Loading…
Cancel
Save