package com.xinquan.course.service.impl;
import com.alibaba.nacos.common.utils.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xinquan.common.core.utils.page.CollUtils;
import com.xinquan.common.core.utils.page.PageDTO;
import com.xinquan.course.api.domain.Course;
import com.xinquan.course.api.domain.CourseChapter;
import com.xinquan.course.domain.CourseLearningRecord;
import com.xinquan.course.domain.vo.ClientCourseVO;
import com.xinquan.course.mapper.CourseMapper;
import com.xinquan.course.service.CourseService;
import java.util.List;
import java.util.Objects;
import org.springframework.stereotype.Service;
/**
*
* 线上课程表 服务实现类
*
*
* @author mitao
* @since 2024-08-21
*/
@Service
public class CourseServiceImpl extends ServiceImpl implements CourseService {
/**
* 获取课程列表-分页
*
* @param courseTitle 课程标题
* @param cateId 分类id
* @param pageCurr 分页参数,当前页码
* @param pageSize 分页参数,每页数量
* @return 课程分页列表
*/
@Override
public PageDTO getCoursePageList(String courseTitle, Long cateId,
Integer pageCurr, Integer pageSize) {
LambdaQueryWrapper courseLambdaQueryWrapper = new LambdaQueryWrapper<>();
if (org.springframework.util.StringUtils.hasLength(courseTitle)){
courseLambdaQueryWrapper.like(Course::getCourseTitle, courseTitle);
}
if (cateId!=null && cateId.equals(1853706016887824386L)){
courseLambdaQueryWrapper.eq(Course::getCourseType,2);
}else if (cateId!=null){
courseLambdaQueryWrapper.eq(Course::getCateId, cateId);
}
if (cateId==null){
courseLambdaQueryWrapper.eq(Course::getRecommend,1);
}
courseLambdaQueryWrapper.eq(Course::getListingStatus,1);
courseLambdaQueryWrapper.orderByDesc(Course::getSortNum);
Page page = this.page(new Page<>(pageCurr, pageSize),courseLambdaQueryWrapper);
if (CollUtils.isEmpty(page.getRecords())) {
return PageDTO.empty(page);
}
return PageDTO.of(page, ClientCourseVO.class);
}
}