package com.community.huiju.service;

import com.community.commom.mode.ResponseBean;
import com.community.commom.session.UserElement;
import com.community.huiju.model.TpTicket;
import com.community.huiju.model.TpTicketRecordComment;
import com.community.huiju.vo.TpTicketVO;

import java.io.IOException;
import java.util.List;

/**
 * 工单业务
 * @author weiximei
 */
public interface ITicketService {

    /**
     * 根据 小区ID 用户ID 类型 查询数据
     * @param tpTicket
     * @param pageCode
     * @param pageSize
     * @return 返回 维修/投诉/联系单 各 pageSize 条
     */
    ResponseBean getList(TpTicket tpTicket,Integer pageCode, Integer pageSize);

    /**
     * 根据 小区ID 用户ID 类型 查询数据
     * @param tpTicket
     * @param pageNum
     * @param pageSize
     * @return 返回 维修/投诉/联系单 记录列表
     */
    ResponseBean getByTypeList(TpTicket tpTicket, Integer pageNum, Integer pageSize);
	
	/**
	 * 获取报修详情
	 * @param communityId
	 * @param ticketId
	 * @return
	 */
	TpTicket getTicketSchedule(String communityId, Integer ticketId);


	/**
	 * 添加 维修/投诉/联系单
	 * @param userElement
	 * @param parameter
	 * @return
	 */
    ResponseBean addAiTicketService(UserElement userElement, String parameter) throws IOException;
	
	/**
	 * 回复工单
	 * @param tpTicketRecordComment
	 * @return
	 */
	@Deprecated
	Integer updateTicketsReply(TpTicketRecordComment tpTicketRecordComment, Integer userId);

	/**
	 * 修改 维修/投诉/联系单 内容
	 * @param ticketId
	 * @param parameter
	 * @param userId
	 */
	ResponseBean updateTicketContent(Integer ticketId, String parameter,Integer userId);

	/**
	 * 终止 维修/投诉/联系单
	 * @param communityId
	 * @param ticketId
	 * @return
	 */
	ResponseBean stopTpTicketRecord(Integer communityId, Integer ticketId, Integer userId);

	/**
	 * 添加工单对话
	 * @param parameter
	 * @param verifyId
	 * @param communityId
	 * @param userName
	 * @return
	 */
	ResponseBean addRecordComment(String parameter, Integer verifyId, Integer communityId, String userName);
}
