package shop.alien.store.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import shop.alien.entity.store.*;
import shop.alien.entity.store.vo.*;

/**
 * @author zhangchen
 * @version 1.0
 * @date 2025/09/05 10:00
 */
public interface ActivityInviteConfigService extends IService<ActivityInviteConfig> {
    /**
     * 创建签到活动
     */
    ActivityInviteConfigVo createOrUpdateInviteActivity(ActivityInviteConfigVo configVO);

    /**
     * 获取活动详情
     */
    ActivityInviteConfigVo getInviteActivitySignInConfigById(Long id);

    /**
     * 获取活动列表
     */
    IPage<ActivityInviteConfig> getInviteActivityConfigList(int pageNum, int pageSize, String createdTime, Integer activityType, Integer status);

    /**
     * 更新活动状态
     */
    boolean updateInviteActivityStatus(Integer id, Integer status);


    /**
     * 删除活动
     */
    boolean deleteInviteActivity(Integer id);

    ActivityInviteInfoVo getInviteInfo(Integer userId);

    IPage<ActivityInviteLogVo> getInviteActivityLogList(int pageNum, int pageSize, Integer status, String invitePhone, String inviteStartTime, String inviteEndTime);

    String bindInviteCode(Integer invitedUserId, String inviteCode);

    boolean distributionInviteReward(String invitedUserId, int inviteCondition);

}
