package com.pig4cloud.pig.statistics.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.pig4cloud.pig.statistics.api.dto.retention.GetFreshnessTrendDTO;
import com.pig4cloud.pig.statistics.api.dto.retention.GetRetentionTrendDTO;
import com.pig4cloud.pig.statistics.api.dto.retention.PageQueryRetentionDTO;
import com.pig4cloud.pig.statistics.api.vo.retention.GetFreshnessTrendVO;
import com.pig4cloud.pig.statistics.api.vo.retention.GetRetentionTrendVO;
import com.pig4cloud.pig.statistics.api.vo.retention.PageQueryRetentionVO;
import jakarta.validation.Valid;

/**
 * @author: lwh
 * @date: 2025-08-22
 * @description: TODO
 */

public interface RetentionAnalyseService {

	/**
	 * 分页查询留存详情
	 * @param reqDto 分页参数
	 * @return 分页数据
	 */
	Page<PageQueryRetentionVO> pageRetentionDetail(@Valid PageQueryRetentionDTO reqDto);

	/**
	 * 查询留存趋势
	 * @param reqDto 查询参数
	 * @return 留存趋势数据
	 */
    GetRetentionTrendVO getRetentionTrend(@Valid GetRetentionTrendDTO reqDto);

	/**
	 * 查询用户新鲜度趋势
	 * @param reqDto 获取参数
	 * @return 新鲜度趋势数据
	 */
	GetFreshnessTrendVO getFreshnessTrend(@Valid GetFreshnessTrendDTO reqDto);

	/**
	 * 获取用户活跃度趋势
	 * @param reqDto 获取参数
	 * @return 活跃度趋势数据
	 */
	GetFreshnessTrendVO getEngagementTrend(@Valid GetFreshnessTrendDTO reqDto);
}
