观影记录 开始结束 全集

This commit is contained in:
2025-01-06 16:24:46 +08:00
parent 156784f20b
commit a16e632e98
3 changed files with 68 additions and 42 deletions

View File

@@ -31,6 +31,15 @@ public interface CourseDetailsDao extends BaseMapper<CourseDetails> {
List<CourseDetails> findByCourseIdNotUrl(@Param("id") Long id, @Param("userId") Long userId);
/**
* 更新播放数量
*
* @param courseId courseId 必须有值
* @param courseDetailsId courseDetailsId 必须有值
* @param state 1为 ViewCount 其它 为 PlayCompleteCount
*/
void updateViewCount(@Param("courseId") Long courseId,@Param("courseDetailsId") Long courseDetailsId, @Param("state") int state);
int deleteCourseDetails(String[] ids);

View File

@@ -32,6 +32,7 @@ import com.sqx.modules.course.dao.CourseDao;
import com.sqx.modules.course.dao.CourseDetailsDao;
import com.sqx.modules.course.dao.CourseUserDao;
import com.sqx.modules.course.entity.Course;
import com.sqx.modules.course.entity.CourseCollect;
import com.sqx.modules.course.entity.CourseDetails;
import com.sqx.modules.course.entity.CourseUser;
import com.sqx.modules.course.service.CourseService;
@@ -1287,21 +1288,21 @@ public class CourseServiceImpl extends ServiceImpl<CourseDao, Course> implements
if (course == null) {
return Result.error("短剧不存在");
}
CourseDetails details = courseDetailsDao.selectById(courseDetailsId);
LambdaQueryWrapper<CourseDetails> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(CourseDetails::getCourseId, courseId);
queryWrapper.eq(CourseDetails::getCourseDetailsId, courseDetailsId);
queryWrapper.orderByDesc(CourseDetails::getCreateTime).last("limit 1");
CourseDetails details = courseDetailsDao.selectOne(queryWrapper);
if (details == null) {
return Result.error("短剧集不存在");
}
if ("start".equals(type)) {
//开始播放
details.setViewCount(details.getViewCount() + 1);
courseDetailsDao.updateById(details);
baseMapper.updateById(course);
courseDetailsDao.updateViewCount(details.getCourseId(),details.getCourseDetailsId(), 1);
} else if ("end".equals(type)) {
//播放完成
details.setPlayCompleteCount(details.getPlayCompleteCount() + 1);
courseDetailsDao.updateById(details);
courseDetailsDao.updateViewCount(details.getCourseId(),details.getCourseDetailsId(), 2);
}
return Result.success();