package org.dromara.settlement.mapper;

import java.util.List;

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

public interface TransactionLogMapper extends BaseMapperPlus<TransactionLog, Long> {
	/**
	 * 锁定交易记录
	 * @author 张涛
	 * @date 2021年9月6日
	 * @param id 交易记录id
	 * @return
	 */
	public Integer lock(@Param("id") long id);

	/**
	 * 解锁交易记录
	 * @author 张涛
	 * @date 2021年9月6日
	 * @param id 交易记录id
	 * @return
	 */
	public Integer unlock(@Param("id") long id);

	/**
	 * 记录交易的回执单地址
	 *
	 * @param bankType 银行类型
	 * @param trans    回执单列表
	 * @return
	 * @author 张涛
	 * @date 2022年8月3日
	 */
	public Integer updatePayReceipt(@Param("bankType") String bankType, @Param("trans") List<TransactionLog> trans);

	/**
	 * 查询交易记录
	 *
	 * @param sourceCard   付款方卡号
	 * @param sourceBankNo 付款交易号(银行流水号)
	 * @return
	 */
	public TransactionLog selectBySourceBankNo(@Param("sourceCard") String sourceCard, @Param("sourceBankNo") String sourceBankNo);

    int updateByPrimaryKeySelective(TransactionLog record);

    int insertSelective(TransactionLog record);

    public TransactionLog selectByPrimaryKey(Long id);
}
