zoukankan      html  css  js  c++  java
  • 在线教育项目-day10【完善删除课程方法】

    1.先写方法

    传列表删除多个视频

    首先测试我们的方法看他输入的格式是否是我们需要的

    可以看到list中的集合成为了我们想要的格式

    更改我们的删除方法

    //删除多个视频
        @DeleteMapping("delete-bantch")
        public R delete_bantch(List videolist){
            try {
                //初始化对象
                DefaultAcsClient client = InitVodClient.initVodClient("LTAI4G6wT9rRbhacy6YBj9Lt","04jdcJDdAgEJWD0pqLyf4smnW0Xou7");
                //创建删除视频request对象
                DeleteVideoRequest request = new DeleteVideoRequest();
                //转换形式
                String str=StringUtils.join(videolist.toArray(),",");
    
                //向request设置视频id
                request.setVideoIds(str);
                //调用初始化对象的方法实现删除
                client.getAcsResponse(request);
                return R.OK();
            }catch(Exception e) {
                e.printStackTrace();
                throw new onlineEduException(20001,"删除视频失败");
            }
        }

    2.写我们的接口

    @FeignClient("service-vod")
    @Component
    public interface VodClient {
        //定义调用方法的路径
        @DeleteMapping("/eduvod/video/deleteAlyiVideo/{videoId}")
        public R deleteAlyiVideo(@PathVariable("videoId") String videoId);
    
        //定义调用删除多个视频方法的路径
        //删除多个视频
        @DeleteMapping("/eduvod/video/delete-bantch")
        public R delete_bantch(List videolist);
    }

    3.完善方法

    完善根据课程id删除小节这个方法
        //1 根据课程id删除小节
        // TODO 删除小节,删除对应视频文件
        @Override
        public void removeVideoByCourseId(String courseId) {
            QueryWrapper<EduVideo> wrapper2 = new QueryWrapper<>();
            wrapper2.eq("course_id",courseId);
            wrapper2.select("video_sourse_id");
            List<EduVideo> eduVideoList=baseMapper.selectList(wrapper2);
            List<String> videoIds=new ArrayList<>();
            for (int i = 0; i < eduVideoList.size(); i++) {
                EduVideo eduVideo=eduVideoList.get(i);
                String videoSourseId=eduVideo.getVideoSourceId();
                if(!StringUtils.isEmpty(videoSourseId)){
                    videoIds.add(videoSourseId);
                }
    
            }
            if(videoIds.size()>0){
                vodClient.delete_bantch(videoIds);
            }
    
            QueryWrapper<EduVideo> wrapper = new QueryWrapper<>();
            wrapper.eq("course_id",courseId);
            baseMapper.delete(wrapper);
        }
    }
  • 相关阅读:
    继续搞我的linux
    MySQL 开始
    我的小程序终于完工
    列表页 编辑页 删除页
    开发 记账小程序研发
    vue使用饿了么element-ui框架中的上传组件进度条无法使用,:on-progress钩子无法触发的原因
    移动端调试神器vConsole
    全栈高级web前端工程师的必经之路
    在vue中使用elementUI饿了么框架使用el-tabs,切换Tab如何实现实时加载,以及el-table表格使用总结
    GitBook的使用方式,快速创建网页文档
  • 原文地址:https://www.cnblogs.com/dmzna/p/12844399.html
Copyright © 2011-2022 走看看