package com.red.circle.console.infra.database.mongo.app.service.bank;

import com.red.circle.console.infra.database.mongo.app.entity.SysUserBankRunningWater;

import java.util.List;

/**
 * 用户银行卡流水.
 *
 * @author pengliang on 2023/2/15
 */
public interface SysUserBankRunningWaterService {

  /**
   * 添加流水.
   */
  void add(SysUserBankRunningWater runningWater);

  /**
   * 批量插入流水.
   */
  void addBatch(List<SysUserBankRunningWater> runningWaters);

  /**
   * 获取指定流水跟踪id.
   */
  String getTrackIdById(Long id);

  /**
   * 用户最新流水记录.
   */
  List<SysUserBankRunningWater> listLast(Long userId, Integer size);

  /**
   * 是否存在跟踪id.
   */
  boolean existsTrackId(String trackId);

  /**
   * 是否存在跟踪id.
   */
  boolean existsTrackId(Long userId, String event, String trackId);


}
