package com.fzm.mall.server.admin.goods_center.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.fzm.mall.server.admin.goods_center.entity.dto.CommentReplyDTO;
import com.fzm.mall.server.admin.goods_center.entity.vo.GoodsCommentDetailVO;
import com.fzm.mall.server.admin.goods_center.entity.vo.GoodsCommentVO;
import com.fzm.mall.server.admin.goods_center.entity.vo.GoodsSpuDetailVO;
import com.fzm.mall.server.admin.goods_center.entity.vo.GoodsSpuVO;
import com.fzm.mall.server.admin.goods_center.model.GoodsComment;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * @author wangp
 * @date 2021/5/12 16:06
 * @description 商品评论表（用于对商品的评论） 服务类
 * @since JDK 1.8
 */
public interface IGoodsCommentService extends IService<GoodsComment> {
    /**
     * 分页查询
     *
     * @param merchantId   商户id
     * @param goodsId      系列id
     * @param goodsName    商品名称
     * @param evaluateType 评价类型
     * @param replyStatus  回复状态
     * @param pageNum      当前页数
     * @param pageSize     每页个数
     * @return 分页的商品信息
     */
    IPage<GoodsCommentVO> page(String merchantId, String goodsId, String goodsName, Integer evaluateType, Integer replyStatus,
                               Integer pageNum, Integer pageSize);

    /**
     * 根据评论id查询评价详情
     *
     * @param commentId 评论id
     */
    GoodsCommentDetailVO queryCommentDetailByCommentId(String commentId);

    /**
     * 评价回复
     *
     * @param dto 回复
     */
    void reply(CommentReplyDTO dto);

    /**
     * 删除评价
     *
     * @param commentId 评论id
     */
    void delete(String commentId);

    /**
     * 根据评论id查询评论
     *
     * @param commentId 评论id
     * @return
     */
    GoodsComment queryByCommentId(String commentId);

}
