package com.jeesharp.business.modules.marketing.stats.service;

import com.jeesharp.business.modules.marketing.stats.vo.MarketingStatsChannelItemVO;
import com.jeesharp.business.modules.marketing.stats.vo.MarketingStatsDailyTrendItemVO;
import com.jeesharp.business.modules.marketing.stats.vo.MarketingStatsQueryVO;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 会员营销统计领域服务（仅读本模块表）。
 *
 * @author jeesharp
 * @since 2026-06-25
 */
public interface MarketingStatsService {

    Long countJoin(MarketingStatsQueryVO query, LocalDateTime startDateTime, LocalDateTime endDateTime);

    Long countVerify(MarketingStatsQueryVO query, LocalDateTime startDateTime, LocalDateTime endDateTime);

    List<MarketingStatsDailyTrendItemVO> dailyJoin(MarketingStatsQueryVO query, LocalDateTime startDateTime, LocalDateTime endDateTime);

    List<MarketingStatsDailyTrendItemVO> dailyVerify(MarketingStatsQueryVO query, LocalDateTime startDateTime, LocalDateTime endDateTime);

    List<MarketingStatsChannelItemVO> channelJoin(MarketingStatsQueryVO query, LocalDateTime startDateTime, LocalDateTime endDateTime);

    List<MarketingStatsChannelItemVO> channelVerify(MarketingStatsQueryVO query, LocalDateTime startDateTime, LocalDateTime endDateTime);
}
