| | |
| | | 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.AfterSaleTicketEscalateReqVO; |
| | | import cn.iocoder.yudao.module.aftersales.controller.admin.ticket.vo.ticket.AfterSaleTicketHandleReqVO; |
| | | 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.controller.admin.ticket.vo.ticket.AfterSaleTicketSignInReqVO; |
| | | import cn.iocoder.yudao.module.aftersales.controller.admin.ticket.vo.ticket.AfterSaleTicketStatisticsRespVO; |
| | | import cn.iocoder.yudao.module.aftersales.controller.admin.ticket.vo.ticket.AfterSaleTicketTransferReqVO; |
| | | import cn.iocoder.yudao.module.aftersales.dal.dataobject.ticket.AfterSaleTicketDO; |
| | | import cn.iocoder.yudao.module.aftersales.dal.dataobject.ticket.AfterSaleTicketItemDO; |
| | | import cn.iocoder.yudao.module.aftersales.dal.dataobject.ticket.AfterSaleTicketLogDO; |
| | | import jakarta.validation.Valid; |
| | | |
| | | import java.util.Collection; |
| | |
| | | /** |
| | | * 分配处理人 |
| | | * |
| | | * @param id 工单编号 |
| | | * @param handlerUserId 处理人用户编号 |
| | | * @param id 工单编号 |
| | | * @param handlerUserId 处理人用户编号 |
| | | * @param operatorUserId 操作人用户编号 |
| | | */ |
| | | void assignTicket(Long id, Long handlerUserId); |
| | | void assignTicket(Long id, Long handlerUserId, Long operatorUserId); |
| | | |
| | | /** |
| | | * 问题判定(确定问题类型、分类、严重程度) |
| | |
| | | * @param issueType 问题类型 |
| | | * @param issueCategory 问题分类 |
| | | * @param severityLevel 严重程度 |
| | | * @param operatorUserId 操作人用户编号 |
| | | */ |
| | | void classifyTicket(Long id, Integer issueType, String issueCategory, Integer severityLevel); |
| | | void classifyTicket(Long id, Integer issueType, String issueCategory, Integer severityLevel, Long operatorUserId); |
| | | |
| | | /** |
| | | * 完结工单 |
| | | * |
| | | * @param id 工单编号 |
| | | * @param operatorUserId 操作人用户编号 |
| | | */ |
| | | void resolveTicket(Long id); |
| | | void resolveTicket(Long id, Long operatorUserId); |
| | | |
| | | /** |
| | | * 关闭工单 |
| | | * |
| | | * @param id 工单编号 |
| | | * @param operatorUserId 操作人用户编号 |
| | | */ |
| | | void closeTicket(Long id); |
| | | void closeTicket(Long id, Long operatorUserId); |
| | | |
| | | /** |
| | | * 取消工单 |
| | | * |
| | | * @param id 工单编号 |
| | | * @param operatorUserId 操作人用户编号 |
| | | */ |
| | | void cancelTicket(Long id); |
| | | void cancelTicket(Long id, Long operatorUserId); |
| | | |
| | | /** |
| | | * 现场签到(记录位置信息,保障服务真实性) |
| | | * |
| | | * @param reqVO 签到信息 |
| | | * @param userId 操作人用户编号 |
| | | */ |
| | | void signInTicket(@Valid AfterSaleTicketSignInReqVO reqVO, Long userId); |
| | | |
| | | /** |
| | | * 转派工单 |
| | | * |
| | | * @param reqVO 转派信息 |
| | | * @param userId 操作人用户编号 |
| | | */ |
| | | void transferTicket(@Valid AfterSaleTicketTransferReqVO reqVO, Long userId); |
| | | |
| | | /** |
| | | * 升级工单 |
| | | * |
| | | * @param reqVO 升级信息 |
| | | * @param userId 操作人用户编号 |
| | | */ |
| | | void escalateTicket(@Valid AfterSaleTicketEscalateReqVO reqVO, Long userId); |
| | | |
| | | /** |
| | | * 新增处理记录 |
| | | * |
| | | * @param reqVO 处理记录 |
| | | * @param userId 操作人用户编号 |
| | | */ |
| | | void addHandleRecord(@Valid AfterSaleTicketHandleReqVO reqVO, Long userId); |
| | | |
| | | /** |
| | | * 获得工单操作/进度记录列表 |
| | | * |
| | | * @param ticketId 工单编号 |
| | | * @return 记录列表 |
| | | */ |
| | | List<AfterSaleTicketLogDO> getTicketLogList(Long ticketId); |
| | | |
| | | /** |
| | | * 获得工单助手统计 |
| | | * |
| | | * @param sceneType 场景类型 |
| | | * @param userId 用户编号 |
| | | * @return 统计结果 |
| | | */ |
| | | AfterSaleTicketStatisticsRespVO getTicketStatistics(Integer sceneType, Long userId); |
| | | |
| | | } |