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.courseFavour.CourseFavourAddRequest; import com.teaching.backend.model.dto.favour.courseFavour.CourseFavourAllRequest; import com.teaching.backend.model.dto.favour.courseFavour.CourseFavourListRequest; 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("/course_favour") @Slf4j public class SeCourseFavourController { @Resource private SeCourseFavourService seCourseFavourService; /** * 点赞 * * @param courseFavourAddRequest * @return result 执行情况 */ @PostMapping("/add") // todo 后期加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 public BaseResponse doFavour(@RequestBody CourseFavourAddRequest courseFavourAddRequest) { System.out.println(courseFavourAddRequest); if (StringUtils.isAnyBlank(courseFavourAddRequest.getCourseId(), courseFavourAddRequest.getUserId())) { throw new BusinessException(ErrorCode.PARAMS_ERROR); } // todo 从数据库中校验是否存在courseid , userid Boolean result = seCourseFavourService.doCourseFavour(courseFavourAddRequest.getCourseId(), courseFavourAddRequest.getUserId()); return ResultUtils.success(result); } /** * 课程点赞总数 * * @param courseFavourAddRequest * @return result 课程点赞总数 */ @PostMapping("/count") // todo 后期加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 public BaseResponse 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); } /** * 课程下资源和知识点点赞总数 * * @param courseFavourAllRequest * @return result 课程下资源和知识点点赞总数 */ @PostMapping("/countAll") // todo 后期加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 public BaseResponse courseCount(@RequestBody CourseFavourAllRequest courseFavourAllRequest) { if (StringUtils.isAnyBlank(courseFavourAllRequest.getCourseId())) { throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数不能为空"); } // todo 从数据库中校验是否存在courseid Long result = seCourseFavourService.courseCount(courseFavourAllRequest.getCourseId()); return ResultUtils.success(result); } /** * 某个用户课程列表 * * @param courseFavourListRequest * @return result 某个用户课程列表 */ @PostMapping("/countList") // todo 后期加上 HttpServletRequest request 在一个fitter里面进行鉴权操作 public BaseResponse> courseList(@RequestBody CourseFavourListRequest courseFavourListRequest) { if (StringUtils.isAnyBlank(courseFavourListRequest.getUserId())) { throw new BusinessException(ErrorCode.PARAMS_ERROR, "请求参数-用户id不能为空"); } // todo 从数据库中校验是否存在userid List result = seCourseFavourService.courseList(courseFavourListRequest.getUserId()); return ResultUtils.success(result); } }