储存进度

This commit is contained in:
wangjinlei
2024-04-24 19:29:55 +08:00
parent 0764d8dce4
commit 6b2e37b29b
3 changed files with 27 additions and 2 deletions

View File

@@ -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);
}

View File

@@ -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){

View File

@@ -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