package com.emotion.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.emotion.common.PageResult;
import com.emotion.dto.request.TopicInteractionCreateRequest;
import com.emotion.dto.request.TopicInteractionPageRequest;
import com.emotion.dto.request.TopicInteractionUpdateRequest;
import com.emotion.dto.response.TopicInteractionResponse;
import com.emotion.entity.TopicInteraction;

/**
 * 话题互动服务接口
 * 
 * @author huazhongmin
 * @date 2025-07-23
 */
public interface TopicInteractionService extends IService<TopicInteraction> {
    
    /**
     * 分页查询话题互动
     */
    PageResult<TopicInteractionResponse> getPageWithResponse(TopicInteractionPageRequest request);
    
    /**
     * 根据ID获取话题互动响应对象
     */
    TopicInteractionResponse getTopicInteractionResponseById(String id);
    
    /**
     * 创建话题互动
     */
    TopicInteractionResponse createTopicInteractionWithResponse(TopicInteractionCreateRequest request);
    
    /**
     * 更新话题互动
     */
    TopicInteractionResponse updateTopicInteractionWithResponse(TopicInteractionUpdateRequest request);
    
    /**
     * 删除话题互动
     */
    boolean deleteTopicInteraction(String id);
}
