package com.zanxiang.game.module.mybatis.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author : lingfeng
 * @time : 2022-06-06
 * @description : 游戏列表
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Builder
@TableName("t_game")
public class Game implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 游戏ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * CP ID
     */
    private Long cpId;

    /**
     * 游戏名称
     */
    private String name;

    /**
     * 游戏类型
     */
    private Long category;

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

    /**
     * 投放类型, 0 : 导量APP, 1 : 头条直投APP,  2 : 腾讯直投APP, 3 : 头条私域投APP, 4 : 腾讯私域投APP
     */
    private Integer putType;

    /**
     * 游戏标签
     */
    private String tags;

    /**
     * 上线状态 1 : 未接入, 2 : 接入中, 3 : 上线, 4 : 下线
     */
    private Integer status;

    /**
     * 分成比例
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Double shareScale;

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

    /**
     * 关联H5游戏id
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long h5GameId;

    /**
     * 导量游戏id
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long guideGameId;

    /**
     * 游戏备注
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String remark;

    /**
     * 1 删除  0 正常
     */
    @TableLogic
    private Integer isDelete;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * H5游戏相关配置
     */
    private String h5GameConfig;

    /**
     * 广告媒体sdk配置
     */
    private String adSdkConfig;

    /**
     * 超父游戏id
     */
    private Long superGameId;

    /**
     * 安卓游戏id
     */
    private Long androidGameId;

    /**
     * ios游戏id
     */
    private Long iosGameId;

    /**
     * 导量游戏id
     */
    private String guideGameIds;

    /**
     * 是否通用包游戏
     */
    private Boolean isCommonGame;

    /**
     * 应用系统类型, IOS, Android
     */
    private String appType;

    /**
     * 是否虚拟游戏
     */
    private Boolean isUnrealGame;

    /**
     * 充值折扣
     */
    private BigDecimal rechargeRebate;

    /**
     * 是否使用监测链接
     */
    private Boolean isMonitorLink;

    /**
     * API回传开关
     */
    private Boolean apiBackSwitch;

    /**
     * 关闭充值开关
     */
    private Boolean rechargeCloseSwitch;

    /**
     * 关闭注册开关
     */
    private Boolean registerCloseSwitch;

}