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

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

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

/**
 * @author : lingfeng
 * @time : 2023-08-07
 * @description : 游戏区服
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@Builder
@TableName("t_game_server")
public class GameServer implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 游戏id
     */
    private Long gameId;

    /**
     * 区服id
     */
    private String serverId;

    /**
     * 区服名称
     */
    private String serverName;

    /**
     * 区服冠名
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String nickName;

    /**
     * 开服时间
     */
    private LocalDateTime startTime;

    /**
     * 是否原始服
     */
    private Boolean isSourceServer;

    /**
     * 合服的主服id
     */
    private String mainServerId;

    /**
     * 是否参与合服
     */
    private Boolean isMerge;

    /**
     * 合服包含的子服列表
     */
    private String sonServerIds;

    /**
     * 合服包含的原始服列表
     */
    private String sourceServerIds;

    /**
     * 合服时间
     */
    private LocalDateTime mergeTime;

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

    /**
     * 创建者
     */
    private Long createBy;

    /**
     * 更新者
     */
    private Long updateBy;

    /**
     * 指派客服ids
     */
    private String customerIds;

    /**
     * 指派GS的ids
     */
    private String gsIds;

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

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