package shop.alien.store.service;

import shop.alien.entity.storePlatform.vo.StoreOperationalActivityVO;
import shop.alien.entity.storePlatform.vo.StoreOperationalActivitySignupCheckVo;
import shop.alien.store.dto.StoreOperationalActivitySignupDto;

/**
 * 用户端运营活动服务
 *
 * @author system
 * @since 2025-01-XX
 */
public interface StoreOperationalActivityService {

    /**
     * 查询活动详情
     *
     * @param id 活动ID
     * @return 活动详情
     */
    StoreOperationalActivityVO getActivityDetail(Integer id);

    /**
     * 报名校验：是否已满、是否已成功报名。
     *
     * @param activityId 活动ID
     * @param userId     用户ID
     * @return 校验结果
     */
    StoreOperationalActivitySignupCheckVo checkSignup(Integer activityId, Integer userId);

    /**
     * 活动报名
     *
     * @param dto 报名请求
     * @return 是否成功
     */
    boolean signup(StoreOperationalActivitySignupDto dto);
}
