package com.leromro.core.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.leromro.core.domain.OrderRefund;
import com.leromro.core.domain.vo.OrderRefundVO;

/**
 * 订单取消/退款Service接口
 * 
 * @author ruoyi
 * @date 2025-04-21
 */
public interface IOrderRefundService extends IService<OrderRefund>
{
    /**
     * 查询订单取消/退款
     * 
     * @param orderRefundId 订单取消/退款主键
     * @return 订单取消/退款
     */
    public OrderRefund selectLOrderRefundByOrderRefundId(Long orderRefundId);

    /**
     * 查询订单取消/退款列表
     * 
     * @param orderRefund 订单取消/退款
     * @return 订单取消/退款集合
     */
    public List<OrderRefund> selectLOrderRefundList(OrderRefund orderRefund);

    /**
     * 新增订单取消/退款
     * 
     * @param orderRefund 订单取消/退款
     * @return 结果
     */
    public Boolean insertLOrderRefund(OrderRefund orderRefund);

    /**
     * 修改订单取消/退款
     * 
     * @param orderRefund 订单取消/退款
     * @return 结果
     */
    public Boolean updateLOrderRefund(OrderRefund orderRefund);

    /**
     * 批量删除订单取消/退款
     * 
     * @param orderRefundIds 需要删除的订单取消/退款主键集合
     * @return 结果
     */
    public int deleteLOrderRefundByOrderRefundIds(Long[] orderRefundIds);

    /**
     * 删除订单取消/退款信息
     * 
     * @param orderRefundId 订单取消/退款主键
     * @return 结果
     */
    public int deleteLOrderRefundByOrderRefundId(Long orderRefundId);

    OrderRefundVO selectOrderRefundByMainOrderId(Long mainOrderId);

    void checkOrderRefund(OrderRefund orderRefund);
}
