package com.zhentao.service;

import com.zhentao.entity.Activity;
import java.util.List;

/**
 * 活动服务接口
 */
public interface ActivityService {
    
    /**
     * 获取活动列表
     * 
     * @param type 活动类型（null表示全部）
     * @param status 活动状态（null表示全部）
     * @param limit 限制数量（可选）
     * @return 活动列表
     */
    List<Activity> getActivityList(Integer type, Integer status, Integer limit);
    
    /**
     * 获取活动详情
     * 
     * @param id 活动ID
     * @return 活动详情
     */
    Activity getActivityDetail(Integer id);
    
    /**
     * 获取热门活动列表
     * 
     * @param limit 限制数量
     * @return 活动列表
     */
    List<Activity> getHotActivities(Integer limit);
    
    /**
     * 报名活动
     * 
     * @param activityId 活动ID
     * @param userId 用户ID
     * @return 报名是否成功
     * @throws RuntimeException 报名失败时抛出异常，包含失败原因
     */
    boolean registerActivity(Integer activityId, Integer userId);
}


