package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 悦动APP-用户信息记录
荔枝悦动用户，主要包含用户的信息字段，如：账号密码头像手机号等信息
对象 lzyd_user
 * 
 * @author ruoyi
 * @date 2021-04-07
 */
public class LzydUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 用户id */
    @Excel(name = "用户id")
    private String userId;

    /** 账户类型（0无状态，1普通用户，2vip用户，3商户，4内部） */
    @Excel(name = "账户类型", readConverterExp = "0=无状态，1普通用户，2vip用户，3商户，4内部")
    private Integer role;

    /** 用户姓名 */
    @Excel(name = "用户姓名")
    private String username;

    /** 用户地址 */
    @Excel(name = "用户地址")
    private String address;

    /** 地区 */
    @Excel(name = "地区")
    private String area;

    /** 密码 */
    @Excel(name = "密码")
    private String password;

    /** 用户手机号 */
    @Excel(name = "用户手机号")
    private String mobilePhone;

    /** 用户头像 */
    @Excel(name = "用户头像")
    private String userAvatar;

    /** 用户二维码 */
    @Excel(name = "用户二维码")
    private String qrCode;

    /** 用户排位赛级别 */
    @Excel(name = "用户排位赛级别")
    private String userGrade;

    /** 昵称 */
    @Excel(name = "昵称")
    private String realName;

    /** 上一次登录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上一次登录时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date loginTime;

    /** 注册时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "注册时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date registerTime;

    /** 点赞数 */
    @Excel(name = "点赞数")
    private Integer likeNum;

    /** 粉丝数 */
    @Excel(name = "粉丝数")
    private Integer fansNum;

    /** 关注数 */
    @Excel(name = "关注数")
    private Integer attenNum;

    /** 总公里数 */
    @Excel(name = "总公里数")
    private Long totalDistance;

    /** 马拉松场次 */
    @Excel(name = "马拉松场次")
    private Integer timesMarathon;

    /** 排位赛场次 */
    @Excel(name = "排位赛场次")
    private Integer timesQualifier;

    /** 是否删除(默认值0) */
    @Excel(name = "是否删除(默认值0)")
    private Integer isDelete;

    /** 用户账号状态（0无状态，1正常状态，2待审核，3封禁） */
    @Excel(name = "用户账号状态", readConverterExp = "0=无状态，1正常状态，2待审核，3封禁")
    private Integer status;

    /** 体重 */
    @Excel(name = "体重")
    private Integer weight;

    /** 身高 */
    @Excel(name = "身高")
    private Integer height;

    /** 积分 */
    @Excel(name = "积分")
    private Long userPoint;

    /** 余额 */
    @Excel(name = "余额")
    private Long userMoney;

    /** 登录方式(1=手机号登录，2=快捷登录，3=第三方登录) */
    private Integer loginType;

    /** 性别：0=保密，1=男，2=女 */
    @Excel(name = "性别：0=保密，1=男，2=女")
    private Integer gender;

    /** 会员生日 */
    @Excel(name = "会员生日")
    private String birthday;

    /** appid */
    @Excel(name = "appid")
    private String appId;

    /** 排位赛积分 */
    @Excel(name = "排位赛积分")
    private Long qualifyingPoints;

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

    public Long getId() 
    {
        return id;
    }
    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }
    public void setRole(Integer role) 
    {
        this.role = role;
    }

    public Integer getRole() 
    {
        return role;
    }
    public void setUsername(String username) 
    {
        this.username = username;
    }

    public String getUsername() 
    {
        return username;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setArea(String area) 
    {
        this.area = area;
    }

    public String getArea() 
    {
        return area;
    }
    public void setPassword(String password) 
    {
        this.password = password;
    }

    public String getPassword() 
    {
        return password;
    }
    public void setMobilePhone(String mobilePhone) 
    {
        this.mobilePhone = mobilePhone;
    }

    public String getMobilePhone() 
    {
        return mobilePhone;
    }
    public void setUserAvatar(String userAvatar) 
    {
        this.userAvatar = userAvatar;
    }

    public String getUserAvatar() 
    {
        return userAvatar;
    }
    public void setQrCode(String qrCode) 
    {
        this.qrCode = qrCode;
    }

    public String getQrCode() 
    {
        return qrCode;
    }
    public void setUserGrade(String userGrade) 
    {
        this.userGrade = userGrade;
    }

    public String getUserGrade() 
    {
        return userGrade;
    }
    public void setRealName(String realName) 
    {
        this.realName = realName;
    }

    public String getRealName() 
    {
        return realName;
    }
    public void setLoginTime(Date loginTime) 
    {
        this.loginTime = loginTime;
    }

    public Date getLoginTime() 
    {
        return loginTime;
    }
    public void setRegisterTime(Date registerTime) 
    {
        this.registerTime = registerTime;
    }

    public Date getRegisterTime() 
    {
        return registerTime;
    }
    public void setLikeNum(Integer likeNum) 
    {
        this.likeNum = likeNum;
    }

    public Integer getLikeNum() 
    {
        return likeNum;
    }
    public void setFansNum(Integer fansNum) 
    {
        this.fansNum = fansNum;
    }

    public Integer getFansNum() 
    {
        return fansNum;
    }
    public void setAttenNum(Integer attenNum) 
    {
        this.attenNum = attenNum;
    }

    public Integer getAttenNum() 
    {
        return attenNum;
    }
    public void setTotalDistance(Long totalDistance) 
    {
        this.totalDistance = totalDistance;
    }

    public Long getTotalDistance() 
    {
        return totalDistance;
    }
    public void setTimesMarathon(Integer timesMarathon) 
    {
        this.timesMarathon = timesMarathon;
    }

    public Integer getTimesMarathon() 
    {
        return timesMarathon;
    }
    public void setTimesQualifier(Integer timesQualifier) 
    {
        this.timesQualifier = timesQualifier;
    }

    public Integer getTimesQualifier() 
    {
        return timesQualifier;
    }
    public void setIsDelete(Integer isDelete) 
    {
        this.isDelete = isDelete;
    }

    public Integer getIsDelete() 
    {
        return isDelete;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setWeight(Integer weight) 
    {
        this.weight = weight;
    }

    public Integer getWeight() 
    {
        return weight;
    }
    public void setHeight(Integer height) 
    {
        this.height = height;
    }

    public Integer getHeight() 
    {
        return height;
    }
    public void setUserPoint(Long userPoint) 
    {
        this.userPoint = userPoint;
    }

    public Long getUserPoint() 
    {
        return userPoint;
    }
    public void setUserMoney(Long userMoney) 
    {
        this.userMoney = userMoney;
    }

    public Long getUserMoney() 
    {
        return userMoney;
    }
    public void setLoginType(Integer loginType) 
    {
        this.loginType = loginType;
    }

    public Integer getLoginType() 
    {
        return loginType;
    }
    public void setGender(Integer gender) 
    {
        this.gender = gender;
    }

    public Integer getGender() 
    {
        return gender;
    }
    public void setBirthday(String birthday) 
    {
        this.birthday = birthday;
    }

    public String getBirthday() 
    {
        return birthday;
    }
    public void setAppId(String appId) 
    {
        this.appId = appId;
    }

    public String getAppId() 
    {
        return appId;
    }
    public void setQualifyingPoints(Long qualifyingPoints) 
    {
        this.qualifyingPoints = qualifyingPoints;
    }

    public Long getQualifyingPoints() 
    {
        return qualifyingPoints;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("role", getRole())
            .append("username", getUsername())
            .append("address", getAddress())
            .append("area", getArea())
            .append("password", getPassword())
            .append("mobilePhone", getMobilePhone())
            .append("userAvatar", getUserAvatar())
            .append("qrCode", getQrCode())
            .append("userGrade", getUserGrade())
            .append("realName", getRealName())
            .append("loginTime", getLoginTime())
            .append("registerTime", getRegisterTime())
            .append("likeNum", getLikeNum())
            .append("fansNum", getFansNum())
            .append("attenNum", getAttenNum())
            .append("totalDistance", getTotalDistance())
            .append("timesMarathon", getTimesMarathon())
            .append("timesQualifier", getTimesQualifier())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("isDelete", getIsDelete())
            .append("status", getStatus())
            .append("weight", getWeight())
            .append("height", getHeight())
            .append("userPoint", getUserPoint())
            .append("userMoney", getUserMoney())
            .append("loginType", getLoginType())
            .append("gender", getGender())
            .append("birthday", getBirthday())
            .append("appId", getAppId())
            .append("qualifyingPoints", getQualifyingPoints())
            .toString();
    }
}
