package com.ruoyi.system.service;

import java.time.LocalDate;
import java.util.List;
import com.ruoyi.system.domain.DailyUser;
import com.ruoyi.system.domain.dto.DailyUserDto;

/**
 * userDailyService接口
 * 
 * @author 昊天
 * @date 2024-11-04
 */
public interface IDailyUserService 
{
    /**
     * 查询userDaily
     * 
     * @param dailyUserId userDaily主键
     * @return userDaily
     */
    public DailyUser selectDailyUserByDailyUserId(Long dailyUserId);

    public DailyUser selectDailyUserByUserIdAndDate(Long userId, LocalDate date);

    /**
     * 查询userDaily列表
     * 
     * @param dailyUser userDaily
     * @return userDaily集合
     */
    public List<DailyUser> selectDailyUserList(DailyUser dailyUser);

    /**
     * 新增userDaily
     * 
     * @param dailyUser userDaily
     * @return 结果
     */
    public int insertDailyUser(DailyUser dailyUser);

    /**
     * 修改userDaily
     * 
     * @param dailyUser userDaily
     * @return 结果
     */
    public int updateDailyUser(DailyUser dailyUser);

    /**
     * 批量删除userDaily
     * 
     * @param dailyUserIds 需要删除的userDaily主键集合
     * @return 结果
     */
    public int deleteDailyUserByDailyUserIds(Long[] dailyUserIds);

    /**
     * 删除userDaily信息
     * 
     * @param dailyUserId userDaily主键
     * @return 结果
     */
    public int deleteDailyUserByDailyUserId(Long dailyUserId);

    /*
    * 返回每天用户总的在线时间
    * */
    public Long getTotalOnlineTime(LocalDate date);

    /*
    * 返回每天用户总的MR在线时间
    * */
    public Long getTotalMRTime(LocalDate date);

    /*
    * 返回每天资源位总的被购买次数
    * */
    public Long getTotalBought(LocalDate date);

    /*
    * 系统每天统计用户相关信息
    * */
    public DailyUserDto getStDailyUser(LocalDate date);

}
