package com.usoftchina.qywx.sdk.dto;

import java.util.List;

/**
 * @author yingp
 */
public class GetUserListResp extends BaseResp{

    private List<User> userlist;

    public List<User> getUserlist() {
        return userlist;
    }

    public void setUserlist(List<User> userlist) {
        this.userlist = userlist;
    }

    public static class User {
        /**
         * 成员UserID。对应管理端的帐号，企业内必须唯一。不区分大小写，长度为1~64个字节
         */
        private String userid;
        /**
         * 成员名称，此字段从2019年12月30日起，对新创建第三方应用不再返回，2020年6月30日起，对所有历史第三方应用不再返回，后续第三方仅通讯录应用可获取，第三方页面需要通过通讯录展示组件来展示名字
         */
        private String name;
        /**
         * 成员所属部门id列表，仅返回该应用有查看权限的部门id
         */
        private List<Integer> department;
        /**
         * 部门内的排序值，默认为0。数量必须和department一致，数值越大排序越前面。值范围是[0, 2^32)
         */
        private List<Integer> order;
        /**
         * 职务信息；第三方仅通讯录应用可获取
         */
        private String position;
        /**
         * 手机号码，第三方仅通讯录应用可获取
         */
        private String mobile;
        /**
         * 性别。0表示未定义，1表示男性，2表示女性
         */
        private String gender;
        /**
         * 邮箱，第三方仅通讯录应用可获取
         */
        private String email;
        /**
         * 表示在所在的部门内是否为上级。；第三方仅通讯录应用可获取
         */
        private List<Integer> is_leader_in_dept;
        /**
         * 头像url。 第三方仅通讯录应用可获取
         */
        private String avatar;
        /**
         * 头像缩略图url。第三方仅通讯录应用可获取
         */
        private String thumb_avatar;
        /**
         * 座机。第三方仅通讯录应用可获取
         */
        private String telephone;
        /**
         * 成员启用状态。1表示启用的成员，0表示被禁用。注意，服务商调用接口不会返回此字段
         */
        private Integer enable;
        /**
         * 别名；第三方仅通讯录应用可获取
         */
        private String alias;
        /**
         * 地址
         */
        private String address;
        /**
         * 激活状态: 1=已激活，2=已禁用，4=未激活。
         * 已激活代表已激活企业微信或已关注微工作台（原企业号）。未激活代表既未激活企业微信又未关注微工作台（原企业号）
         */
        private Integer status;
        /**
         * 员工个人二维码，扫描可添加为外部联系人(注意返回的是一个url，可在浏览器上打开该url以展示二维码)；第三方仅通讯录应用可获取
         */
        private String qr_code;
        /**
         * 对外职务，如果设置了该值，则以此作为对外展示的职务，否则以position来展示
         */
        private String external_position;
        /**
         * 是否隐藏手机号
         */
        private Integer hide_mobile;
        /**
         * 英文名
         */
        private String english_name;

        public String getUserid() {
            return userid;
        }

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

        public String getName() {
            return name;
        }

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

        public List<Integer> getDepartment() {
            return department;
        }

        public void setDepartment(List<Integer> department) {
            this.department = department;
        }

        public List<Integer> getOrder() {
            return order;
        }

        public void setOrder(List<Integer> order) {
            this.order = order;
        }

        public String getPosition() {
            return position;
        }

        public void setPosition(String position) {
            this.position = position;
        }

        public String getMobile() {
            return mobile;
        }

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

        public String getGender() {
            return gender;
        }

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

        public String getEmail() {
            return email;
        }

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

        public List<Integer> getIs_leader_in_dept() {
            return is_leader_in_dept;
        }

        public void setIs_leader_in_dept(List<Integer> is_leader_in_dept) {
            this.is_leader_in_dept = is_leader_in_dept;
        }

        public String getAvatar() {
            return avatar;
        }

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

        public String getThumb_avatar() {
            return thumb_avatar;
        }

        public void setThumb_avatar(String thumb_avatar) {
            this.thumb_avatar = thumb_avatar;
        }

        public String getTelephone() {
            return telephone;
        }

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

        public Integer getEnable() {
            return enable;
        }

        public void setEnable(Integer enable) {
            this.enable = enable;
        }

        public String getAlias() {
            return alias;
        }

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

        public String getAddress() {
            return address;
        }

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

        public Integer getStatus() {
            return status;
        }

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

        public String getQr_code() {
            return qr_code;
        }

        public void setQr_code(String qr_code) {
            this.qr_code = qr_code;
        }

        public String getExternal_position() {
            return external_position;
        }

        public void setExternal_position(String external_position) {
            this.external_position = external_position;
        }

        public Integer getHide_mobile() {
            return hide_mobile;
        }

        public void setHide_mobile(Integer hide_mobile) {
            this.hide_mobile = hide_mobile;
        }

        public String getEnglish_name() {
            return english_name;
        }

        public void setEnglish_name(String english_name) {
            this.english_name = english_name;
        }
    }
}
