package com.hfkj.service.order;

import com.hfkj.entity.BsOrderRefund;
import com.hfkj.model.order.OrderModel;

import java.util.List;
import java.util.Map;

/**
 * @className: BsOrderRefundService
 * @author: HuRui
 * @date: 2024/6/21
 **/
public interface BsOrderRefundService {

    /**
     * 编辑数据
     * @param data
     */
    void editData(BsOrderRefund data);

    /**
     * 退款金额
     * @return
     */
    Boolean refundMoney(BsOrderRefund orderRefund);

    /**
     * 交易订单退款
     * @param orderNo
     * @return
     */
    OrderModel tradeOrderRefund(String orderNo, String remark);

    /**
     * 交易子订单退款
     * @param childOrderNo 子订单号
     * @param handleBusiness 处理业务 true:处理  false：不处理
     * @param productCount 退款产品数量
     * @param remark 备注
     * @return
     */
    BsOrderRefund tradeOrderChildRefund(String childOrderNo, Boolean handleBusiness, Integer productCount, String remark);

    /**
     * 查询退款
     * @param refundOrderNo 退款单号
     * @return
     */
    BsOrderRefund getRefund(String refundOrderNo);

    /**
     * 根据子订单号查询退款中的订单
     * @param childOrderNo
     * @return
     */
    BsOrderRefund getRefundByChildOrderNo(String childOrderNo);
    /**
     * 根据子订单号查询退款中的订单
     * @param orderNo
     * @return
     */
    BsOrderRefund getRefundByOrderNo(String orderNo);

    /**
     * 查询退款列表
     * @param param
     * @return
     */
    List<BsOrderRefund> getRefundList(Map<String,Object> param);
}
