储存进度
This commit is contained in:
@@ -9,4 +9,6 @@ public interface CourseCatalogueChapterVideoService extends IService<CourseCatal
|
||||
Page getCourseCatalogueChapterVideoList(ParamTo param);
|
||||
|
||||
CourseCatalogueChapterVideoEntity checkVideo(CourseCatalogueChapterVideoEntity video) throws Exception;
|
||||
|
||||
void saveCoursePosition(int uId,int videoId,int position);
|
||||
}
|
||||
|
||||
@@ -75,9 +75,25 @@ public class CourseCatalogueChapterVideoServiceImpl extends ServiceImpl<CourseCa
|
||||
return video;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveCoursePosition(int uId, int videoId, int position) {
|
||||
LambdaQueryWrapper<UserCourseVideoPositionEntity> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(UserCourseVideoPositionEntity::getUserId,uId);
|
||||
wrapper.eq(UserCourseVideoPositionEntity::getVideoId,videoId);
|
||||
List<UserCourseVideoPositionEntity> userCourseVideoPositionEntities = userCourseVideoPositionDao.selectList(wrapper);
|
||||
if(userCourseVideoPositionEntities.size()==0){
|
||||
UserCourseVideoPositionEntity userCourseVideoPositionEntity = new UserCourseVideoPositionEntity();
|
||||
userCourseVideoPositionEntity.setUserId(uId);
|
||||
userCourseVideoPositionEntity.setVideoId(videoId);
|
||||
userCourseVideoPositionDao.insert(userCourseVideoPositionEntity);
|
||||
}else {
|
||||
UserCourseVideoPositionEntity userCourseVideoPositionEntity = userCourseVideoPositionEntities.get(0);
|
||||
userCourseVideoPositionEntity.setPosition(position);
|
||||
userCourseVideoPositionDao.updateById(userCourseVideoPositionEntity);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private UserCourseVideoPositionEntity getVideoPosition(CourseCatalogueChapterVideoEntity video,int userId,int duration){
|
||||
private UserCourseVideoPositionEntity getVideoPosition(CourseCatalogueChapterVideoEntity video, int userId, int duration){
|
||||
List<UserCourseVideoPositionEntity> userCourseVideoPositionEntities = userCourseVideoPositionDao.selectList(new LambdaQueryWrapper<UserCourseVideoPositionEntity>().eq(UserCourseVideoPositionEntity::getUserId, userId).eq(UserCourseVideoPositionEntity::getVideoId, video.getId()));
|
||||
if(video.getType()==0){
|
||||
if(userCourseVideoPositionEntities.size()>0){
|
||||
|
||||
@@ -112,6 +112,13 @@ public class CourseController {
|
||||
return R.ok().put("playAuth",playAuth);
|
||||
}
|
||||
|
||||
public R saveCoursePosition(@RequestBody Map<String,Integer> map){
|
||||
Integer uId = ShiroUtils.getUId();
|
||||
Integer videoId = map.get("videoId");
|
||||
Integer position = map.get("position");
|
||||
courseCatalogueChapterVideoService.saveCoursePosition(uId,videoId,position);
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
* 验证video权限,并解决足迹,加密视频签名问题
|
||||
* @param video
|
||||
|
||||
Reference in New Issue
Block a user