package com.ruoyi.xq.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.xq.domain.UserInvite;
import com.ruoyi.xq.dto.admin.user.UserInviteAdminVo;
import com.ruoyi.xq.dto.app.invite.UserInviteListVo;

/**
 * 用户邀请Service接口
 *
 * @author 77
 * @date 2024-03-13
 */
public interface UserInviteService extends IService<UserInvite> {

    void bindInvite(Long userId, String inviteCode);

    void unBindInviteUser(Long userId);

    Page<UserInviteAdminVo> pageAdmin(PageQuery pageQuery, UserInviteAdminVo bo);

    UserInvite getByUserId(Long sourceUserId);

    String share(Long userId);

    IPage<UserInviteListVo> pageApp(PageQuery pageQuery, Long userId);
}
