package shop.alien.store.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import shop.alien.entity.result.R;
import shop.alien.entity.store.StoreCommentAppealSupplement;
import shop.alien.entity.store.dto.StoreCommentAppealSupplementAddDto;
import shop.alien.entity.store.dto.StoreCommentAppealSupplementUpdateDto;
import shop.alien.entity.store.vo.StoreCommentAppealSupplementVo;

import java.util.List;

/**
 * 评论申诉-用户补充内容 服务类
 */
public interface StoreCommentAppealSupplementService extends IService<StoreCommentAppealSupplement> {

    /**
     * 新增用户补充
     */
    R<StoreCommentAppealSupplementVo> addSupplement(StoreCommentAppealSupplementAddDto dto);

    /**
     * 修改用户补充
     */
    R<StoreCommentAppealSupplementVo> updateSupplement(StoreCommentAppealSupplementUpdateDto dto);

    /**
     * 删除用户补充（逻辑删除）
     */
    R<Boolean> deleteSupplement(Integer id, Long userId);

    /**
     * 查询补充详情
     */
    StoreCommentAppealSupplementVo getDetail(Integer id);

    /**
     * 按申诉ID查询补充列表
     */
    List<StoreCommentAppealSupplementVo> listByAppealId(Integer appealId);

    /**
     * 按评论ID查询补充列表
     */
    List<StoreCommentAppealSupplementVo> listByCommentId(Integer commentId);

    /**
     * 分页查询
     */
    IPage<StoreCommentAppealSupplementVo> getPage(Integer pageNum, Integer pageSize,
                                                  Integer appealId, Long userId,
                                                  Integer storeId, Integer auditStatus);
}
