博客
关于我
删除课程前后端实现
阅读量:202 次
发布时间:2019-02-28

本文共 2622 字,大约阅读时间需要 8 分钟。

后端实现

1. 控制器

功能描述:根据ID删除课程

编写人:cakin

日期:2020/12/6
参数:id 课程id
返回:R 返回给前端的数据

@ApiOperation("根据ID删除课程")@DeleteMapping("remove/{id}")public R removeById(@ApiParam(value = "课程id", required = true) @PathVariable String id) {    // 删除课程视频    courseService.removeCoverById(id);    // 删除课程    boolean result = courseService.removeCourseById(id);    if (result) {        return R.ok().message("删除成功");    } else {        return R.error().message("数据不存在");    }}

2. 服务层

接口

功能描述:删除课程封面

编写人:cakin

日期:2020/12/6
参数:id 课程id
返回:boolean 是否删除成功

功能描述:删除课程

编写人:cakin

日期:2020/12/6
参数:id 课程id
返回:boolean 是否删除成功

实现

@Overridepublic boolean removeCoverById(String id) {    // 根据id获取课程 Cover 的 url    Course course = baseMapper.selectById(id);    if (course != null) {        String cover = course.getCover();        if (!StringUtils.isEmpty(cover)) {            R r = ossFileService.removeFile(cover);            return r.getSuccess();        }    }    return false;}@Override@Transactional(rollbackFor = Exception.class)public boolean removeCourseById(String id) {    // 根据 courseId 删除 Video(课时)    QueryWrapper

3. 前端实现

1. 定义API

// 根据id删除课程removeById(id) {    return request({        url: `/admin/edu/course/remove/${id}`,        method: 'delete'    });}

2. 修改删除按钮

删除

3. 编写删除方法

// 根据id删除数据removeById(id) {    this.$confirm('此操作将永久删除该课程,以及该课程下的章节和视频,是否继续?', '提示', {        confirmButtonText: '确定',        cancelButtonText: '取消',        type: 'warning'    }).then(() => {        return courseApi.removeById(id);    }).then(response => {        this.fetchData();        this.$message.success(response.message);    }).catch(response => {        if (response === 'cancel') {            this.$message.info('取消删除');        }    });}

测试

转载地址:http://phqj.baihongyu.com/

你可能感兴趣的文章
Node读取并输出txt文件内容
查看>>
node防xss攻击插件
查看>>
noi 1996 登山
查看>>
noi 7827 质数的和与积
查看>>
NOI-1.3-11-计算浮点数相除的余数
查看>>
NOI2010 海拔(平面图最大流)
查看>>
NOIp2005 过河
查看>>
NOIP2011T1 数字反转
查看>>
NOIP2014 提高组 Day2——寻找道路
查看>>
noip借教室 题解
查看>>
NOIP模拟测试19
查看>>
NOIp模拟赛二十九
查看>>
Vue3+element plus+sortablejs实现table列表拖拽
查看>>
Nokia5233手机和我装的几个symbian V5手机软件
查看>>
non linear processor
查看>>
Non-final field ‘code‘ in enum StateEnum‘
查看>>
none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)
查看>>
None还可以是函数定义可选参数的一个默认值,设置成默认值时实参在调用该函数时可以不输入与None绑定的元素...
查看>>
NoNodeAvailableException None of the configured nodes are available异常
查看>>
Vue.js 学习总结(16)—— 为什么 :deep、/deep/、>>> 样式能穿透到子组件
查看>>