package com.kiisoo.ic.employee.entity;

import lombok.Data;
import me.chanjar.weixin.cp.bean.Gender;

/**
 * @Description: 员工对象
 * @Auther: yechenhao
 * @Date: 2020/4/7 0002 10:06
 * @Version: v1
 */
@Data
public class EmployeeDO {
    /**
     * 数据库实体id
     */
    private Long id;
    /**
     * 绑定的店铺id
     */
    private Long storeId;
    /**
     * 员工企业微信员工id
     * 对应管理端的帐号，企业内必须唯一。不区分大小写，长度为1~64个字节。只能由数字、字母和“_-@.”四种字符组成，且第一个字符必须是数字或字母。
     */
    private String userId;
    /**
     * 员工名
     */
    private String name;
    /**
     * 成员所属部门id列表,不超过20个(企业微信部门id，非数据库部门id)
     */
    private Long[] departIds;
    /**
     * 部门内的排序值，默认为0，成员次序以创建时间从小到大排列。数量必须和department一致，数值越大排序越前面。有效的值范围是[0, 2^32)
     */
    private Integer[] orders;
    /**
     * 职务信息。长度为0~128个字符
     */
    private String position;
    /**
     * 手机号码。企业内必须唯一，mobile/email二者不能同时为空
     */
    private String mobile;
    /**
     * 性别。1表示男性，2表示女性
     */
    private Integer gender;
    /**
     * 邮箱。长度6~64个字节，且为有效的email格式。企业内必须唯一，mobile/email二者不能同时为空
     */
    private String email;

    /**
     * 地址。长度最大128个字符
     */
    private String address;
    /**
     * 成员头像的mediaid，通过素材管理接口上传图片获得的mediaid
     */
    private String avatarMediaId;
    /**
     * 数据库成员状态
     */
    private Integer status;
    /**
     * 启用/禁用成员。1表示启用成员，0表示禁用成员
     */
    private Integer enable;
    /**
     * 别名；第三方仅通讯录应用可获取
     */
    private String alias;
    /**
     * is_leader_in_dept.
     * 个数必须和department一致，表示在所在的部门内是否为上级。1表示为上级，0表示非上级。在审批等应用里可以用来标识上级审批人
     */
    private Integer[] isLeaderInDept;
    /**
     * 座机。32字节以内，由纯数字或’-‘号组成。
     */
    private String telephone;
    /**
     * 员工邀请码
     */
    private String inviteQrCode;
    /**
     * 是否邀请该成员使用企业微信（将通过微信服务通知或短信或邮件下发邀请，每天自动下发一次，最多持续3个工作日），默认值为true。
     */
    private Boolean toInvite;
    private String[] checkbox;
}
