package com.zanxiang.game.gs.data.serve.pojo.entity.game.order;

import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 游戏表 实体类。
 *
 * @author shaosong
 * @since 1.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(value = "t_game")
public class Game {

    /**
     * SDK来源
     */
    @Column(value = "source_system")
    private String sourceSystem;

    /**
     * 游戏ID
     */
    @Column(value = "id")
    private Integer id;

    /**
     * 游戏名称
     */
    @Column(value = "game_name")
    private String gameName;

    /**
     * 游戏的拼音
     */
    @Column(value = "en_name")
    private String enName;

    /**
     * 首字母
     */
    @Column(value = "en_abbr")
    private String enAbbr;

    /**
     * appkey
     */
    @Column(value = "app_key")
    private String appKey;

    /**
     * 游戏标签
     */
    @Column(value = "tags")
    private String tags;

    /**
     * 游戏类型
     */
    @Column(value = "category")
    private String category;

    /**
     * 游戏类别,3开头为android 4 开头为IOS 5 开头为H5 6开头为小程序 对应于game_class中的ID
     */
    @Column(value = "classify")
    private Integer classify;

    /**
     * CP回调路径
     */
    @Column(value = "cp_payback_url")
    private String cpPaybackUrl;

    /**
     * CP ID
     */
    @Column(value = "cp_id")
    private Integer cpId;

    /**
     * 父游戏ID
     */
    @Column(value = "parent_id")
    private Integer parentId;

    /**
     * 包名
     */
    @Column(value = "package_name")
    private String packageName;

    /**
     * 上线时间
     */
    @Column(value = "run_time")
    private LocalDateTime runTime;

    /**
     * 创建时间
     */
    @Column(value = "create_time")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @Column(value = "update_time")
    private LocalDateTime updateTime;

    /**
     * 删除时间
     */
    @Column(value = "delete_time")
    private LocalDateTime deleteTime;

    /**
     * 添加CP时间
     */
    @Column(value = "add_cp_time")
    private LocalDateTime addCpTime;

    /**
     * 苹果应用ID
     */
    @Column(value = "apple_id")
    private String appleId;

    /**
     * 扩展 JSON格式 hot_image fine_image rebate_description  vip_description fine_description
     */
    @Column(value = "ext_info")
    private String extInfo;

    /**
     * 游戏互跳，1为互跳，2为不互跳
     */
    @Column(value = "jump_switch")
    private Integer jumpSwitch;

    /**
     * 是否推广,1为推广,2为不推广
     */
    @Column(value = "is_push")
    private Integer isPush;

    /**
     * 是否异常,1为异常,2为不异常
     */
    @Column(value = "is_exp")
    private Integer isExp;

    /**
     * 支付切换，1为切换，2为不切换
     */
    @Column(value = "pay_switch")
    private Integer paySwitch;

    /**
     * 是否开启订单切量 1否 2是
     */
    @Column(value = "order_switch")
    private Integer orderSwitch;

    /**
     * 支付显示，1为不显示，2为显示
     */
    @Column(value = "pay_show")
    private Integer payShow;

    /**
     * 1 不显示浮点 2 显示浮点
     */
    @Column(value = "float_is_show")
    private Integer floatIsShow;

    /**
     * 上线状态1 接入中， 2 可上线,3 已下线
     */
    @Column(value = "status")
    private Integer status;

    /**
     * 1 伪删除  2 正常
     */
    @Column(value = "is_delete", isLogicDelete = true)
    private Integer isDelete;

    /**
     * 1在线游戏 2 单机
     */
    @Column(value = "is_online")
    private Integer isOnline;

    /**
     * 1 不是SDK游戏  2 是SDK游戏
     */
    @Column(value = "is_sdk")
    private Integer isSdk;

    /**
     * 分成比例
     */
    @Column(value = "share_scale")
    private Double shareScale;

    /**
     * 关联h5游戏id
     */
    @Column(value = "h5_game_id")
    private Long h5GameId;

    /**
     * 导量游戏id
     */
    @Column(value = "guide_game_id")
    private Long guideGameId;

    /**
     * 游戏地址
     */
    @Column(value = "game_url")
    private String gameUrl;

    /**
     * 版本
     */
    @Column(value = "version")
    private String version;

    /**
     * 下载次数
     */
    @Column(value = "download_count")
    private Long downloadCount;

    /**
     * 游戏分类父id,多个
     */
    @Column(value = "classify_parent")
    private String classifyParent;

    /**
     * 超父游戏ID
     */
    @Column(value = "super_game_id")
    private Long superGameId;

    /**
     * 导量游戏ID
     */
    @Column(value = "guide_game_ids")
    private String guideGameIds;

    /**
     * 是否通用包游戏
     */
    @Column(value = "is_common_game")
    private Integer isCommonGame;

    /**
     * APP类型
     */
    @Column(value = "app_type")
    private String appType;


}
