package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.MaterialStatsDaily;
import org.apache.ibatis.annotations.Param;

public interface MaterialStatsDailyMapper
{
    /**
     * 插入或更新日统计数据（MySQL 唯一键冲突时更新）
     */
    int insertOrUpdate(MaterialStatsDaily record);

    /**
     * 按条件查询统计列表
     */
    List<MaterialStatsDaily> selectList(@Param("appName") String appName,
                                        @Param("appSource") String appSource,
                                        @Param("startDate") String startDate,
                                        @Param("endDate") String endDate);

    /**
     * 点击数+1（存在即更新，不存在则插入 0,1,0）
     */
    int incrClick(@Param("materialId") Long materialId,
                  @Param("appName") String appName,
                  @Param("appSource") String appSource,
                  @Param("statDate") String statDate,
                  @Param("title") String title,
                  @Param("labels") String labels);

    /**
     * 提交数+1（存在即更新，不存在则插入 1,0,0）
     */
    int incrSubmit(@Param("materialId") Long materialId,
                   @Param("appName") String appName,
                   @Param("appSource") String appSource,
                   @Param("statDate") String statDate,
                   @Param("title") String title,
                   @Param("labels") String labels);
}