package com.ff.api.request; import com.ff.validation.ListSizeCheck; import lombok.Data; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.Max; import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.math.BigDecimal; import java.util.List; /** * 游戏赠送免费的局数 * * @author shi * @date 2025/02/12 */ @Data public class GameCreateFreeSpinRequest implements Serializable { private final static long serialVersionUID = -8079805496329012394L; /** * 玩家账号 (JILI 新玩家则会自动创立账号) */ @NotBlank(message = "account不能为空") @Length(max = 64, message = "account长度不能超过64个字符") private String account; /** * 玩家游戏平台 */ @NotBlank(message = "platformCode不能为空") @Length(max = 64, message = "platformCode长度不能超过64个字符") private String platformCode; /** * 玩家使用货币 */ @NotBlank(message = "currencyCode不能为空") @Length(max = 32, message = "currencyCode长度不能超过32个字符") private String currencyCode; /** * 免费局数序号, 长度上限 40 */ @NotBlank(message = "referenceId不能为空") @Length(min = 1, max = 40, message = "referenceId长度不能超过40") private String referenceId; /** * 有效期限 * * */ @NotNull(message = "freeSpinValidity不能为空") @Min(value = 1, message = "freeSpinValidity最小值为1") private Long freeSpinValidity; /** * 局数 */ @NotNull(message = "numberOfRounds不能为空") private Integer numberOfRounds; /** * 可使用游戏 ID, * 长度 上限 200 */ @NotNull(message = "gameIds不能为空") @ListSizeCheck(message = "gameIds不得超过200", maxSize = 200) private List gameIds; /** * 指定投注额; * 未指定时, 一律使用游戏中的最小投注额 */ private BigDecimal betValue; /** * 免费游戏局数可使用的开始时间 * 未带此参数时, 赠送后玩家可以立即使用 */ private Long startTime; }