package com.red.circle.wallet.app.dto.clientobject;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.red.circle.framework.dto.ClientObject;
import java.math.BigDecimal;
import java.sql.Timestamp;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 用户银行卡流水.
 *
 * @author pengliang on 2023/2/20
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class UserBankWaterCO extends ClientObject {

  /**
   * 记录id.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long id;

  /**
   * 收支类型(0.收入 1.支出)
   */
  private Integer type;

  /**
   * 金额.
   */
  private BigDecimal amount;

  /**
   * 提现手续费比例.
   */
  private Long serviceCharge;

  /**
   * 实际提现金额.
   */
  private BigDecimal actualAmount;

  /**
   * 事件.
   */
  private String event;

  /**
   * 事件描述.
   */
  private String eventDescribe;

  /**
   * 余额.
   */
  private BigDecimal balance;

  /**
   * 跟踪id.
   */
  private String trackId;

  /**
   * 详情.
   */
  private Object details;

  /**
   * 创建时间.
   */
  private Timestamp createTime;

}
