课程管理-删除课程(后端) | 学习笔记

简介: 简介:快速学习课程管理-删除课程(后端)

开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):课程管理-删除课程(后端)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/667/detail/11396


课程管理-删除课程(后端)

 

内容介绍:

一、外键

二、课程删除架构

三、EdcourseController.Java 代码演示

四、EdcourseService.Java 代码演示

五、EdcourseServiceImpl.Java

六、EduVedioService.Java 代码演示

七、EduVedioServiceImpl.Java 代码演示


一、外键

1.图示

image.png

image.png

2. 说明

在多的那一方创建字段,作为外键,指向一的那一方的主键。

3. 强调

外键一般不建议声明出来。

 

二、课程删除架构

课程删除

1、课程里面有课程描述、章节、小节、视频。删除课程把视频、小节、章节描述、课程本身都删除。

2.端口

代码1:

@DeleteMapping("{courseId}")

public R deleteCourse(@PathVariable String courseId){

courseService.removeCourse(courseid):

return R.ok():

//删除课程

3.方法

代码2:

@Override

public void removeVideoByCourseId(String courseId) {

QueryWrapperwrapper=new QueryWrapper<>() wrapper.eq(column:"course_id",courseId); baseMapper.delete(wrapper);

}

//删小节

//根据课程 id 除小节

// TODO 删除小节,删除对应视频文件

代码3:

@0verride

public void removeChapterByCourseId(String courseId){

QueryWrapperwrapper=new QueryWrapper<>() wrapper.eq(column:"course_id",courseId); baseMapper. delete(wrapper):

}

//删章节

//2根据课程 id 册除章节

代码4:

courseDescriptionService.removeById(courseId);

//删描述

//3根据课程 id 删除描述

代码5:

int result =baseMapper.deleteById(courseId); if(result ==0) { //失败返回

throw new GuliException(20001,"删除失败”)

}

//删本身

//4根据课程 id 删除课程本身

 

三、EdcourseController.Java 代码演示

代码64-83

return R.ok().data("publishCourse",coursePublishVo);

}

//课程最终发布

//修改课程状态

@PostMapping("publishCourse/{id)")

public R publishCourse(@PathVariable String id){

EduCourse eduCourse=new EduCourse(): eduCourse.setId(id);

eduCourse.setStatus("Normal”);//设置课程发布状态 courseService.updateById(eduCourse): return R.ok():

}

//删除课程

@Deletellapping("(courseId)")

public R deleteCourse(CPathVariable String courseId) {

courseService. removeCourse(courseId);

return R. ok();

}

}

 

四、EdcourseService.Java 代码演示

代码16-34

@since 2020-03-02

*/

public interface EduCourseService extends IService{

//添加课程基本信息的方法

String saveCourseInfo(CourseInfoVo courseInfoVo):

//根据课程id查询课程基本信息

CourseInfoVo getCourseInfo(String courseId);

//修改课程信息

void updateCourseInfo(CourseInfoVo courseInfoVo):

//根据课程id查询课程确认信息

CoursePublishVo publishCourseInfo(String id);

//除课程

void removeCourse(String courseId);

 

五、EdcourseServiceImpl.Java 代码演示

代码1-104

package com.atguigu.eduservice.service.impl;

Import...

/**

*

*课程服务实现类

*

*

*@author testjava

*@since 2020-03-02

*/

@Service

public class EduCourseServiceImpl extends ServiceImpl

//课程述注入

@Autowired

private EduCourseDescriptionService courseDescriptionService

//注入小节和章节service

@Autowired

private EduVideoService eduVideoService:

@Autowired

private EduChapterService chapterService;

//添加课程基本信息的方法

@Override

public String saveCourseInfo(CourseInfoVo courseInfoVo){

//1 向课程表添加课程基本信息

//CourseInfoVo对象转换eduCourse对象

EduCourse eduCourse = new EduCourse():

BeanUtils.copyProperties(courseInfoVo,eduCourse)

int insert =baseMapper.insert(eduCourse):

if(insert == 0) {

//添加失败

throw new GuliException(20001,"添加课程信息失败”)

}

//获取添加之后课程id

String cid =eduCourse.getId0:

//2 向课程简介表添加课程简介

//edu course description

EduCourseDescription courseDescription = new EduCourseDescription(): courseDeseription.setDescription(courseInfoVo.getDeseription());

//设置述id就是课id

courseDescription.setId(cid):

courseDescriptionService.save(courseDescription)

return cid;

}

//根据课程id查询深程基本信息

@Override

public CourseInfoVo getCourseInfo(String courseId){

//1 查询课程表

EduCourse eduCourse = baseMapper.selectById(courseId): CourseInfoVo courseInfoVo=new CourseInfoVo0: BeanUtils.copyProperties(eduCourse,courseInfoVo);

//2查询述表

EduCourseDeseription courseDescription =courseDescriptionService.getById(courseId) courseInfoVo.setDescription(courseDescription.getDescription());

return courseInfoVo:

}

//修改课程信息

@Override

public void updateCourseInfo(CourseInfoVo courseInfoVo) {

//1修改课程表

EduCourse eduCourse = new EduCourse():

BeanUtils.copyProperties(courseInfoVo,eduCourse);

int update =baseMapper.updateById(eduCourse);

if(update == 0) {

throw new GuliException(20001,"修改课程信息失败”):

}

//2 修改描述表

EduCourseDescription description = new EduCourseDescription(); description.setId(courseInfoVo.getId0):

description.setDescription(courseInfoVo.getDeseriptionO); courseDescriptionService.updateById(description):

}

//根据课程id查询课程砖认信息

@Override

public CoursePublishVo publishCourseInfo(String id) {

//调用mapper

CoursePublishVo publishCourseInfo =baseMapper.getPublishCourseInfo(id):

return publishCourseInfo:

//删除课程

@Override

@Override

public CoursePublishVo publishCourseInfo(String id) {

//调用mapper

CoursePublishVo publishCourseInfo = baseMapper.getPublishCourseInfo(id); return publishcourseInfo:}

//删除 

@Override

public void removeCourse(String courseId){

//1 根据课程id删除小节

eduVideoService.renoveVideoByCourseId(courseId)

//2根据课程 id 除章节

//3根据课程 id 除描述

//根据课程 id 除课程本身

 

六、EduVedioService.Java 代码演示

package com. atguigu.eduservice.service;

Import...

*课程视频服务类

*>

* @uthor testjava

* @since 2020-03-02

*/

public interface EduVideoService extends IService{

//根据课程id除小节

void removeVideoByCourseId(String courseId)

 

七、EduVedioServiceImpl.Java 代码演示

代码1-29

package com. atguigu.eduservice.serviceImpl;

Import...

*课程视频服务类

*>

*@uthor testjava

*@since 2020-03-02

*@Service

public class EduVideoServiceImpl extends ServiceImpl implements EduVideoService {

//1 根据课程id删验小节

// T000 删除小节,除对应视频文件

@Override

public void removeVideoByCourseId(String courseId) {

QueryWrapper wrapper =new QueryWrapper>o: wrapper.eq(column:"course id".courseId); baseMapper. delete(wrapper)

}

}

相关文章
|
前端开发 数据库 开发者
课程管理-修改课程信息(后端) | 学习笔记
简介:快速学习课程管理-修改课程信息(后端)
115 0
课程管理-修改课程信息(后端) | 学习笔记
|
存储 前端开发 JavaScript
课程管理-修改课程信息(前端) | 学习笔记
简介:快速学习课程管理-修改课程信息(前端)
80 0
课程管理-修改课程信息(前端) | 学习笔记
|
前端开发 API 数据库
课程管理-删除视频前端 | 学习笔记
简介:快速学习课程管理-删除视频前端
106 0
课程管理-删除视频前端 | 学习笔记
|
前端开发 Java 开发者
课程管理-添加课程信息前端(1) | 学习笔记
简介:快速学习课程管理-添加课程信息前端(1)
101 0
课程管理-添加课程信息前端(1) | 学习笔记
|
JavaScript 前端开发 Java
课程管理-课程列表 | 学习笔记
快速学习课程管理-课程列表
143 0
课程管理-课程列表 | 学习笔记
|
JSON 前端开发 JavaScript
课程管理-修改课程信息(前端)| 学习笔记
简介:快速学习课程管理-修改课程信息(前端)
225 0
课程管理-修改课程信息(前端)| 学习笔记
|
人工智能 Java 开发者
课程管理-课程发布流程说明 | 学习笔记
快速学习课程管理-课程发布流程说明
173 0
课程管理-课程发布流程说明 | 学习笔记
|
前端开发 JavaScript API
课程详情功能前端整合 | 学习笔记
简介:快速学习课程详情功能前端整合
76 0
课程详情功能前端整合 | 学习笔记
|
SQL XML 运维
课程管理-课程信息确认 | 学习笔记
简介:快速学习课程管理-课程信息确认
76 0
课程管理-课程信息确认 | 学习笔记
|
前端开发 Java 测试技术
课程管理-添加课程信息前端完善(显示讲师) | 学习笔记
简介:快速学习课程管理-添加课程信息前端完善(显示讲师)
131 0
课程管理-添加课程信息前端完善(显示讲师) | 学习笔记