package com.dora.service;

import com.dora.dto.PointsConsumptionDto;

/**
 * 积分消费查询服务接口
 */
public interface PointsConsumptionService {
    
    /**
     * 获取用户积分余额信息
     * 
     * @param userId 用户ID
     * @return 积分余额信息
     */
    PointsConsumptionDto.BalanceResponse getBalance(Long userId);
    
    /**
     * 获取用户积分消费记录（分页）
     * 
     * @param userId 用户ID
     * @param page 页码
     * @param size 每页数量
     * @param changeType 变动类型（可选，null表示全部）
     * @return 积分消费记录分页结果
     */
    PointsConsumptionDto.ConsumptionLogPageResponse getConsumptionLogs(
            Long userId, Integer page, Integer size, String changeType);
    
    /**
     * 获取用户积分统计信息
     * 
     * @param userId 用户ID
     * @return 积分统计信息
     */
    PointsConsumptionDto.ConsumptionStatsResponse getConsumptionStats(Long userId);
}

