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


import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author : lingfeng
 * @time : 2023-08-07
 * @description : 游戏区服
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class GameServerListVO {

    /**
     * 主键id
     */
    
    private Long id;

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

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

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

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

    /**
     * 区服冠名
     */
    
    private String nickName;

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

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

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

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

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

    /**
     * 合服的主服名称
     */
    
    private String mainServerName;

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

    /**
     * 合服包含的子服列表
     */
    
    private List<ServerBean> sonServerList;

    /**
     * 合服包含的原始服列表
     */
    
    private List<ServerBean> sourceServerList;

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

    /**
     * 指派客服列表
     */
    
    private List<UserBean> customerList;

    /**
     * 指派GS列表
     */
    
    private List<UserBean> gsList;

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @Builder
    public static class ServerBean {

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

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

    }

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @Builder
    public static class UserBean {

        /**
         * 人员id
         */
        
        private Long userId;

        /**
         * 人员名称
         */
        
        private String userName;

    }
}
