package com.wzj.soopin.content.mapper;

import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wzj.soopin.content.domain.bo.VlogBO;
import com.wzj.soopin.content.domain.po.Vlog;
import com.wzj.soopin.content.domain.vo.IndexVlogVO;
import com.wzj.soopin.content.domain.vo.VlogerVO;
import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Repository
@InterceptorIgnore(tenantLine = "true")
public interface VlogMapperCustom extends BaseMapperPlus<Vlog, VlogerVO> {

    List<IndexVlogVO> getIndexVlogList(@Param("bo") VlogBO bo);

    Page<IndexVlogVO> getIndexVlogList(@Param("bo") VlogBO bo, Page<IndexVlogVO> page);

    List<IndexVlogVO> getVlogDetailById(@Param("paramMap") Map<String, Object> map);

    List<IndexVlogVO> getMyLikedVlogList(@Param("paramMap") Map<String, Object> map);

    Page<IndexVlogVO> getMyLikedVlogList(@Param("paramMap") Map<String, Object> map, Page<IndexVlogVO> page);

    List<IndexVlogVO> getMyFollowVlogList(@Param("paramMap") Map<String, Object> map);


    Page<IndexVlogVO> getMyFollowVlogList(@Param("paramMap") Map<String, Object> map, Page<IndexVlogVO> page);

    List<IndexVlogVO> getMyFriendVlogList(@Param("paramMap") Map<String, Object> map);

    Page<IndexVlogVO> getMyFriendVlogList(@Param("paramMap") Map<String, Object> map, Page<IndexVlogVO> page);

}
