package com.panzhihua.sangeshenbian.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.sangeshenbian.model.dto.*;
import com.panzhihua.sangeshenbian.model.entity.Complaint;
import com.baomidou.mybatisplus.extension.service.IService;
import com.panzhihua.sangeshenbian.model.query.ComplaintQuery;
import com.panzhihua.sangeshenbian.model.vo.ComplaintVO;
import com.panzhihua.sangeshenbian.model.vo.DispatchVO;
import java.util.List;
/**
*
* 问题报告表 服务类
*
*
* @author
* @since 2025-02-22
*/
public interface IComplaintService extends IService {
void saveComplaint(Complaint complaint,Long userId);
/**
* 诉求列表
* @param query
* @return
*/
Page complaintList(ComplaintQuery query);
/**
* 保存办理进度
* @param dto
*/
void saveProcess(ComplaintProcessDTO dto);
/**
* 办理结果录入
* @param dto
*/
void saveResult(ComplaintCompletionDTO dto);
/**
* 诉求上报
*/
void saveReport(ComplaintReportDTO dto, LoginUserInfoVO loginUserInfoVO);
/**
* 诉求下派
*/
void saveDispatch(ComplaintDispatch dto, LoginUserInfoVO loginUserInfoVO);
/**
* 上报审核
* @param complaintReporAuditDTO
* @param loginUserInfoVO
*/
void reportAudit(ComplaintReporAuditDTO complaintReporAuditDTO, LoginUserInfoVO loginUserInfoVO);
/**
* 延期申请
*/
void saveDelay(ComplaintDelayDTO dto, LoginUserInfoVO loginUserInfoVO);
/**
* 延期审核
*/
void delayAudit(ComplaintDelayAuditDTO complaintDelayAuditDTO, LoginUserInfoVO loginUserInfoVO);
List getDispatchList(LoginUserInfoVO loginUserInfoVO);
}