package cn.iocoder.yudao.module.aftersales.api; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.aftersales.api.dto.AfterSaleReturnRespDTO; import cn.iocoder.yudao.module.aftersales.api.dto.AfterSaleTicketRespDTO; import cn.iocoder.yudao.module.aftersales.api.dto.AfterSaleWarehouseReturnCreateReqDTO; import java.math.BigDecimal; /** * 售后工单 API 接口(供 MES/ERP 跨模块调用) */ public interface AfterSaleTicketApi { String PREFIX = "/rpc-api/aftersales/ticket"; /** * MES 退货质检完成后回调 * * @param returnId 退货申请编号 * @param qualityResult 质检结论 * @param reportUrl 质检报告 URL */ CommonResult onReturnQualityFinished(Long returnId, String qualityResult, String reportUrl); /** * MES 退货入库完成后回调 * * @param returnId 退货申请编号 */ CommonResult onReturnInboundFinished(Long returnId); /** * ERP 退款完成后回调 * * @param returnId 退货申请编号 * @param actualRefundPrice 实退金额 */ CommonResult onRefundCompleted(Long returnId, BigDecimal actualRefundPrice); /** * 仓储物流创建销售退货单后回调,用于在关联售后工单上留痕 * * @param reqDTO 退货单信息(销售订单编号、退货单号、退货原因等) */ CommonResult onWarehouseReturnCreated(AfterSaleWarehouseReturnCreateReqDTO reqDTO); /** * 查询售后工单(供 MES/ERP 查询关联信息) * * @param id 工单编号 */ CommonResult getTicket(Long id); /** * 查询退货申请(供 MES/ERP 查询关联信息) * * @param id 退货申请编号 */ CommonResult getReturn(Long id); }