package com.m2pool.lease.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.m2pool.lease.dto.PaymentCallbackDto;
import com.m2pool.lease.dto.PaymentRecordDto;
import com.m2pool.lease.dto.Result;
import com.m2pool.lease.entity.LeasePaymentRecord;
import com.m2pool.lease.vo.BaseVo;
import com.m2pool.lease.vo.CheckPayStatusVo;
import com.m2pool.lease.vo.OrderVo;
import org.springframework.web.bind.annotation.RequestBody;

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

/**
 * <p>
 * 支付记录表 服务类
 * </p>
 *
 * @author yyb
 * @since 2025-07-23
 */
public interface LeasePaymentRecordService extends IService<LeasePaymentRecord> {


    /**
     * 创建支付订单
     *
     * @param orderVo
     * @return
     */
    Result<List<PaymentRecordDto>> addPayOrder(OrderVo orderVo);

    /**
     * 根据订单id查询支付订单
     *
     * @param orderVo
     * @return
     */
    Result<List<PaymentRecordDto>> getPayOrderByOrderId( OrderVo orderVo);
    /**
     * 支付回调结果---校验支付是否成功（批量校验）
     *
     * @param checkPayStatusVoList
     * @return
     */
    Result<List<PaymentCallbackDto>> paymentCallbackBatch(List<CheckPayStatusVo> checkPayStatusVoList);


    /**
     * 支付回调结果----根据支付订单id校验支付是否成功(单个校验)
     * @param checkPayStatusVo
     * @return
     */
    Result<PaymentCallbackDto> paymentCallbackByPayId(CheckPayStatusVo checkPayStatusVo);



    /**
     * 支付回调结果-----用于定时任务
     * @param leasePaymentRecordList
     * @return
     */
    void paymentCallbackTask(List<LeasePaymentRecord> leasePaymentRecordList);
}
