package com.yupi.springbootinit.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yupi.springbootinit.model.dto.post.PostQueryRequest;
import com.yupi.springbootinit.model.entity.Post;
import com.yupi.springbootinit.model.vo.PostVO;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* 帖子服务
*
* @author 程序员鱼皮
* @from 编程导航知识星球
*/
public interface PostService extends IService {
/**
* 校验
*
* @param post
* @param add
*/
void validPost(Post post, boolean add);
/**
* 获取查询条件
*
* @param postQueryRequest
* @return
*/
QueryWrapper getQueryWrapper(PostQueryRequest postQueryRequest);
/**
* 从 ES 查询
*
* @param postQueryRequest
* @return
*/
Page searchFromEs(PostQueryRequest postQueryRequest);
/**
* 获取帖子封装
*
* @param post
* @param request
* @return
*/
PostVO getPostVO(Post post, HttpServletRequest request);
/**
* 分页获取帖子封装
*
* @param postPage
* @param request
* @return
*/
Page getPostVOPage(Page postPage, HttpServletRequest request);
/**
* 获取帖子封装列表
*
* @param postList
* @param request
* @return
*/
List getPostVOList(List postList, HttpServletRequest request);
}