package com.hfkj.service.order;

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

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @className: BsOrderRefundService
 * @author: HuRui
 * @date: 2024/5/14
 **/
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 productCount 退款产品数量
     * @return
     */
    BsOrderRefund tradeOrderChildRefund(String childOrderNo, Integer productCount, String remark);

    /**
     * @MethodName meiTuanRefund
     * @Description: 美团退款
     * @param tradeRefundNo
     * @param remark
     * @param refundPrice
     * @return: com.hfkj.entity.BsOrderRefund
     * @Author: Sum1Dream
     * @Date: 2024/9/18 下午4:33
     */
    BsOrderRefund meiTuanRefund(String tradeRefundNo, String tradeNo , BigDecimal refundPrice, String remark);

    /**
     * 查询退款
     * @param refundOrderNo 退款单号
     * @return
     */
    BsOrderRefund getRefund(String refundOrderNo);
    /**
     * @MethodName getRefundByTradeRefundNo
     * @Description:
     * @param tradeRefundNo 
     * @return: com.hfkj.entity.BsOrderRefund
     * @Author: Sum1Dream
     * @Date: 2024/9/23 上午11:16
     */
    BsOrderRefund getRefundByTradeRefundNo(String tradeRefundNo);
    /**
     * 查询退款列表
     * @param param
     * @return
     */
    List<BsOrderRefund> getRefundList(Map<String,Object> param);
}
