package com.gustz.dove.cpcli.api.addrbook.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.sinovatech.rd.wcsb.cli.api.service.dict.GenderDict;
import com.sinovatech.rd.wcsb.cli.api.service.dict.UserStatusDict;
import com.sinovatech.rd.wcsb.cli.api.service.vo.AbstCliBaseVo;
/**
*
* TODO: 用户信息
*
* @author ZHENFENG ZHANG
* @since [ Aug 3, 2015 ]
*/
public class CpUser extends AbstCliBaseVo {
private static final long serialVersionUID = 1L;
/**
* 成员UserID 对应管理端的帐号
*/
@JsonProperty("userid")
private String userId;
/**
* 成员名称
*/
@JsonProperty("name")
private String name;
/**
* 成员所属部门id列表
*/
@JsonProperty("department")
private int[] deptIds;
/**
* 职位信息
*/
@JsonProperty("position")
private String position;
/**
* 手机号码
*/
@JsonProperty("mobile")
private String mobile;
/**
* 性别。0表示未定义,1表示男性,2表示女性
*/
@JsonProperty("gender")
private GenderDict gender;
/**
* 邮箱
*/
@JsonProperty("email")
private String email;
/**
* 微信号
*/
@JsonProperty("weixinid")
private String weixinId;
/**
* 头像URL 注:如果要获取小图将url最后的"/0"改成"/64"即可
*/
@JsonProperty("avatar")
private String avatarUrl;
/**
* 关注状态: 1=已关注,2=已冻结,4=未关注
*/
@JsonProperty("status")
private UserStatusDict status;
/**
* 扩展属性
*/
@JsonProperty("extattr")
private ExtAttr extAttr;
// ------------ 扩展属性 ------------ begin
/**
* 设备编码
*/
@JsonIgnore
private String deviceCode;
/**
* 登录名称
*/
@JsonIgnore
private String loginName;
// ------------ 扩展属性 ------------ end
public CpUser() {
super();
}
/**
*
* @param userId
*/
public CpUser(String userId) {
super();
this.userId = userId;
}
/**
*
* @param userId
* @param realName
* @param mobile
* @param email
* @param weixinId
* @param deviceCode
* @param loginName
*/
public CpUser(String userId, String realName, String mobile, String email, String weixinId, String deviceCode,
String loginName) {
super();
this.userId = userId;
this.name = realName;
this.mobile = mobile;
this.email = email;
this.weixinId = weixinId;
this.deviceCode = deviceCode;
this.loginName = loginName;
}
/**
*
* @param userId
* @param name
* @param deptIds
* @param position
* @param mobile
* @param gender
* @param email
* @param weixinId
* @param avatarUrl
* @param status
* @param extAttr
*/
public CpUser(String userId, String name, int[] deptIds, String position, String mobile, GenderDict gender, String email,
String weixinId, String avatarUrl, UserStatusDict status, ExtAttr extAttr) {
super();
this.userId = userId;
this.name = name;
this.deptIds = deptIds;
this.position = position;
this.mobile = mobile;
this.gender = gender;
this.email = email;
this.weixinId = weixinId;
this.avatarUrl = avatarUrl;
this.status = status;
this.extAttr = extAttr;
}
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 int[] getDeptIds() {
return deptIds;
}
public void setDeptIds(int[] deptIds) {
this.deptIds = deptIds;
}
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 GenderDict getGender() {
return gender;
}
public void setGender(GenderDict gender) {
this.gender = gender;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getWeixinId() {
return weixinId;
}
public void setWeixinId(String weixinId) {
this.weixinId = weixinId;
}
public String getAvatarUrl() {
return avatarUrl;
}
public void setAvatarUrl(String avatarUrl) {
this.avatarUrl = avatarUrl;
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public UserStatusDict getStatus() {
return status;
}
public void setStatus(UserStatusDict status) {
this.status = status;
}
public String getDeviceCode() {
return deviceCode;
}
public void setDeviceCode(String deviceCode) {
this.deviceCode = deviceCode;
}
public ExtAttr getExtAttr() {
return extAttr;
}
public void setExtAttr(ExtAttr extAttr) {
this.extAttr = extAttr;
}
public static class ExtAttr extends AbstCliBaseVo {
private static final long serialVersionUID = 1L;
/**
* 属性对象
*/
@JsonProperty("attrs")
private Attrs[] attrs;
public ExtAttr() {
super();
}
public ExtAttr(Attrs[] attrs) {
super();
this.attrs = attrs;
}
public Attrs[] getAttrs() {
return attrs;
}
public void setAttrs(Attrs[] attrs) {
this.attrs = attrs;
}
public static class Attrs extends AbstCliBaseVo {
private static final long serialVersionUID = 1L;
/**
* 属性名称
*/
@JsonProperty("name")
private String name;
/**
* 属性值
*/
@JsonProperty("value")
private String value;
public Attrs() {
super();
}
public Attrs(String name, String value) {
super();
this.name = name;
this.value = value;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
}
}