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);
        }
    }
  • 相关阅读:
    叙旧
    注册表的基本操作(.Net)
    如何自己实现 JavaScript 的 new 操作符?
    装饰者模式和TypeScript装饰器
    彻底弄懂GMT、UTC、时区和夏令时
    Javascript 中 cookie 操作方式
    javascript实例教程:使用canvas技术模仿echarts柱状图
    实现memcached客户端:TCP、连接池、一致性哈希、自定义协议
    Linux终端快速检测网站是否宕机的6个方法
    爬虫是什么吗?你知道爬虫的爬取流程吗?
  • 原文地址:https://www.cnblogs.com/dmzna/p/12844399.html
Copyright © 2011-2022 走看看