package com.yc.ship.module.trade.service.pay;


import cn.hutool.json.JSONObject;
import com.yc.ship.module.trade.controller.admin.order.vo.order.PayOrderReqVO;
import com.yc.ship.module.trade.dal.dataobject.order.TradeMchInfoDO;
import com.yc.ship.module.trade.dal.dataobject.order.TradeOrderPayDO;
import com.yc.ship.module.trade.dal.dataobject.refund.RefundDO;
import com.yc.ship.module.trade.dal.dataobject.refund.RefundRecordDO;

import java.util.Map;

/**
 * &#064;Description ：支付平台服务
 * &#064;Author ：qsl
 * &#064;Date ：2025/7/7 20:54
 * @author qsl
 */
public interface PayPlatService {

    /**
     * 创建支付订单
     */
    JSONObject createPayOrder(PayOrderReqVO payOrderReqVO, TradeOrderPayDO tradeOrderPayDO, TradeMchInfoDO tradeMchInfoDO);

    JSONObject createDeposiPayOrder(PayOrderReqVO payOrderReqVO, TradeOrderPayDO tradeOrderPayDO, TradeMchInfoDO tradeMchInfoDO);
    JSONObject createBcPayOrder(PayOrderReqVO payOrderReqVO, TradeOrderPayDO tradeOrderPayDO, TradeMchInfoDO tradeMchInfoDO);

    /**
     * 创建退款
     */
    JSONObject createRefundOrder(RefundRecordDO refundRecordDO, RefundDO refundDO, TradeOrderPayDO tradeOrderPayDO, TradeMchInfoDO tradeMchInfoDO);

    /**
     * 支付反查
     */
    JSONObject payOrderQuery(TradeOrderPayDO tradeOrderPayDO, TradeMchInfoDO tradeMchInfoDO);

    /**
     * 退款反查
     */
    JSONObject refundQuery(RefundRecordDO refundRecordDO, TradeMchInfoDO tradeMchInfoDO);
}
