package cn.iocoder.yudao.module.aftersales.service.ticket;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.module.aftersales.controller.admin.ticket.vo.ticket.AfterSaleTicketPageReqVO;
|
import cn.iocoder.yudao.module.aftersales.controller.admin.ticket.vo.ticket.AfterSaleTicketSaveReqVO;
|
import cn.iocoder.yudao.module.aftersales.dal.dataobject.ticket.AfterSaleTicketDO;
|
import cn.iocoder.yudao.module.aftersales.dal.dataobject.ticket.AfterSaleTicketItemDO;
|
import jakarta.validation.Valid;
|
|
import java.util.Collection;
|
import java.util.List;
|
|
/**
|
* 售后工单 Service 接口
|
*/
|
public interface AfterSaleTicketService {
|
|
/**
|
* 创建工单
|
*
|
* @param createReqVO 创建信息
|
* @param userId 用户编号
|
* @return 编号
|
*/
|
Long createTicket(@Valid AfterSaleTicketSaveReqVO createReqVO, Long userId);
|
|
/**
|
* 更新工单
|
*
|
* @param updateReqVO 更新信息
|
*/
|
void updateTicket(@Valid AfterSaleTicketSaveReqVO updateReqVO);
|
|
/**
|
* 删除工单
|
*
|
* @param id 编号
|
*/
|
void deleteTicket(Long id);
|
|
/**
|
* 获得工单
|
*
|
* @param id 编号
|
* @return 工单
|
*/
|
AfterSaleTicketDO getTicket(Long id);
|
|
/**
|
* 获得工单列表
|
*
|
* @param ids 编号列表
|
* @return 工单列表
|
*/
|
List<AfterSaleTicketDO> getTicketList(Collection<Long> ids);
|
|
/**
|
* 获得工单分页
|
*
|
* @param pageReqVO 分页查询
|
* @param userId 用户编号
|
* @return 工单分页
|
*/
|
PageResult<AfterSaleTicketDO> getTicketPage(AfterSaleTicketPageReqVO pageReqVO, Long userId);
|
|
/**
|
* 获得工单明细行列表
|
*
|
* @param ticketId 工单编号
|
* @return 明细行列表
|
*/
|
List<AfterSaleTicketItemDO> getTicketItemListByTicketId(Long ticketId);
|
|
/**
|
* 分配处理人
|
*
|
* @param id 工单编号
|
* @param handlerUserId 处理人用户编号
|
*/
|
void assignTicket(Long id, Long handlerUserId);
|
|
/**
|
* 问题判定(确定问题类型、分类、严重程度)
|
*
|
* @param id 工单编号
|
* @param issueType 问题类型
|
* @param issueCategory 问题分类
|
* @param severityLevel 严重程度
|
*/
|
void classifyTicket(Long id, Integer issueType, String issueCategory, Integer severityLevel);
|
|
/**
|
* 完结工单
|
*
|
* @param id 工单编号
|
*/
|
void resolveTicket(Long id);
|
|
/**
|
* 关闭工单
|
*
|
* @param id 工单编号
|
*/
|
void closeTicket(Long id);
|
|
/**
|
* 取消工单
|
*
|
* @param id 工单编号
|
*/
|
void cancelTicket(Long id);
|
|
}
|