美团面试题 java,Day08-课程管理-课程大纲列表-p116、117,web前端开发前景

/**

  • 课程 服务类

  • @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;

}

}

前端实现

===================================================================

3.1、创建api


在这里插入图片描述

import request from ‘@/utils/request’

export default {

//1 课程大纲列表

getAllChapterVideo(courseId){

return request({

url:‘/eduservice/chapter/getChapterVideo/’+courseId,

method:‘get’

})

}

}

3.2、前端代码


引入api

在这里插入图片描述

完善前端方法:

在这里插入图片描述

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值