储存进度
This commit is contained in:
@@ -9,4 +9,6 @@ public interface CourseCatalogueChapterVideoService extends IService<CourseCatal
|
|||||||
Page getCourseCatalogueChapterVideoList(ParamTo param);
|
Page getCourseCatalogueChapterVideoList(ParamTo param);
|
||||||
|
|
||||||
CourseCatalogueChapterVideoEntity checkVideo(CourseCatalogueChapterVideoEntity video) throws Exception;
|
CourseCatalogueChapterVideoEntity checkVideo(CourseCatalogueChapterVideoEntity video) throws Exception;
|
||||||
|
|
||||||
|
void saveCoursePosition(int uId,int videoId,int position);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,7 +75,23 @@ public class CourseCatalogueChapterVideoServiceImpl extends ServiceImpl<CourseCa
|
|||||||
return video;
|
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()));
|
List<UserCourseVideoPositionEntity> userCourseVideoPositionEntities = userCourseVideoPositionDao.selectList(new LambdaQueryWrapper<UserCourseVideoPositionEntity>().eq(UserCourseVideoPositionEntity::getUserId, userId).eq(UserCourseVideoPositionEntity::getVideoId, video.getId()));
|
||||||
|
|||||||
@@ -112,6 +112,13 @@ public class CourseController {
|
|||||||
return R.ok().put("playAuth",playAuth);
|
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权限,并解决足迹,加密视频签名问题
|
* 验证video权限,并解决足迹,加密视频签名问题
|
||||||
* @param video
|
* @param video
|
||||||
|
|||||||
Reference in New Issue
Block a user