package cn.iocoder.yudao.module.crm.service.refund; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.crm.controller.admin.refund.vo.CrmRefundAuditReqVO; import cn.iocoder.yudao.module.crm.controller.admin.refund.vo.CrmRefundPageReqVO; import cn.iocoder.yudao.module.crm.controller.admin.refund.vo.CrmRefundRespVO; import cn.iocoder.yudao.module.crm.controller.admin.refund.vo.CrmRefundSaveReqVO; import jakarta.validation.Valid; import java.util.List; import java.util.Map; public interface CrmRefundService { Long createRefund(@Valid CrmRefundSaveReqVO createReqVO); void updateRefund(@Valid CrmRefundSaveReqVO updateReqVO); void deleteRefund(Long id); CrmRefundRespVO getRefund(Long id); PageResult getRefundPage(CrmRefundPageReqVO pageReqVO); List getRefundList(CrmRefundPageReqVO reqVO); void auditRefund(@Valid CrmRefundAuditReqVO auditReqVO); void submitRefund(Long id, String processDefinitionKey, Long userId); void updateRefundAuditStatus(Long id, Integer bpmResult); List> getRefundApproveProcessDefinitionList(); }