package org.dromara.settlement.mapper;

import org.apache.ibatis.annotations.Param;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.settlement.api.domain.AccountLog;

import java.util.List;

public interface AccountLogMapper extends BaseMapperPlus<AccountLog, Long> {
	/**
	 * 查询已同步的交易流水号
	 * @author 张涛
	 * @date 2021年9月6日
	 * @param accId 账户id
	 * @param trxnbrs 验证的流水号（多个逗号分隔）
	 * @param beginTime 交易开始时间
	 * @param endTime 交易结束时间
	 * @return
	 */
	public List<String> selectTrxnbrByAccId(@Param("accId") int accId,@Param("trxnbrs") String trxnbrs,@Param("beginTime") String beginTime,@Param("endTime") String endTime);

	/**
	 * 查询已同步的内部交易流水号
	 * @author 张涛
	 * @date 2021年9月6日
	 * @param accId 账户id
	 * @param trxnbrs 验证的流水号（多个逗号分隔）
	 * @param beginTime 交易开始时间
	 * @param endTime 交易结束时间
	 * @return
	 */
	public List<AccountLog> selectNarinnByAccId(@Param("accId") int accId,@Param("trxnbrs") String trxnbrs,@Param("beginTime") String beginTime,@Param("endTime") String endTime);

	/**
	 * 批量插入
	 * @author 张涛
	 * @date 2016年6月23日
	 * @param list
	 * @return
	 */
	public int insertAll(@Param("list") List<AccountLog> list);

	/**
	 * 查询账户大于指定id的交易记录
	 * @author 张涛
	 * @date 2021年9月10日
	 * @param accId 账户id
	 * @param minId 最小流水id
	 * @param trxdir 流水方向（1:收入 2:支出）
	 * @return
	 */
	public List<AccountLog> selectByAccId(@Param("accId") int accId,@Param("minId") long minId,@Param("trxdir") Short trxdir);
}
