package com.luojia_channel.modules.feedback.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.luojia_channel.modules.feedback.dto.FeedbackTicketBasicInfoDTO;
import com.luojia_channel.modules.feedback.dto.FeedbackTicketPageQueryDTO;
import com.luojia_channel.modules.feedback.entity.FeedbackTicket;
import com.luojia_channel.common.domain.page.PageRequest;
import com.luojia_channel.common.domain.page.PageResponse;

import java.util.List;

public interface FeedbackTicketService extends IService<FeedbackTicket> {
    /**
     * 创建反馈工单
     * @param feedbackTicket 反馈工单实体
     * @return 工单 ID
     */
    Long createFeedbackTicket(FeedbackTicket feedbackTicket);

    /**
     * 编辑反馈工单
     * @param feedbackTicket 反馈工单实体
     */
    void updateFeedbackTicket(FeedbackTicket feedbackTicket);

    /**
     * 个人反馈工单查询
     * @param userId 用户 ID
     * @return 反馈工单列表
     */
    List<FeedbackTicket> getPersonalFeedbackTickets(Long userId);

    /**
     * 分页查询反馈工单
     * @param feedbackTicketPageQueryDTO 分页查询参数
     * @return 分页结果
     */
    PageResponse<FeedbackTicketBasicInfoDTO> pageFeedbackTicket(FeedbackTicketPageQueryDTO feedbackTicketPageQueryDTO);

    /**
     * 处理延时反馈工单
     * @param ticketId 工单ID
     */
    void processDelayedFeedback(Long ticketId);
}
