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

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

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 角色父游戏充值数据 实体类。
 *
 * @author shaosong
 * @since 1.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(value = "ads_role_amount_data_parent")
public class AdsRoleAmountDataParent {

    /**
     * 角色ID
     */
    @Column(value = "role_id")
    private String roleId;

    /**
     * gs_id
     */
    @Column(value = "gs_id")
    private Long gsId;

    /**
     * gs 开始服务时间
     */
    @Column(value = "gs_start_time")
    private LocalDate gsStartTime;

    /**
     * 子游戏ID
     */
    @Column(value = "game_id")
    private Long gameId;

    /**
     * 角色名称
     */
    @Column(value = "role_name")
    private String roleName;

    /**
     * 区服ID
     */
    @Column(value = "server_id")
    private String serverId;

    /**
     * 父游戏ID
     */
    @Column(value = "parent_game_id")
    private Long parentGameId;

    /**
     * 父用户ID
     */
    @Column(value = "association_user_id")
    private Long associationUserId;

    /**
     * 角色vip
     */
    @Column(value = "role_vip")
    private Integer roleVip;

    /**
     * 角色等级
     */
    @Column(value = "role_level")
    private Integer roleLevel;

    /**
     * 角色攻击力
     */
    @Column(value = "combat_num")
    private Long combatNum;

    /**
     * 国家
     */
    @Column(value = "country")
    private String country;

    /**
     * 角色创建时间
     */
    @Column(value = "role_time")
    private LocalDateTime roleTime;

    /**
     * 角色首充金额
     */
    @Column(value = "first_amount")
    private BigDecimal firstAmount;

    /**
     * 创角24小时付费金额
     */
    @Column(value = "role_hour_amount")
    private BigDecimal roleHourAmount;

    /**
     * 角色最近充值金额
     */
    @Column(value = "last_amount")
    private BigDecimal lastAmount;

    /**
     * 角色最近充值时间
     */
    @Column(value = "last_order_time")
    private LocalDateTime lastOrderTime;

    /**
     * 角色最近充值产品
     */
    @Column(value = "product_name")
    private String productName;

    /**
     * 角色累计充值金额
     */
    @Column(value = "total_amount")
    private BigDecimal totalAmount;

    /**
     * 角色累计充值次数
     */
    @Column(value = "total_cnt")
    private Integer totalCnt;

    /**
     * 角色最近活跃时间
     */
    @Column(value = "active_time")
    private LocalDateTime activeTime;

    /**
     * 小程序充值金额
     */
    @Column(value = "app_amount")
    private BigDecimal appAmount;

    /**
     * 角色转端充值比
     */
    @Column(value = "proportion")
    private BigDecimal proportion;

    /**
     * 角色ID拼接游戏ID
     */
    @Column(value = "concat_game")
    private String concatGame;

    /**
     * 每个gs的充值
     */
    @Column(value = "gs_amount")
    private BigDecimal gsAmount;

    /**
     * 每个gs的充值次数
     */
    @Column(value = "gs_count")
    private Integer gsCount;

    /**
     * gs服务结束时间
     */
    @Column(value = "gs_end_time")
    private LocalDate gsEndTime;

    /**
     * 原始区服ID
     */
    @Column(value = "source_server_id")
    private String sourceServerId;

    /**
     * 当前区服ID
     */
    @Column(value = "end_server_id")
    private String endServerId;

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

    /**
     * 区服指派GS
     */
    @Column(value = "gs_id_server")
    private String gsIdServer;

    /**
     * 区服指派GS充值金额
     */
    @Column(value = "server_amount")
    private BigDecimal serverAmount;

    /**
     * 区服指派GS充值次数
     */
    @Column(value = "server_count")
    private Integer serverCount;

    @Column(value = "is_remove_game")
    private Integer isRemoveGame;

    private Integer systemRemoveGameStatus;

}
