package com.red.circle.other.app.dto.cmd.gift;

import com.red.circle.common.business.dto.cmd.AppExtCommand;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Range;

/**
 * 赠送礼物背包.
 *
 * @author pengliang on 2020/6/1
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class GiveAwayGiftBackpackCmd extends AppExtCommand {

  /**
   * 礼物背包id.
   *
   * @eo.required
   */
  @NotNull(message = "id required.")
  private Long id;

  /**
   * 接收人.
   *
   * @eo.required
   */
  @NotNull(message = "acceptUserId required.")
  private Long acceptUserId;

  /**
   * 礼物id.
   *
   * @eo.required
   */
  @NotNull(message = "giftId required.")
  private Long giftId;

  /**
   * 礼物数量.
   *
   * @eo.required
   */
  @Range(min = 1, max = 7777, message = "quantity range 1~7777")
  @NotNull(message = "quantity required.")
  private Integer quantity;

  /**
   * 房间id.
   *
   * @eo.required
   */
  private Long roomId;

  /**
   * 座位号.
   */
  private Integer seatIndex;

  /**
   * 已点歌曲唯一标识ID(不是歌曲配置id而是已点歌曲id).
   */
  private Long songId;

}
