package com.ruoyi.system.mapper;

import java.time.LocalDate;
import java.util.List;
import com.ruoyi.system.domain.DailySource;
import com.ruoyi.system.domain.dto.DailyScenicDto;
import com.ruoyi.system.domain.dto.DailySourceDto;
import org.apache.ibatis.annotations.Param;

/**
 * 资源位每天统计Mapper接口
 * 
 * @author haotian
 * @date 2024-12-09
 */
public interface DailySourceMapper 
{
    /**
     * 查询资源位每天统计
     * 
     * @param dailySourceId 资源位每天统计主键
     * @return 资源位每天统计
     */
    public DailySource selectDailySourceByDailySourceId(Long dailySourceId);

    /**
     * 查询资源位每天统计列表
     * 
     * @param dailySource 资源位每天统计
     * @return 资源位每天统计集合
     */
    public List<DailySource> selectDailySourceList(DailySource dailySource);

    /**
     * 新增资源位每天统计
     * 
     * @param dailySource 资源位每天统计
     * @return 结果
     */
    public int insertDailySource(DailySource dailySource);

    /**
     * 修改资源位每天统计
     * 
     * @param dailySource 资源位每天统计
     * @return 结果
     */
    public int updateDailySource(DailySource dailySource);

    /**
     * 删除资源位每天统计
     * 
     * @param dailySourceId 资源位每天统计主键
     * @return 结果
     */
    public int deleteDailySourceByDailySourceId(Long dailySourceId);

    /**
     * 批量删除资源位每天统计
     * 
     * @param dailySourceIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDailySourceByDailySourceIds(Long[] dailySourceIds);

    /*
     * 资源位每天统计
     * */
    public DailySourceDto getStDailySource(@Param("date") LocalDate date);

    /*
     * 各个景区的资源位每天统计
     * */
    public DailyScenicDto getDailyScenicDto(@Param("date") LocalDate date, @Param("scenicId") Long scenicId);

    /*
     * 根据资源位id和日期查询资源位每天统计
     * */
    public DailySource getDailySourceBySourceIdAndDate(@Param("sourceId") Long sourceId, @Param("date") LocalDate date);

}
