package com.yonge.cooleshow.bbs.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yonge.cooleshow.bbs.dto.ReplyAuditDto;
import com.yonge.cooleshow.bbs.vo.BbsReplyAuditVo;
import com.yonge.cooleshow.bbs.vo.BbsReplyVo;
import com.yonge.cooleshow.bbs.dto.search.BbsReplySearch;
import com.yonge.cooleshow.bbs.entity.BbsReply;

/**
 * 文章评论 服务类
 * @author liweifan
 * @date 2022-06-09
 */
public interface BbsReplyService extends IService<BbsReply>  {

	/**
     * 查询详情
     * @author liweifan
 	 * @date 2022-06-09
     */
	BbsReplyVo detail(Long id);

    /**
     * 分页查询
     * @author liweifan
 	 * @date 2022-06-09
     */
    IPage<BbsReplyVo> selectPage(IPage<BbsReplyVo> page, BbsReplySearch query);

	/**
	 * 我的评论列表
	 *
	 * @param page 分页
	 * @param query
	 * @return
	 */
	IPage<BbsReplyVo> selectCommentPage(IPage<BbsReplyVo> page, BbsReplySearch query);

	/**
	 * 我的回复列表
	 *
	 * @param page 分页
	 * @param query
	 * @return
	 */
	IPage<BbsReplyVo> selectReplyPage(IPage<BbsReplyVo> page, BbsReplySearch query);

	/**
	 * 评论审核列表
	 *
	 * @param page 分页
	 * @param query 查询条件
	 * @return
	 */
	IPage<BbsReplyAuditVo> selectAuditListPage(IPage<BbsReplyAuditVo> page, BbsReplySearch query);

	/**
	 * 评论审核
	 *
	 * @param auditDto 审核信息
	 * @return
	 */
	boolean audit(ReplyAuditDto auditDto);

	/**
	 * 评论文章
	 * @param reply
	 */
    void replyArticle(BbsReply reply);
}