package com.red.circle.console.app.dto.cmd.gm;

import com.red.circle.framework.core.dto.CommonCommand;
import jakarta.validation.constraints.NotNull;
import java.io.Serial;
import java.math.BigDecimal;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * GM金币操作申请.
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class GmGoldOperationCmd extends CommonCommand {

  @Serial
  private static final long serialVersionUID = 1L;

  /**
   * APP用户ID.
   */
  @NotNull
  private Long userId;

  /**
   * 操作类型: 0 增加, 1 扣除.
   */
  @NotNull
  private Integer operationType;

  /**
   * 金币数量.
   */
  @NotNull
  private BigDecimal quantity;

  /**
   * 原因类型.
   */
  @NotNull
  private Integer reasonType;

  /**
   * 工资/充值折算USD金额.
   */
  private BigDecimal usdQuantity;

  /**
   * 备注.
   */
  private String remarks;
}
