package cn.iocoder.yudao.module.aftersales.service.compensation; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.aftersales.controller.admin.compensation.vo.AfterSaleCompensationAuditReqVO; import cn.iocoder.yudao.module.aftersales.controller.admin.compensation.vo.AfterSaleCompensationPageReqVO; import cn.iocoder.yudao.module.aftersales.controller.admin.compensation.vo.AfterSaleCompensationSaveReqVO; import cn.iocoder.yudao.module.aftersales.dal.dataobject.compensation.AfterSaleCompensationDO; import java.util.List; import java.util.Map; /** * 售后赔付/服务补偿单 Service 接口 */ public interface AfterSaleCompensationService { Long createCompensation(AfterSaleCompensationSaveReqVO createReqVO); void updateCompensation(AfterSaleCompensationSaveReqVO updateReqVO); void deleteCompensation(Long id); AfterSaleCompensationDO getCompensation(Long id); PageResult getCompensationPage(AfterSaleCompensationPageReqVO pageReqVO); /** * 提交赔付单审批 */ void submitCompensation(Long id, String processDefinitionKey, Long userId); /** * 审批赔付单(通过/驳回) */ void auditCompensation(AfterSaleCompensationAuditReqVO auditReqVO); /** * 更新赔付单审批状态(BPM 监听回调) */ void updateCompensationAuditStatus(Long id, Integer bpmResult); /** * 获得赔付单审批流程定义列表 */ List> getCompensationApproveProcessDefinitionList(); }