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

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

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

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

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

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

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

@ -1,6 +1,7 @@
package com.teaching.backend.service.favour; package com.teaching.backend.service.favour;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.teaching.backend.common.BaseResponse;
import com.teaching.backend.model.entity.favour.SeKnowFavour; import com.teaching.backend.model.entity.favour.SeKnowFavour;
/** /**
@ -17,6 +18,6 @@ public interface SeKnowFavourService extends IService<SeKnowFavour> {
* @param userId * @param userId
* @return * @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; package com.teaching.backend.service.favour;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.teaching.backend.common.BaseResponse;
import com.teaching.backend.model.entity.favour.SeResourceFavour; import com.teaching.backend.model.entity.favour.SeResourceFavour;
/** /**
@ -17,6 +18,6 @@ public interface SeResourceFavourService extends IService<SeResourceFavour> {
* @param userId * @param userId
* @return * @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 cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.teaching.backend.common.BaseResponse; import com.teaching.backend.common.BaseResponse;
import com.teaching.backend.common.ErrorCode; import com.teaching.backend.common.ErrorCode;
import com.teaching.backend.common.ResultUtils; import com.teaching.backend.common.ResultUtils;
import com.teaching.backend.exception.BusinessException; import com.teaching.backend.exception.BusinessException;
import com.teaching.backend.mapper.courses.CoursesMapper;
import com.teaching.backend.mapper.favour.SeCourseFavourMapper; 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.courses.Courses;
import com.teaching.backend.model.entity.favour.SeCourseFavour; import com.teaching.backend.model.entity.favour.SeCourseFavour;
import com.teaching.backend.model.entity.favour.SeKnowFavour; import com.teaching.backend.model.entity.favour.SeKnowFavour;
import com.teaching.backend.model.entity.favour.SeResourceFavour; 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.model.vo.favour.CourseFavourDetailVO;
import com.teaching.backend.service.courses.ICoursesService; import com.teaching.backend.service.courses.ICoursesService;
import com.teaching.backend.service.favour.SeCourseFavourService; import com.teaching.backend.service.favour.SeCourseFavourService;
import com.teaching.backend.service.favour.SeKnowFavourService; import com.teaching.backend.service.favour.SeKnowFavourService;
import com.teaching.backend.service.favour.SeResourceFavourService; import com.teaching.backend.service.favour.SeResourceFavourService;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
@ -53,27 +47,36 @@ public class SeCourseFavourServiceImpl extends ServiceImpl<SeCourseFavourMapper,
@Resource @Resource
SeKnowFavourService seKnowFavourService; SeKnowFavourService seKnowFavourService;
@Autowired
CoursesMapper coursesMapper;
@Autowired @Autowired
ICoursesService coursesService; ICoursesService coursesService;
@Override @Override
public boolean doCourseFavour(String courseId, String userId) { public BaseResponse<Boolean> doCourseFavour(String courseId, String userId) {
System.out.println("进入点赞" + courseId + 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 seCourseFavour = new SeCourseFavour();
seCourseFavour.setCourseId(courseId); seCourseFavour.setCourseId(courseId);
seCourseFavour.setUserId(userId); seCourseFavour.setUserId(userId);
QueryWrapper<SeCourseFavour> favourQueryWrapper = new QueryWrapper<>(seCourseFavour); QueryWrapper<SeCourseFavour> favourQueryWrapper = new QueryWrapper<>(seCourseFavour);
SeCourseFavour oldSeCourseFavour = this.getOne(favourQueryWrapper); SeCourseFavour oldSeCourseFavour = this.getOne(favourQueryWrapper);
boolean result = false;
//已点赞 //已点赞
if (oldSeCourseFavour != null) { if (oldSeCourseFavour != null) {
// 取消点赞 删除记录 // 取消点赞 删除记录
result = this.remove(favourQueryWrapper); result = this.remove(favourQueryWrapper);
if (result) { if (result) {
System.out.println("取消点赞成功"); System.out.println("取消点赞成功");
return result; return ResultUtils.success(result);
} else { } else {
throw new BusinessException(ErrorCode.SYSTEM_ERROR); throw new BusinessException(ErrorCode.SYSTEM_ERROR);
} }
@ -89,27 +92,27 @@ public class SeCourseFavourServiceImpl extends ServiceImpl<SeCourseFavourMapper,
} finally { } finally {
lock.unlock(); lock.unlock();
System.out.println("点赞成功"); System.out.println("点赞成功");
return result; return ResultUtils.success(result);
} }
} }
} }
@Override @Override
public long favourCount(String courseId) { public BaseResponse<Long>favourCount(String courseId) {
System.out.println("进入课程点赞统计" + courseId); //从数据库中校验是否存在courseid
QueryWrapper<SeCourseFavour> favourQueryWrapper = new QueryWrapper<>(); QueryWrapper<SeCourseFavour> favourQueryWrapper = new QueryWrapper<>();
favourQueryWrapper.eq("course_id", courseId); favourQueryWrapper.eq("course_id", courseId);
long result = this.count(favourQueryWrapper); long result = this.count(favourQueryWrapper);
if (result == 0) { if (result == 0) {
throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在"); throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在");
} else { } else {
return result; return ResultUtils.success(result);
} }
} }
@Override @Override
public long courseCount(String courseId) { public BaseResponse<Long> courseCount(String courseId) {
System.out.println("进入课程下资源和知识点的点赞统计" + courseId);
QueryWrapper<SeResourceFavour> ResourceQueryWrapper = new QueryWrapper<>(); QueryWrapper<SeResourceFavour> ResourceQueryWrapper = new QueryWrapper<>();
ResourceQueryWrapper.eq("course_id", courseId); ResourceQueryWrapper.eq("course_id", courseId);
long result1 = seResourceFavourService.count(ResourceQueryWrapper); long result1 = seResourceFavourService.count(ResourceQueryWrapper);
@ -120,7 +123,7 @@ public class SeCourseFavourServiceImpl extends ServiceImpl<SeCourseFavourMapper,
if (result == 0) { if (result == 0) {
throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在"); throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在");
} else { } 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.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.ErrorCode;
import com.teaching.backend.common.ResultUtils;
import com.teaching.backend.exception.BusinessException; import com.teaching.backend.exception.BusinessException;
import com.teaching.backend.mapper.courses.CoursesMapper;
import com.teaching.backend.mapper.favour.SeKnowFavourMapper; 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.model.entity.favour.SeKnowFavour;
import com.teaching.backend.service.favour.SeKnowFavourService; import com.teaching.backend.service.favour.SeKnowFavourService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.Lock;
@ -22,29 +26,38 @@ import java.util.concurrent.locks.ReentrantLock;
@Service @Service
public class SeKnowFavourServiceImpl extends ServiceImpl<SeKnowFavourMapper, SeKnowFavour> implements SeKnowFavourService { public class SeKnowFavourServiceImpl extends ServiceImpl<SeKnowFavourMapper, SeKnowFavour> implements SeKnowFavourService {
@Autowired
CoursesMapper coursesMapper;
@Override @Override
public boolean doKnowFavour(String courseId, String knowId, String userId) { public BaseResponse<Boolean> doKnowFavour(String courseId, String knowId, String userId) {
System.out.println("进入知识点点赞" + knowId + 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 seKnowFavour = new SeKnowFavour();
seKnowFavour.setKnowId(knowId); seKnowFavour.setKnowId(knowId);
seKnowFavour.setUserId(userId); seKnowFavour.setUserId(userId);
seKnowFavour.setCourseId(courseId); seKnowFavour.setCourseId(courseId);
QueryWrapper<SeKnowFavour> favourQueryWrapper = new QueryWrapper<>(seKnowFavour); QueryWrapper<SeKnowFavour> favourQueryWrapper = new QueryWrapper<>(seKnowFavour);
SeKnowFavour oldSeKnowFavour = this.getOne(favourQueryWrapper); SeKnowFavour oldSeKnowFavour = this.getOne(favourQueryWrapper);
boolean result = false; //已收藏
//已点赞
if (oldSeKnowFavour != null) { if (oldSeKnowFavour != null) {
// 取消点赞 删除记录 // 取消收藏 删除记录
result = this.remove(favourQueryWrapper); result = this.remove(favourQueryWrapper);
if (result) { if (result) {
System.out.println("取消点赞成功"); System.out.println("取消收藏成功");
return result; return ResultUtils.success(result);
} else { } else {
throw new BusinessException(ErrorCode.SYSTEM_ERROR); throw new BusinessException(ErrorCode.SYSTEM_ERROR);
} }
} else { } else {
// 每个用户串行点赞 // 每个用户串行收藏
// 锁必须要包裹住事务方法 // 锁必须要包裹住事务方法
Lock lock = new ReentrantLock(); Lock lock = new ReentrantLock();
lock.lock(); lock.lock();
@ -54,8 +67,8 @@ public class SeKnowFavourServiceImpl extends ServiceImpl<SeKnowFavourMapper, SeK
throw new BusinessException(ErrorCode.OPERATION_ERROR); throw new BusinessException(ErrorCode.OPERATION_ERROR);
} finally { } finally {
lock.unlock(); lock.unlock();
System.out.println("点赞成功"); // System.out.println("收藏成功");
return result; 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.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.ErrorCode;
import com.teaching.backend.common.ResultUtils;
import com.teaching.backend.exception.BusinessException; 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.favour.SeResourceFavourMapper;
import com.teaching.backend.model.entity.courses.Courses;
import com.teaching.backend.model.entity.favour.SeResourceFavour; import com.teaching.backend.model.entity.favour.SeResourceFavour;
import com.teaching.backend.service.favour.SeResourceFavourService; import com.teaching.backend.service.favour.SeResourceFavourService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.Lock;
@ -23,29 +26,41 @@ import java.util.concurrent.locks.ReentrantLock;
@Service @Service
public class SeResourceFavourServiceImpl extends ServiceImpl<SeResourceFavourMapper, SeResourceFavour> implements SeResourceFavourService { public class SeResourceFavourServiceImpl extends ServiceImpl<SeResourceFavourMapper, SeResourceFavour> implements SeResourceFavourService {
@Autowired
CoursesMapper coursesMapper;
@Override @Override
public boolean doResourceFavour(String courseId, String resourceId, String userId) { public BaseResponse<Boolean> doResourceFavour(String courseId, String resourceId, String userId) {
System.out.println("进入知识点点赞" + resourceId + 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 seResourceFavour = new SeResourceFavour();
seResourceFavour.setResourceId(resourceId); seResourceFavour.setResourceId(resourceId);
seResourceFavour.setUserId(userId); seResourceFavour.setUserId(userId);
seResourceFavour.setCourseId(courseId); seResourceFavour.setCourseId(courseId);
QueryWrapper<SeResourceFavour> thumbQueryWrapper = new QueryWrapper<>(seResourceFavour); QueryWrapper<SeResourceFavour> thumbQueryWrapper = new QueryWrapper<>(seResourceFavour);
SeResourceFavour oldSeResourceFavour = this.getOne(thumbQueryWrapper); SeResourceFavour oldSeResourceFavour = this.getOne(thumbQueryWrapper);
boolean result = false; //已收藏
//已点赞
if (oldSeResourceFavour != null) { if (oldSeResourceFavour != null) {
// 取消点赞 删除记录 // 取消收藏 删除记录
result = this.remove(thumbQueryWrapper); result = this.remove(thumbQueryWrapper);
if (result) { if (result) {
System.out.println("取消点赞成功"); System.out.println("取消收藏成功");
return result; return ResultUtils.success(result);
} else { } else {
throw new BusinessException(ErrorCode.SYSTEM_ERROR); throw new BusinessException(ErrorCode.SYSTEM_ERROR);
} }
} else { } else {
// 每个用户串行点赞 // 每个用户串行收藏
// 锁必须要包裹住事务方法 // 锁必须要包裹住事务方法
Lock lock = new ReentrantLock(); Lock lock = new ReentrantLock();
lock.lock(); lock.lock();
@ -55,8 +70,8 @@ public class SeResourceFavourServiceImpl extends ServiceImpl<SeResourceFavourMap
throw new BusinessException(ErrorCode.OPERATION_ERROR); throw new BusinessException(ErrorCode.OPERATION_ERROR);
} finally { } finally {
lock.unlock(); lock.unlock();
System.out.println("点赞成功"); System.out.println("收藏成功");
return result; 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.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.ErrorCode;
import com.teaching.backend.common.ResultUtils;
import com.teaching.backend.exception.BusinessException; import com.teaching.backend.exception.BusinessException;
import com.teaching.backend.mapper.courses.CoursesMapper;
import com.teaching.backend.mapper.thumb.SeCourseThumbMapper; 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.SeCourseThumb;
import com.teaching.backend.model.entity.thumb.SeKnowThumb; import com.teaching.backend.model.entity.thumb.SeKnowThumb;
import com.teaching.backend.model.entity.thumb.SeResourceThumb; import com.teaching.backend.model.entity.thumb.SeResourceThumb;
import com.teaching.backend.service.thumb.SeCourseThumbService; import com.teaching.backend.service.thumb.SeCourseThumbService;
import com.teaching.backend.service.thumb.SeKnowThumbService; import com.teaching.backend.service.thumb.SeKnowThumbService;
import com.teaching.backend.service.thumb.SeResourceThumbService; import com.teaching.backend.service.thumb.SeResourceThumbService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -34,23 +39,32 @@ public class SeCourseThumbServiceImpl extends ServiceImpl<SeCourseThumbMapper, S
SeKnowThumbService seKnowThumbService; SeKnowThumbService seKnowThumbService;
@Autowired
CoursesMapper coursesMapper;
@Override @Override
public boolean doCourseThumb(String courseId, String userId) { public BaseResponse<Boolean> doCourseThumb(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,"课程不存在");
}
// 先查询数据库记录,该用户是否点赞 // 先查询数据库记录,该用户是否点赞
SeCourseThumb seCourseThumb = new SeCourseThumb(); SeCourseThumb seCourseThumb = new SeCourseThumb();
seCourseThumb.setCourseId(courseId); seCourseThumb.setCourseId(courseId);
seCourseThumb.setUserId(userId); seCourseThumb.setUserId(userId);
QueryWrapper<SeCourseThumb> thumbQueryWrapper = new QueryWrapper<>(seCourseThumb); QueryWrapper<SeCourseThumb> thumbQueryWrapper = new QueryWrapper<>(seCourseThumb);
SeCourseThumb oldSeCourseThumb = this.getOne(thumbQueryWrapper); SeCourseThumb oldSeCourseThumb = this.getOne(thumbQueryWrapper);
boolean result = false;
//已点赞 //已点赞
if (oldSeCourseThumb != null) { if (oldSeCourseThumb != null) {
// 取消点赞 删除记录 // 取消点赞 删除记录
result = this.remove(thumbQueryWrapper); result = this.remove(thumbQueryWrapper);
if (result) { if (result) {
System.out.println("取消点赞成功"); System.out.println("取消点赞成功");
return result; return ResultUtils.success(result);
} else { } else {
throw new BusinessException(ErrorCode.SYSTEM_ERROR); throw new BusinessException(ErrorCode.SYSTEM_ERROR);
} }
@ -66,27 +80,39 @@ public class SeCourseThumbServiceImpl extends ServiceImpl<SeCourseThumbMapper, S
} finally { } finally {
lock.unlock(); lock.unlock();
System.out.println("点赞成功"); System.out.println("点赞成功");
return result; return ResultUtils.success(result);
} }
} }
} }
@Override @Override
public long thumbCount(String courseId) { public BaseResponse<Long> thumbCount(String courseId) {
System.out.println("进入课程点赞统计" + courseId);
//从数据库中校验是否存在courseid
Courses courses = coursesMapper.selectById(courseId);
if(courses == null){
return ResultUtils.error(ErrorCode.NOT_FOUND_ERROR,"课程不存在");
}
QueryWrapper<SeCourseThumb> thumbQueryWrapper = new QueryWrapper<>(); QueryWrapper<SeCourseThumb> thumbQueryWrapper = new QueryWrapper<>();
thumbQueryWrapper.eq("course_id", courseId); thumbQueryWrapper.eq("course_id", courseId);
long result = this.count(thumbQueryWrapper); long count = this.count(thumbQueryWrapper);
if (result == 0) { if (count == 0) {
throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在"); throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在");
} else { } else {
return result; return ResultUtils.success(count);
} }
} }
@Override @Override
public long courseCount(String courseId) { public BaseResponse<Long> courseCount(String courseId) {
System.out.println("进入课程下资源和知识点的点赞统计" + courseId);
//从数据库中校验是否存在courseid
Courses courses = coursesMapper.selectById(courseId);
if(courses == null){
return ResultUtils.error(ErrorCode.NOT_FOUND_ERROR,"课程不存在");
}
QueryWrapper<SeResourceThumb> ResourceQueryWrapper = new QueryWrapper<>(); QueryWrapper<SeResourceThumb> ResourceQueryWrapper = new QueryWrapper<>();
ResourceQueryWrapper.eq("course_id", courseId); ResourceQueryWrapper.eq("course_id", courseId);
long result1 = seResourceThumbService.count(ResourceQueryWrapper); long result1 = seResourceThumbService.count(ResourceQueryWrapper);
@ -97,7 +123,7 @@ public class SeCourseThumbServiceImpl extends ServiceImpl<SeCourseThumbMapper, S
if (result == 0) { if (result == 0) {
throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在"); throw new BusinessException(ErrorCode.SYSTEM_ERROR, "查询参数不存在");
} else { } 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.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.ErrorCode;
import com.teaching.backend.common.ResultUtils;
import com.teaching.backend.exception.BusinessException; import com.teaching.backend.exception.BusinessException;
import com.teaching.backend.mapper.courses.CoursesMapper;
import com.teaching.backend.mapper.thumb.SeKnowThumbMapper; 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.model.entity.thumb.SeKnowThumb;
import com.teaching.backend.service.thumb.SeKnowThumbService; import com.teaching.backend.service.thumb.SeKnowThumbService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.Lock;
@ -20,10 +25,17 @@ import java.util.concurrent.locks.ReentrantLock;
*/ */
@Service @Service
public class SeKnowThumbServiceImpl extends ServiceImpl<SeKnowThumbMapper, SeKnowThumb> implements SeKnowThumbService { public class SeKnowThumbServiceImpl extends ServiceImpl<SeKnowThumbMapper, SeKnowThumb> implements SeKnowThumbService {
@Autowired
CoursesMapper coursesMapper;
@Override @Override
public boolean doKnowThumb(String courseId, String knowId, String userId) { public BaseResponse<Boolean> doKnowThumb(String courseId, String knowId, String userId) {
System.out.println("进入知识点点赞" + knowId + 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 seKnowThumb = new SeKnowThumb();
seKnowThumb.setKnowId(knowId); seKnowThumb.setKnowId(knowId);
@ -31,14 +43,13 @@ public class SeKnowThumbServiceImpl extends ServiceImpl<SeKnowThumbMapper, SeKno
seKnowThumb.setCourseId(courseId); seKnowThumb.setCourseId(courseId);
QueryWrapper<SeKnowThumb> thumbQueryWrapper = new QueryWrapper<>(seKnowThumb); QueryWrapper<SeKnowThumb> thumbQueryWrapper = new QueryWrapper<>(seKnowThumb);
SeKnowThumb oldSeKnowThumb = this.getOne(thumbQueryWrapper); SeKnowThumb oldSeKnowThumb = this.getOne(thumbQueryWrapper);
boolean result = false;
//已点赞 //已点赞
if (oldSeKnowThumb != null) { if (oldSeKnowThumb != null) {
// 取消点赞 删除记录 // 取消点赞 删除记录
result = this.remove(thumbQueryWrapper); result = this.remove(thumbQueryWrapper);
if (result) { if (result) {
System.out.println("取消点赞成功"); System.out.println("取消点赞成功");
return result; return ResultUtils.success(result);
} else { } else {
throw new BusinessException(ErrorCode.SYSTEM_ERROR); throw new BusinessException(ErrorCode.SYSTEM_ERROR);
} }
@ -54,7 +65,7 @@ public class SeKnowThumbServiceImpl extends ServiceImpl<SeKnowThumbMapper, SeKno
} finally { } finally {
lock.unlock(); lock.unlock();
System.out.println("点赞成功"); 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.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.ErrorCode;
import com.teaching.backend.common.ResultUtils;
import com.teaching.backend.exception.BusinessException; import com.teaching.backend.exception.BusinessException;
import com.teaching.backend.mapper.courses.CoursesMapper;
import com.teaching.backend.mapper.thumb.SeResourceThumbMapper; 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.model.entity.thumb.SeResourceThumb;
import com.teaching.backend.service.thumb.SeResourceThumbService; import com.teaching.backend.service.thumb.SeResourceThumbService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.Lock;
@ -21,9 +26,19 @@ import java.util.concurrent.locks.ReentrantLock;
@Service @Service
public class SeResourceThumbServiceImpl extends ServiceImpl<SeResourceThumbMapper, SeResourceThumb> implements SeResourceThumbService { public class SeResourceThumbServiceImpl extends ServiceImpl<SeResourceThumbMapper, SeResourceThumb> implements SeResourceThumbService {
@Autowired
CoursesMapper coursesMapper;
@Override @Override
public boolean doResourceThumb(String courseId, String resourceId, String userId) { public BaseResponse<Boolean> doResourceThumb(String courseId, String resourceId, String userId) {
System.out.println("进入知识点点赞" + resourceId + 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 seResourceThumb = new SeResourceThumb();
seResourceThumb.setResourceId(resourceId); seResourceThumb.setResourceId(resourceId);
@ -31,14 +46,14 @@ public class SeResourceThumbServiceImpl extends ServiceImpl<SeResourceThumbMappe
seResourceThumb.setCourseId(courseId); seResourceThumb.setCourseId(courseId);
QueryWrapper<SeResourceThumb> thumbQueryWrapper = new QueryWrapper<>(seResourceThumb); QueryWrapper<SeResourceThumb> thumbQueryWrapper = new QueryWrapper<>(seResourceThumb);
SeResourceThumb oldSeResourceThumb = this.getOne(thumbQueryWrapper); SeResourceThumb oldSeResourceThumb = this.getOne(thumbQueryWrapper);
boolean result = false;
//已点赞 //已点赞
if (oldSeResourceThumb != null) { if (oldSeResourceThumb != null) {
// 取消点赞 删除记录 // 取消点赞 删除记录
result = this.remove(thumbQueryWrapper); result = this.remove(thumbQueryWrapper);
if (result) { if (result) {
System.out.println("取消点赞成功"); System.out.println("取消点赞成功");
return result; return ResultUtils.success(result);
} else { } else {
throw new BusinessException(ErrorCode.SYSTEM_ERROR); throw new BusinessException(ErrorCode.SYSTEM_ERROR);
} }
@ -54,7 +69,7 @@ public class SeResourceThumbServiceImpl extends ServiceImpl<SeResourceThumbMappe
} finally { } finally {
lock.unlock(); lock.unlock();
System.out.println("点赞成功"); System.out.println("点赞成功");
return result; return ResultUtils.success(result);
} }
} }
} }

@ -1,6 +1,7 @@
package com.teaching.backend.service.thumb; package com.teaching.backend.service.thumb;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.teaching.backend.common.BaseResponse;
import com.teaching.backend.model.entity.thumb.SeCourseThumb; import com.teaching.backend.model.entity.thumb.SeCourseThumb;
/** /**
@ -17,7 +18,7 @@ public interface SeCourseThumbService extends IService<SeCourseThumb> {
* @param userId * @param userId
* @return * @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 * @param courseId
* @return * @return
*/ */
long thumbCount(String courseId); BaseResponse<Long> thumbCount(String courseId);
/** /**
@ -35,6 +36,6 @@ public interface SeCourseThumbService extends IService<SeCourseThumb> {
* @param courseId * @param courseId
* @return * @return
*/ */
long courseCount(String courseId); BaseResponse<Long> courseCount(String courseId);
} }

@ -1,6 +1,7 @@
package com.teaching.backend.service.thumb; package com.teaching.backend.service.thumb;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.teaching.backend.common.BaseResponse;
import com.teaching.backend.model.entity.thumb.SeKnowThumb; import com.teaching.backend.model.entity.thumb.SeKnowThumb;
/** /**
@ -17,6 +18,6 @@ public interface SeKnowThumbService extends IService<SeKnowThumb> {
* @param userId * @param userId
* @return * @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; package com.teaching.backend.service.thumb;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.teaching.backend.common.BaseResponse;
import com.teaching.backend.model.entity.thumb.SeResourceThumb; import com.teaching.backend.model.entity.thumb.SeResourceThumb;
/** /**
@ -17,6 +18,6 @@ public interface SeResourceThumbService extends IService<SeResourceThumb> {
* @param userId * @param userId
* @return * @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 matching-strategy: ant_path_matcher
datasource: datasource:
driver-class-name: com.mysql.cj.jdbc.Driver 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 username: root
password: root password: root
mybatis: mybatis:
@ -40,8 +40,8 @@ knife4j:
secure: secure:
ignored: ignored:
urls: #安全路径白名单 urls: #安全路径白名单
#- /swagger-ui/
- /** - /**
# - /swagger-ui/
# - /swagger-resources/** # - /swagger-resources/**
# - /**/v2/api-docs # - /**/v2/api-docs
# - /**/*.html # - /**/*.html

Loading…
Cancel
Save