/**
-
-
课程 服务类
-
@author Lenovo
-
@since 2021-03-09
*/
public interface EduChapterService extends IService {
//课程大纲列表,根据课程id进行查询
List getChapterVideoByCourseId(String courseId);
}
2.2、业务层接口实现类
package com.nonglin.eduservice.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nonglin.eduservice.entity.EduChapter;
import com.nonglin.eduservice.entity.EduVideo;
import com.nonglin.eduservice.entity.chapter.ChapterVo;
import com.nonglin.eduservice.entity.chapter.VideoVo;
import com.nonglin.eduservice.mapper.EduChapterMapper;
import com.nonglin.eduservice.service.EduChapterService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
-
-
课程 服务实现类
-
@author Lenovo
-
@since 2021-03-09
*/
@Service
public class EduChapterServiceImpl extends ServiceImpl<EduChapterMapper, EduChapter> implements EduChapterService {
@Autowired
private EduVideoServiceImpl eduVideoService;
//课程大纲列表,根据课程id进行查询
@Override
public List getChapterVideoByCourseId(String courseId) {
//1、根据课程id查询所有章节信息
QueryWrapper wrapperyChapter = new QueryWrapper<>();
wrapperyChapter.eq(“course_id”, courseId);
List eduChapterList = baseMapper.selectList(wrapperyChapter);
//2、根据课程id查询课程里面所有小节信息
QueryWrapper wrapperVideo = new QueryWrapper<>();
wrapperVideo.eq(“course_id”, courseId);
List eduVideolist = eduVideoService.list(wrapperVideo);
//创建结合用于封装最终的数据
List finalList = new ArrayList<>();
//3、遍历查询章节list集合进行封装
for (int i = 0; i < eduChapterList.size() ; i++) {
//每个章节信息
EduChapter eduChapter = eduChapterList.get(i);
//将eduChapter对象复制到chapterVo中
ChapterVo chapterVo = new ChapterVo();
BeanUtils.copyProperties(eduChapter,chapterVo);
//将chapterVo放到finalList集合中去
finalList.add(chapterVo);
//创建集合,用于封装章节的小节
List videoList = new ArrayList();
//4、遍历查询小节list集合进行封装
for (int m = 0; m < eduVideolist.size(); m++) {
//得到每个小节
EduVideo eduVideo = eduVideolist.get(m);
//判断小节里面的chapterId是否和章节id一致
if(eduVideo.getChapterId().equals(eduChapter.getId())){
//进行封装
VideoVo videoVo = new VideoVo();
BeanUtils.copyProperties(eduVideo,videoVo);
//放到小节封装的集合
videoList.add(videoVo);
}
}
//把封装之后的小节List集合,放到章节对象中去
chapterVo.setChildren(videoList);
}
return finalList;
}
}
===================================================================
import request from ‘@/utils/request’
export default {
//1 课程大纲列表
getAllChapterVideo(courseId){
return request({
url:‘/eduservice/chapter/getChapterVideo/’+courseId,
method:‘get’
})
}
}
引入api
完善前端方法: