package com.red.circle.wallet.inner.model.cmd;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.red.circle.common.business.core.enums.ReceiptType;
import com.red.circle.common.business.core.enums.SysOriginPlatformEnum;
import com.red.circle.framework.dto.Command;
import com.red.circle.wallet.inner.model.enums.FreightBalanceOrigin;
import java.math.BigDecimal;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 用户货运账户流水.
 * </p>
 *
 * @author pengshigang
 * @since 2021-07-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class FreightBalanceRunningWaterCmd extends Command {

  private static final long serialVersionUID = 1L;

  /**
   * 主键标识.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long id;

  /**
   * 来源系统.
   */
  private SysOriginPlatformEnum sysOrigin;

  /**
   * 用户id.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long userId;

  /**
   * 接收用户.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long acceptUserId;

  /**
   * 类型0.收入 1.支出.
   */
  @JsonSerialize(using = ToStringSerializer.class)
  private ReceiptType type;

  /**
   * 数量.
   */
  private BigDecimal acceptAmount;

  /**
   * 订单金额.
   */
  private BigDecimal orderAmount;

  /**
   * usd数量.
   */
  private BigDecimal usdAmount;

  /**
   * 来源.
   */
  private FreightBalanceOrigin origin;

  /**
   * 备注.
   */
  private String remark;

  /**
   * 充值类型.
   */
  private String rechargeType;

  /**
   * 创建用户.
   */
  private Long createUser;

}
