观影记录 开始结束 全集
This commit is contained in:
parent
156784f20b
commit
a16e632e98
|
|
@ -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);
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -22,12 +22,16 @@
|
|||
|
||||
<!--查找指定短剧的目录 按照顺序数字升序-->
|
||||
<select id="findByCourseId" resultType="com.sqx.modules.course.entity.CourseDetails">
|
||||
select
|
||||
c.*,
|
||||
ifnull(cc.isGood,0) as isGood
|
||||
select c.*,
|
||||
ifnull(cc.isGood, 0) as isGood
|
||||
from course_details c
|
||||
left join (select course_details_id,count(*) isGood from course_collect where user_id=#{userId} and classify=2 group by course_details_id) cc on c.course_details_id = c.course_details_id
|
||||
where c.course_id=#{id} order by c.sort asc
|
||||
left join (select course_details_id, count(*) isGood
|
||||
from course_collect
|
||||
where user_id = #{userId}
|
||||
and classify = 2
|
||||
group by course_details_id) cc on c.course_details_id = c.course_details_id
|
||||
where c.course_id = #{id}
|
||||
order by c.sort asc
|
||||
</select>
|
||||
|
||||
<select id="selectCoursePageByCourseId" resultType="com.sqx.modules.course.entity.CourseDetails">
|
||||
|
|
@ -42,26 +46,43 @@
|
|||
</select>
|
||||
|
||||
<select id="findByCourseIdNotUrl" resultType="com.sqx.modules.course.entity.CourseDetails">
|
||||
select c.course_details_id as courseDetailsId,
|
||||
c.course_id as courseId,
|
||||
c.wx_course_details_id as wxCourseDetailsId,
|
||||
c.course_details_name as courseDetailsName,
|
||||
c.create_time as createTime,
|
||||
c.title_img as titleImg,
|
||||
select c.course_details_id as courseDetailsId,
|
||||
c.course_id as courseId,
|
||||
c.wx_course_details_id as wxCourseDetailsId,
|
||||
c.course_details_name as courseDetailsName,
|
||||
c.create_time as createTime,
|
||||
c.title_img as titleImg,
|
||||
c.content,
|
||||
c.good_num as goodNum,
|
||||
c.good_num as goodNum,
|
||||
c.price,
|
||||
if(c.is_price!=1,c.video_url,'') as videoUrl,
|
||||
c.dy_episode_id as dyEpisodeId,
|
||||
if(c.is_price!=1, c.video_url, '') as videoUrl,
|
||||
c.dy_episode_id as dyEpisodeId,
|
||||
c.advertising,
|
||||
c.view_count as viewCount,
|
||||
c.play_complete_count as playCompleteCount,
|
||||
ifnull(cc.isGood,0) as isGood
|
||||
c.view_count as viewCount,
|
||||
c.play_complete_count as playCompleteCount,
|
||||
ifnull(cc.isGood, 0) as isGood
|
||||
from course_details c
|
||||
left join (select course_details_id,count(*) as isGood from course_collect where user_id=#{userId} and classify=2 group by course_details_id) cc on cc.course_details_id = c.course_details_id
|
||||
where c.course_id=#{id} order by c.sort asc
|
||||
left join (select course_details_id, count(*) as isGood
|
||||
from course_collect
|
||||
where user_id = #{userId}
|
||||
and classify = 2
|
||||
group by course_details_id) cc on cc.course_details_id = c.course_details_id
|
||||
where c.course_id = #{id}
|
||||
order by c.sort asc
|
||||
</select>
|
||||
|
||||
<update id="updateViewCount">
|
||||
update course_details
|
||||
set
|
||||
<if test="state==1">
|
||||
view_count = view_count + 1
|
||||
</if>
|
||||
<if test="state==2">
|
||||
play_complete_count = play_complete_count + 1
|
||||
</if>
|
||||
where
|
||||
course_id=#{courseId}
|
||||
and course_details_id =#{courseDetailsId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteCourseDetails" parameterType="String">
|
||||
DELETE FROM course_details WHERE course_details_id IN
|
||||
|
|
@ -71,31 +92,26 @@
|
|||
</delete>
|
||||
|
||||
<select id="countCourseByCourseId" resultType="Integer">
|
||||
select
|
||||
count(1)
|
||||
select count(1)
|
||||
from course_details
|
||||
where course_id = #{courseId}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="countCourse" resultType="Map">
|
||||
select
|
||||
ifnull(sum(view_count),0) as viewCounts,
|
||||
ifnull(sum(good_num),0) as goodNum,
|
||||
ifnull(count(*),0) as courseDetailsCount
|
||||
from course_details
|
||||
select ifnull(sum(view_count), 0) as viewCounts,
|
||||
ifnull(sum(good_num), 0) as goodNum,
|
||||
ifnull(count(*), 0) as courseDetailsCount
|
||||
from course_details
|
||||
where course_id = #{courseId}
|
||||
</select>
|
||||
<select id="countByCourseId" resultType="com.sqx.modules.course.entity.CourseDetails">
|
||||
SELECT
|
||||
course_id as courseId,
|
||||
COUNT(*) AS courseDetailsCount
|
||||
FROM
|
||||
course_details
|
||||
where course_details_id
|
||||
SELECT course_id as courseId,
|
||||
COUNT(*) AS courseDetailsCount
|
||||
FROM course_details
|
||||
where course_details_id
|
||||
|
||||
GROUP BY
|
||||
course_id
|
||||
GROUP BY course_id
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue