package com.fs.live.service;

import java.util.Date;
import java.util.List;

import com.fs.common.core.domain.R;
import com.fs.live.domain.LiveRewardRecord;
import com.fs.live.vo.LiveRewardRecordStatisticsVo;
import com.fs.live.vo.LiveRewardRecordVo;

/**
 * 用户直播间奖励记录Service接口
 *
 * @author fs
 * @date 2025-08-27
 */
public interface ILiveRewardRecordService {
    /**
     * 查询用户直播间奖励记录
     *
     * @param id 用户直播间奖励记录主键
     * @return 用户直播间奖励记录
     */
    LiveRewardRecord selectLiveRewardRecordById(Long id);

    /**
     * 查询用户直播间奖励记录列表
     *
     * @param liveRewardRecord 用户直播间奖励记录
     * @return 用户直播间奖励记录集合
     */
    List<LiveRewardRecord> selectLiveRewardRecordList(LiveRewardRecord liveRewardRecord);

    /**
     * 新增用户直播间奖励记录
     *
     * @param liveRewardRecord 用户直播间奖励记录
     * @return 结果
     */
    int insertLiveRewardRecord(LiveRewardRecord liveRewardRecord);

    /**
     * 修改用户直播间奖励记录
     *
     * @param liveRewardRecord 用户直播间奖励记录
     * @return 结果
     */
    int updateLiveRewardRecord(LiveRewardRecord liveRewardRecord);

    /**
     * 批量删除用户直播间奖励记录
     *
     * @param ids 需要删除的用户直播间奖励记录主键集合
     * @return 结果
     */
    int deleteLiveRewardRecordByIds(Long[] ids);

    /**
     * 删除用户直播间奖励记录信息
     *
     * @param id 用户直播间奖励记录主键
     * @return 结果
     */
    int deleteLiveRewardRecordById(Long id);



    R statistics(LiveRewardRecordVo param);

    List<LiveRewardRecordStatisticsVo> selectRewardSummary(LiveRewardRecordVo param);
}
