1.课程列表的删除
1.1 EduCourseController层
//在课程列表中删除课程
@ApiOperation(value = "在课程列表中删除课程")
@DeleteMapping("{courseId}")
public Result deleteCourse(@PathVariable String courseId){
courseService.removeCourse(courseId);
return Result.ok();
}
1.1.1 EduCourseServiceImpl层
//在课程列表中删除课程
@Override
public void removeCourse(String courseId) {
//1.根据课程id删除小节
videoService.removeVideoByCourseId(courseId);
//2.根据课程id删除章节
chapterService.removeChapterByCourseId(courseId);
//3.根据课程id删除课程描述表信息 --描述id与课程id是一样的,可以直接进行删除
courseDescriptionService.removeById(courseId);
//4.根据课程id删除课程本身
int result = baseMapper.deleteById(courseId);
if(result == 0){
throw new YunException(20001,"删除失败");
}
2.阿里云上传视频
2.1 SDK:sdk对api方式进行封装,更方便使用里面的jar包调用阿里云提供的类或者接口里面的方法实现视频功能。阿里云中的APItight了固定地址,只需调用这个固定地址,向地址传递参数,即可实现功能
<dependencies>
<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.1</version>
</dependency>
</dependencies>
2.1.1添加maven仓库
<repositories>
<repository>
<id>sonatype-nexus-staging</id>
<name>Sonatype Nexus Staging</name>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
2.1.1 添加Jar包依赖
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.1</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-vod</artifactId>
<version>2.15.10</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.2</version>
</dependency>
2.2 初始化对象:点播服务的接入区域参考接入区域标识,例如:接入区域在上海,请使用cn-shanghai(默认)
使用账号AccessKey初始化
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.exceptions.ClientException;
public static DefaultAcsClient initVodClient(String accessKeyId, String accessKeySecret) throws ClientException {
String regionId = "cn-shanghai"; // 点播服务接入区域
DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret);
DefaultAcsClient client = new DefaultAcsClient(profile);
return client;
}
2.3获取视频播放地址:
https://help.aliyun.com/document_detail/61064.html?spm=a2c4g.11186623.6.913.3e873bd9MEWpvk
import com.aliyuncs.vod.model.v20170321.GetPlayInfoRequest;
import com.aliyuncs.vod.model.v20170321.GetPlayInfoResponse;
/*获取播放地址函数*/
public static GetPlayInfoResponse getPlayInfo(DefaultAcsClient client) throws Exception {
GetPlayInfoRequest request = new GetPlayInfoRequest();
request.setVideoId("视频ID");
return client.getAcsResponse(request);
}
/*以下为调用示例*/
public static void main(String[] argv) {
DefaultAcsClient client = initVodClient("<您的AccessKeyId>", "<您的AccessKeySecret>");
GetPlayInfoResponse response = new GetPlayInfoResponse();
try {
response = getPlayInfo(client);
List<GetPlayInfoResponse.PlayInfo> playInfoList = response.getPlayInfoList();
//播放地址
for (GetPlayInfoResponse.PlayInfo playInfo : playInfoList) {
System.out.print("PlayInfo.PlayURL = " + playInfo.getPlayURL() + "\n");
}
//Base信息
System.out.print("VideoBase.Title = " + response.getVideoBase().getTitle() + "\n");
} catch (Exception e) {
System.out.print("ErrorMessage = " + e.getLocalizedMessage());
}
System.out.print("RequestId = " + response.getRequestId() + "\n");
}