package com.ruoyi.ss.transfer.mapper;

import com.ruoyi.ss.transfer.domain.Transfer;
import com.ruoyi.ss.transfer.domain.TransferQuery;
import com.ruoyi.ss.transfer.domain.TransferVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 转账Mapper接口
 *
 * @author ruoyi
 * @date 2024-08-09
 */
public interface TransferMapper
{
    /**
     * 查询转账
     *
     * @param batchId 转账主键
     * @return 转账
     */
    public TransferVO selectTransferByBatchId(Long batchId);

    /**
     * 查询转账列表
     *
     * @param query 转账
     * @return 转账集合
     */
    public List<TransferVO> selectTransferList(@Param("query")TransferQuery query);

    /**
     * 新增转账
     *
     * @param transfer 转账
     * @return 结果
     */
    public int insertTransfer(Transfer transfer);

    /**
     * 修改转账
     *
     * @param transfer 转账
     * @return 结果
     */
    public int updateTransfer(@Param("data") Transfer transfer);

    /**
     * 删除转账
     *
     * @param batchId 转账主键
     * @return 结果
     */
    public int deleteTransferByBatchId(Long batchId);

    /**
     * 批量删除转账
     *
     * @param batchIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTransferByBatchIds(Long[] batchIds);

    /**
     * 批次单号查询
     */
    TransferVO selectByBatchNo(String batchNo);

    /**
     * 条件修改
     */
    int updateByQuery(@Param("data") Transfer data, @Param("query") TransferQuery query);
}
