package com.bonus.core.pay.common.service;

import com.bonus.core.pay.api.vo.UnifyPayVO;
import com.bonus.core.pay.api.vo.UnifyRefundVO;
import com.bonus.core.pay.common.model.TradeOrderRecharge;
import com.bonus.core.pay.common.model.TradeRecord;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

public interface TradeRecordService {

   void insertTrade(TradeRecord tradeRecord, List<TradeOrderRecharge> tradeOrderRechargeList);

   void updateTradeRecordState(Long tradeId, UnifyPayVO payVO);

   void updateTradeRecordState(Long tradeId, UnifyRefundVO refundVO);

   TradeRecord getTradeRecordById(Long tradeId);

   List<TradeOrderRecharge> queryOrderRechargeTrade(Long tradeId);

   TradeRecord getTradeRecordByOrderRechargeId(Long orderRechargeId, Integer... tradeState);

   void insertTradeRecord(TradeRecord tradeRecord);

   void insertOrderRechargeTrade(List<TradeOrderRecharge> tradeOrderRechargeList);
}
