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的内存分页管理
    python3将汉字转换为大写拼音首字母
    linux下安装微信小程序开发工具
    有效使用Django的QuerySets
    VsCode快捷键
    js 里面的键盘事件对应的键码
    ubuntu下wps的安装
    mac 安装 python mysqlclient 遇到的问题及解决方法
    微服务初步理解
    有return的情况下try catch finally的执行顺序(最有说服力的总结)
  • 原文地址:https://www.cnblogs.com/dmzna/p/12844399.html
Copyright © 2011-2022 走看看