package com.cyksj.service.order;

import com.cyksj.model.entity.*;
import com.cyksj.model.request.OrderRefundReq;

import java.math.BigDecimal;

/**
 * 项目名: yhlxj
 * 文件名: OrderRefundService
 * 创建者: JavaZou
 * 创建时间:2023/12/4 14:36
 */
public interface OrderRefundService {

	String centerRefund(OrderRefundReq refundReq, OrderDon orderDon) throws Exception;
	String centerUpgradeRefund(OrderRefundReq refundReq, UpgradeOrderDon orderDon) throws Exception;

	/**
	 * 退款记录
	 */
	void refundRecord(OrderDon orderDon, BigDecimal refundMoney, BigDecimal refundBalance, String operator, GoodsDon goodsDon, GoodsDonSku sku, String outRefundNo, String refundType, String chatImg);

	/**
	 * 套餐包退款记录
	 */
	void refundUpgradeRecord(UpgradeOrderDon orderDon, BigDecimal refundMoney, BigDecimal refundBalance, UpgradePackage upgradePackage, String operator, String outRefundNo, String refundType, String chatImg);

	String refundWholesaleUserDeposit(GoodsWholesaleUserDeposit goodsWholesaleUserDeposit) throws Exception;

	String refundWholesaleOrder(GoodsWholesaleOrderDon orderDon) throws Exception;

	String refundUserMirrorShopFee(UserMirrorShopFeeOrderDon orderDon) throws Exception;

	void refundSpotifyUpgrade(Long orderId) throws Exception;

	String vipCenterRefund(OrderRefundReq refundReq, VipOrderDon orderDon) throws Exception;
}
