package jnpf.cultivate.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jnpf.model.cultivate.po.promotion.FtbCultivatePromotionMember;
import jnpf.model.cultivate.vo.promotion.FtbCultivatePromotionMemberVO;
import jnpf.model.cultivate.vo.promotion.FtbCultivatePromotionPostVO;
import jnpf.model.cultivate.vo.promotion.FtbCultivatePromotionVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface FtbCultivatePromotionMemberMapper extends BaseMapper<FtbCultivatePromotionMember> {

    /**
     * 根据用户ID查询用户的推广信息。
     *
     * @param userId 用户ID
     * @param postId
     * @return 对应的FtbCultivatePromotionVO对象
     */
    List<FtbCultivatePromotionVO> queryPromotionByUserOrPostId(@Param("userId") String userId,
                                                               @Param("postId")  String postId);
    /**
     * 根据用户ID查询用户的推广信息。
     *
     * @param userId 用户ID
     * @param OrgId
     * @return 对应的FtbCultivatePromotionVO对象
     */
    List<FtbCultivatePromotionVO> queryPromotionByUserOrOrgId(@Param("userId") String userId,
                                                               @Param("OrgId")  String OrgId);
    /**
     * 根据用户ID和帖子ID查询推广信息
     * 此方法用于根据特定的用户和帖子信息，查询相关的推广信息
     *
     * @param userId 用户ID，用于识别特定的用户
     * @param postId 帖子ID，用于识别特定的帖子
     * @return 返回一个FtbCultivatePromotionVO对象，包含查询到的推广信息
     */
    FtbCultivatePromotionVO queryPromotionByUser(@Param("userId") String userId,
                                                 @Param("postId")  String postId);

    /**
     * 根据用户ID查询用户信息
     * 此方法用于根据特定的用户ID，查询相关的用户信息
     *
     * @param userId 用户ID，用于识别特定的用户
     * @return 返回一个FtbCultivatePromotionMemberVO对象，包含查询到的用户信息
     */
    FtbCultivatePromotionMemberVO queryUserInfo(@Param("userId")String userId);

    /**
     * 查询已存在的帖子列表
     * 此方法用于查询数据库中所有已存在的帖子，以确定哪些帖子已经被系统处理过
     *
     * @return 返回一个FtbCultivatePromotionPostVO对象的列表，包含所有已存在的帖子信息
     */
    List<FtbCultivatePromotionPostVO> queryPostHasExist();


}