package com.bonus.core.account.v3.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bonus.core.account.v3.api.dto.AccRechargeSumApiDTO;
import com.bonus.core.account.v3.api.vo.AccRechargeSumApiVO;
import com.bonus.core.account.v3.app.dto.AppTradeDetailListDTO;
import com.bonus.core.account.v3.app.vo.AppAccTradePageVO;
import com.bonus.core.account.v3.model.AccTrade;
import com.bonus.core.account.v3.model.AccTradeWalletDetail;
import com.bonus.core.account.v3.mq.send.model.RepAccMqModel;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface AccTradeMapper extends BaseMapper<AccTrade> {

   Page<AppAccTradePageVO>  queryTradeAppPage(Page<AccTrade> page,@Param("infoParam") AppTradeDetailListDTO dto);

   List<RepAccMqModel> listAccTradeForSend(@Param("tradeIdList") List<Long> tradeIdList);

   AccRechargeSumApiVO getAccRechargeSum(@Param("param") AccRechargeSumApiDTO accRechargeSumApiDTO);

   AppAccTradePageVO getOneTradeApp(@Param("tradeId") Long tradeId);

   List<AccTradeWalletDetail> listAccSubsidyTrade(@Param("custId") Long custId, @Param("tradeTypeList") List<Integer> tradeTypeList);
}
