game-api/ff-game/src/main/java/com/ff/api/request/GameCreateFreeSpinRequest.java

90 lines
2.3 KiB
Java

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<Long> gameIds;
/**
* 指定投注额;
* 未指定时, 一律使用游戏中的最小投注额
*/
private BigDecimal betValue;
/**
* 免费游戏局数可使用的开始时间
* 未带此参数时, 赠送后玩家可以立即使用
*/
private Long startTime;
}