|
|
|
@ -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); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|