package com.tcm.training.admin.live.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.tcm.training.admin.live.entity.LiveWatchRecord; import com.tcm.training.admin.live.vo.LiveWatchRow; import com.tcm.training.admin.live.vo.LiveWatchSummaryRow; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.time.LocalDateTime; import java.util.List; @Mapper public interface LiveWatchRecordMapper extends BaseMapper { /** 观看记录分页列表(动态筛选) */ IPage selectWatchPage(IPage page, @Param("courseId") Long courseId, @Param("sessionId") Long sessionId, @Param("keyword") String keyword, @Param("isCompleted") Integer isCompleted, @Param("isEffective") Integer isEffective); IPage selectGlobalWatchPage(IPage page, @Param("courseId") Long courseId, @Param("sessionId") Long sessionId, @Param("regionCode") String regionCode, @Param("clinicName") String clinicName, @Param("phone") String phone, @Param("courseName") String courseName, @Param("hasReserve") Integer hasReserve, @Param("isCompleted") Integer isCompleted, @Param("isEffective") Integer isEffective, @Param("watchFrom") LocalDateTime watchFrom, @Param("watchTo") LocalDateTime watchTo); List selectGlobalWatchList(@Param("courseId") Long courseId, @Param("sessionId") Long sessionId, @Param("regionCode") String regionCode, @Param("clinicName") String clinicName, @Param("phone") String phone, @Param("courseName") String courseName, @Param("hasReserve") Integer hasReserve, @Param("isCompleted") Integer isCompleted, @Param("isEffective") Integer isEffective, @Param("watchFrom") LocalDateTime watchFrom, @Param("watchTo") LocalDateTime watchTo); LiveWatchSummaryRow selectGlobalWatchSummary(@Param("courseId") Long courseId, @Param("sessionId") Long sessionId, @Param("regionCode") String regionCode, @Param("clinicName") String clinicName, @Param("phone") String phone, @Param("courseName") String courseName, @Param("hasReserve") Integer hasReserve, @Param("isCompleted") Integer isCompleted, @Param("isEffective") Integer isEffective, @Param("watchFrom") LocalDateTime watchFrom, @Param("watchTo") LocalDateTime watchTo); }