package com.example.demo.table.user;

import pers.jc.sql.Column;
import pers.jc.sql.Id;
import pers.jc.sql.Table;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 数据库表格对象-用户信息
 */
@Table("user_info")
public class UserInfo {
    @Id
    private int id;
    @Column
    private int avatarID;
    @Column
    private String avatarUrl = "";
    @Column
    private String nickname = "Player";
    @Column
    private int gender = 1;
    @Column
    private String phone = "";
    @Column
    private String email = "";
    @Column
    private String birthday = "";
    @Column
    private String country = "";
    @Column
    private String state = "";
    @Column
    private String city = "";
    @Column
    private int integral;
    @Column
    private int coin;
    @Column
    private int diamond = 666;
    @Column
    private String mac = "";

    @Column(serialize = true)
    private List<PropInfo> bagList = new ArrayList<>();
    @Column(serialize = true)
    private List<DeviceInfo> deviceList = new ArrayList<>();
    @Column(serialize = true)
    private Map<String, Float> timeLimitGameScores = new HashMap<>();
    @Column(serialize = true)
    private Map<Integer, Integer> challengeLevels = new HashMap<>();
    @Column
    private String guideRecord = "";

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getAvatarID() {
        return avatarID;
    }

    public void setAvatarID(int avatarID) {
        this.avatarID = avatarID;
    }

    public String getAvatarUrl() {
        return avatarUrl;
    }

    public void setAvatarUrl(String avatarUrl) {
        this.avatarUrl = avatarUrl;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public int getGender() {
        return gender;
    }

    public void setGender(int gender) {
        this.gender = gender;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public int getIntegral() {
        return integral;
    }

    public void setIntegral(int integral) {
        this.integral = integral;
    }

    public int getCoin() {
        return coin;
    }

    public void setCoin(int coin) {
        this.coin = coin;
    }

    public int getDiamond() {
        return diamond;
    }

    public void setDiamond(int diamond) {
        this.diamond = diamond;
    }

    public String getMac() {
        return mac;
    }

    public void setMac(String mac) {
        this.mac = mac;
    }

    public List<PropInfo> getBagList() {
        return bagList;
    }

    public void setBagList(List<PropInfo> bagList) {
        this.bagList = bagList;
    }

    public List<DeviceInfo> getDeviceList() {
        return deviceList;
    }

    public void setDeviceList(List<DeviceInfo> deviceList) {
        this.deviceList = deviceList;
    }

    public Map<String, Float> getTimeLimitGameScores() {
        return timeLimitGameScores;
    }

    public void setTimeLimitGameScores(Map<String, Float> timeLimitGameScores) {
        this.timeLimitGameScores = timeLimitGameScores;
    }

    public Map<Integer, Integer> getChallengeLevels() {
        return challengeLevels;
    }

    public void setChallengeLevels(Map<Integer, Integer> challengeLevels) {
        this.challengeLevels = challengeLevels;
    }

    public String getGuideRecord() {
        return guideRecord;
    }

    public void setGuideRecord(String guideRecord) {
        this.guideRecord = guideRecord;
    }
}
