package com.dgtly.wxportal.domain;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.dgtly.common.annotation.Excel;
import com.dgtly.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 企业微信用户信息对象 wx_qy_user
 * 
 * @author dgtly
 * @date 2020-06-29
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class WxQyUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 企业微信用户id */
    private String userid;

    /** 企业微信用户姓名 */
    @Excel(name = "企业微信用户姓名")
    private String name;

    /** 企业微信用户手机号 */
    @Excel(name = "企业微信用户手机号")
    private String mobile;


    /** 性别。0表示未定义，1表示男性，2表示女性 */
    @Excel(name = "性别。0表示未定义，1表示男性，2表示女性")
    private String gender;

    /** 邮箱，第三方仅通讯录应用可获取 */
    @Excel(name = "邮箱，第三方仅通讯录应用可获取")
    private String email;

    /** 头像url。 第三方仅通讯录应用可获取 */
    @Excel(name = "头像url。 第三方仅通讯录应用可获取")
    private String avatar;

    /** 头像缩略图url。第三方仅通讯录应用可获取 */
    @Excel(name = "头像缩略图url。第三方仅通讯录应用可获取")
    private String thumbAvatar;

    /** 座机。第三方仅通讯录应用可获取 */
    @Excel(name = "座机。第三方仅通讯录应用可获取")
    private String telephone;

    /** 别名；第三方仅通讯录应用可获取 */
    @Excel(name = "别名；第三方仅通讯录应用可获取")
    private String alias;

    /** 激活状态: 1=已激活，2=已禁用，4=未激活，5=退出企业。
已激活代表已激活企业微信或已关注微工作台（原企业号）。未激活代表既未激活企业微信又未关注微工作台（原企业号）。 */
    @Excel(name = "激活状态: 1=已激活，2=已禁用，4=未激活，5=退出企业。已激活代表已激活企业微信或已关注微工作台", readConverterExp = "原=企业号")
    private String status;

    /** 员工个人二维码，扫描可添加为外部联系人(注意返回的是一个url，可在浏览器上打开该url以展示二维码)；第三方仅通讯录应用可获取 */
    @Excel(name = "员工个人二维码，扫描可添加为外部联系人(注意返回的是一个url，可在浏览器上打开该url以展示二维码)；第三方仅通讯录应用可获取")
    private String qrCode;


    /** 地址。第三方仅通讯录应用可获取 */
    @Excel(name = "地址。第三方仅通讯录应用可获取")
    private String address;

    /** 全局唯一。对于同一个服务商，不同应用获取到企业内同一个成员的open_userid是相同的，最多64个字节。仅第三方应用可获取 */
    @Excel(name = "全局唯一。对于同一个服务商，不同应用获取到企业内同一个成员的open_userid是相同的，最多64个字节。仅第三方应用可获取")
    private String openUserid;


    /** 用户关联的系统用户id */
    @Excel(name = "用户关联的系统用户id")
    private Long sysUserId;
    /** 微信传回的用户信息json */
    private String json;

    public void setUserid(String userid)
    {
        this.userid = userid;
    }

    public String getUserid() 
    {
        return userid;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setMobile(String mobile) 
    {
        this.mobile = mobile;
    }

    public String getMobile() 
    {
        return mobile;
    }

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

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

    public String getEmail() 
    {
        return email;
    }

    public void setAvatar(String avatar)
    {
        this.avatar = avatar;
    }

    public String getAvatar() 
    {
        return avatar;
    }
    public void setThumbAvatar(String thumbAvatar) 
    {
        this.thumbAvatar = thumbAvatar;
    }

    public String getThumbAvatar() 
    {
        return thumbAvatar;
    }
    public void setTelephone(String telephone) 
    {
        this.telephone = telephone;
    }

    public String getTelephone() 
    {
        return telephone;
    }
    public void setAlias(String alias) 
    {
        this.alias = alias;
    }

    public String getAlias() 
    {
        return alias;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setQrCode(String qrCode) 
    {
        this.qrCode = qrCode;
    }

    public String getQrCode() 
    {
        return qrCode;
    }

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

    public String getAddress() 
    {
        return address;
    }
    public void setOpenUserid(String openUserid) 
    {
        this.openUserid = openUserid;
    }

    public String getOpenUserid() 
    {
        return openUserid;
    }

    public void setSysUserId(Long sysUserId) 
    {
        this.sysUserId = sysUserId;
    }

    public Long getSysUserId() 
    {
        return sysUserId;
    }

    public String getJson() {
        return json;
    }

    public void setJson(String json) {
        this.json = json;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("userid", getUserid())
            .append("name", getName())
            .append("mobile", getMobile())
            .append("gender", getGender())
            .append("email", getEmail())
            .append("avatar", getAvatar())
            .append("thumbAvatar", getThumbAvatar())
            .append("telephone", getTelephone())
            .append("alias", getAlias())
            .append("status", getStatus())
            .append("qrCode", getQrCode())
            .append("address", getAddress())
            .append("openUserid", getOpenUserid())
            .append("sysUserId", getSysUserId())
            .toString();
    }
}
