在线教育项目-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);
    }
}
原文地址:https://www.cnblogs.com/dmzna/p/12844399.html