package com.zanxiang.game.module.manage.pojo.params;

import com.zanxiang.game.module.base.pojo.dto.H5GameConfigDTO;
import com.zanxiang.game.module.manage.pojo.dto.GameAppletConfigDTO;
import lombok.Data;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import java.util.List;

/**
 * @author : lingfeng
 * @time : 2022-07-07
 * @description : 添加游戏参数
 */
@Data
public class GameAddParam {

    /**
     * 主键id, 传值为更新, 不传值为新增
     */
    private Long id;

    /**
     * cpId
     */
    @NotNull(message = "cpId不可为空")
    private Long cpId;

    /**
     * 游戏名称
     */
    @NotBlank(message = "游戏名称不可为空")
    private String name;

    /**
     * 是主父游戏
     */
    private Boolean isParentGame;

    /**
     * 分成比例
     */
    @NotNull(message = "分成比例不可为空")
    private Double shareScale;

    /**
     * 游戏分类, 多选
     */
    @NotEmpty(message = "游戏分类不可为空")
    private List<Long> tagIdList;

    /**
     * 游戏应用类型
     */
    @NotNull(message = "游戏应用类型不可为空")
    private Long category;

    /**
     * 游戏是否投放
     */
    private Boolean isPut;

    /**
     * 父游戏id
     */
    private Long parentGameId;

    /**
     * 关联H5游戏id
     */
    private Long h5GameId;

    /**
     * 导量游戏id
     */
    private Long guideGameId;

    /**
     * 游戏描述
     */
    private String remark;

    /**
     * 小游戏/公众号应用信息
     */
    private GameAppletConfigDTO gameAppletConfigDTO;

    /**
     * H5游戏配置对象
     */
    private H5GameConfigDTO h5GameConfigDTO;
}
