package com.seer.teach.mall.good.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.seer.teach.common.PageListBean;
import com.seer.teach.mall.entity.GoodsCommentEntity;
import com.seer.teach.mall.request.CommentUpdateVisibleReq;
import com.seer.teach.mall.request.GoodsCommentCreateReq;
import com.seer.teach.mall.request.GoodsCommentPageReqVO;
import com.seer.teach.mall.request.GoodsCommentUpdateReq;
import com.seer.teach.mall.response.GoodsCommentResp;

import jakarta.validation.Valid;

/**
 * <p>
 * 商品评论 服务类
 * </p>
 *
 * @author Wang
 * @since 2025-07-03 10:22:05
 */
public interface IAdminGoodsCommentService extends IService<GoodsCommentEntity> {

    /**
     * 创建商品评论
     * @param reqVO 请求参数
     * @return 是否创建成功
     */
    boolean create(GoodsCommentCreateReq reqVO);

    /**
     * 获取商品评论分页列表
     * @param reqVO 分页请求参数
     * @return 商品评论分页数据
     */
    PageListBean<GoodsCommentResp> getOrderPage(GoodsCommentPageReqVO reqVO);

    /**
     * 回复商品评论
     * @param updateReq 回复参数
     * @return 是否回复成功
     */
    boolean replyComment(GoodsCommentUpdateReq updateReq);

    /**
     * 显示 / 隐藏商品评论
     * @param commentUpdateVisibleReq 显示 / 隐藏参数
     * @return 是否显示 / 隐藏成功
     */
    boolean updateCommentVisible(@Valid CommentUpdateVisibleReq commentUpdateVisibleReq);
}
