package com.hotwj.platform.pay.service;

import com.hotwj.platform.pay.controller.vo.PayRechargeStatusRespVO;
import com.hotwj.platform.pay.controller.vo.PayRechargeChannelRespVO;
import com.hotwj.platform.pay.controller.vo.PayRechargeUnifiedOrderReqVO;
import com.hotwj.platform.pay.controller.vo.PayRechargeUnifiedOrderRespVO;
import com.hotwj.platform.pay.controller.vo.PayWalletBalanceRespVO;
import jakarta.servlet.http.HttpServletRequest;

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

public interface PayRechargeOpenService {

    PayRechargeUnifiedOrderRespVO unifiedOrder(PayRechargeUnifiedOrderReqVO reqVO, HttpServletRequest request);

    List<PayRechargeChannelRespVO> listRechargeChannels();

    PayWalletBalanceRespVO queryWalletBalance(Long walletType);

    PayRechargeStatusRespVO queryRechargeStatus(String rechargeOrderNo);

    String handleAlipayNotify(Long channelId, Map<String, String> params);

    String handleWechatNotify(Long channelId, String body, HttpServletRequest request);

    void compensatePayOrders();
}
