@@ -14,55 +14,55 @@ import me.chanjar.weixin.mp.bean.result.WxMpUserList; | |||||
*/ | */ | ||||
public interface WxMpUserService { | public interface WxMpUserService { | ||||
/** | |||||
* <pre> | |||||
* 设置用户备注名接口 | |||||
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=设置用户备注名接口 | |||||
* </pre> | |||||
* | |||||
* @param openid 用户openid | |||||
* @param remark 备注名 | |||||
*/ | |||||
void userUpdateRemark(String openid, String remark) throws WxErrorException; | |||||
/** | |||||
* <pre> | |||||
* 设置用户备注名接口 | |||||
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=设置用户备注名接口 | |||||
* </pre> | |||||
* | |||||
* @param openid 用户openid | |||||
* @param remark 备注名 | |||||
*/ | |||||
void userUpdateRemark(String openid, String remark) throws WxErrorException; | |||||
/** | |||||
* <pre> | |||||
* 获取用户基本信息 | |||||
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=获取用户基本信息 | |||||
* </pre> | |||||
* | |||||
* @param openid 用户openid | |||||
* @param lang 语言,zh_CN 简体(默认),zh_TW 繁体,en 英语 | |||||
*/ | |||||
WxMpUser userInfo(String openid, String lang) throws WxErrorException; | |||||
/** | |||||
* <pre> | |||||
* 获取用户基本信息 | |||||
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=获取用户基本信息 | |||||
* </pre> | |||||
* | |||||
* @param openid 用户openid | |||||
* @param lang 语言,zh_CN 简体(默认),zh_TW 繁体,en 英语 | |||||
*/ | |||||
WxMpUser userInfo(String openid, String lang) throws WxErrorException; | |||||
/** | |||||
* <pre> | |||||
* 获取用户基本信息列表 | |||||
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=批量获取用户基本信息 | |||||
* </pre> | |||||
* | |||||
* @param openid 用户openid, lang 使用默认(zh_CN 简体) | |||||
*/ | |||||
List<WxMpUser> userInfoList(List<String> openidList) throws WxErrorException; | |||||
/** | |||||
* <pre> | |||||
* 获取用户基本信息列表 | |||||
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=批量获取用户基本信息 | |||||
* </pre> | |||||
* | |||||
* @param openid 用户openid, lang 使用默认(zh_CN 简体) | |||||
*/ | |||||
List<WxMpUser> userInfoList(List<String> openidList) throws WxErrorException; | |||||
/** | |||||
* <pre> | |||||
* 获取用户基本信息列表 | |||||
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=批量获取用户基本信息 | |||||
* </pre> | |||||
* | |||||
* @param userQuery 详细查询参数 | |||||
*/ | |||||
List<WxMpUser> userInfoList(WxMpUserQuery userQuery) throws WxErrorException; | |||||
/** | |||||
* <pre> | |||||
* 获取用户基本信息列表 | |||||
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=批量获取用户基本信息 | |||||
* </pre> | |||||
* | |||||
* @param userQuery 详细查询参数 | |||||
*/ | |||||
List<WxMpUser> userInfoList(WxMpUserQuery userQuery) throws WxErrorException; | |||||
/** | |||||
* <pre> | |||||
* 获取关注者列表 | |||||
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=获取关注者列表 | |||||
* </pre> | |||||
* | |||||
* @param nextOpenid 可选,第一个拉取的OPENID,null为从头开始拉取 | |||||
*/ | |||||
WxMpUserList userList(String nextOpenid) throws WxErrorException; | |||||
/** | |||||
* <pre> | |||||
* 获取关注者列表 | |||||
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=获取关注者列表 | |||||
* </pre> | |||||
* | |||||
* @param nextOpenid 可选,第一个拉取的OPENID,null为从头开始拉取 | |||||
*/ | |||||
WxMpUserList userList(String nextOpenid) throws WxErrorException; | |||||
} | } |
@@ -17,47 +17,47 @@ import me.chanjar.weixin.mp.bean.result.WxMpUserList; | |||||
* Created by Binary Wang on 2016/7/21. | * Created by Binary Wang on 2016/7/21. | ||||
*/ | */ | ||||
public class WxMpUserServiceImpl implements WxMpUserService { | public class WxMpUserServiceImpl implements WxMpUserService { | ||||
private static final String API_URL_PREFIX = "https://api.weixin.qq.com/cgi-bin/user"; | |||||
private WxMpService wxMpService; | |||||
public WxMpUserServiceImpl(WxMpService wxMpService) { | |||||
this.wxMpService = wxMpService; | |||||
} | |||||
@Override | |||||
public void userUpdateRemark(String openid, String remark) throws WxErrorException { | |||||
String url = API_URL_PREFIX + "/info/updateremark"; | |||||
JsonObject json = new JsonObject(); | |||||
json.addProperty("openid", openid); | |||||
json.addProperty("remark", remark); | |||||
this.wxMpService.execute(new SimplePostRequestExecutor(), url, json.toString()); | |||||
} | |||||
@Override | |||||
public WxMpUser userInfo(String openid, String lang) throws WxErrorException { | |||||
String url = API_URL_PREFIX + "/info"; | |||||
lang = lang == null ? "zh_CN" : lang; | |||||
String responseContent = this.wxMpService.execute(new SimpleGetRequestExecutor(), url, "openid=" + openid + "&lang=" + lang); | |||||
return WxMpUser.fromJson(responseContent); | |||||
} | |||||
@Override | |||||
public WxMpUserList userList(String next_openid) throws WxErrorException { | |||||
String url = API_URL_PREFIX + "/get"; | |||||
String responseContent = this.wxMpService.execute(new SimpleGetRequestExecutor(), url, next_openid == null ? null : "next_openid=" + next_openid); | |||||
return WxMpUserList.fromJson(responseContent); | |||||
} | |||||
@Override | |||||
public List<WxMpUser> userInfoList(List<String> openidList) throws WxErrorException { | |||||
return userInfoList(new WxMpUserQuery(openidList)); | |||||
} | |||||
@Override | |||||
public List<WxMpUser> userInfoList(WxMpUserQuery userQuery) throws WxErrorException { | |||||
String url = API_URL_PREFIX + "/info/batchget"; | |||||
String responseContent = this.wxMpService.execute(new SimpleGetRequestExecutor(), url, userQuery.toJsonString()); | |||||
return WxMpUser.fromJsonList(responseContent); | |||||
} | |||||
private static final String API_URL_PREFIX = "https://api.weixin.qq.com/cgi-bin/user"; | |||||
private WxMpService wxMpService; | |||||
public WxMpUserServiceImpl(WxMpService wxMpService) { | |||||
this.wxMpService = wxMpService; | |||||
} | |||||
@Override | |||||
public void userUpdateRemark(String openid, String remark) throws WxErrorException { | |||||
String url = API_URL_PREFIX + "/info/updateremark"; | |||||
JsonObject json = new JsonObject(); | |||||
json.addProperty("openid", openid); | |||||
json.addProperty("remark", remark); | |||||
this.wxMpService.execute(new SimplePostRequestExecutor(), url, json.toString()); | |||||
} | |||||
@Override | |||||
public WxMpUser userInfo(String openid, String lang) throws WxErrorException { | |||||
String url = API_URL_PREFIX + "/info"; | |||||
lang = lang == null ? "zh_CN" : lang; | |||||
String responseContent = this.wxMpService.execute(new SimpleGetRequestExecutor(), url, "openid=" + openid + "&lang=" + lang); | |||||
return WxMpUser.fromJson(responseContent); | |||||
} | |||||
@Override | |||||
public WxMpUserList userList(String next_openid) throws WxErrorException { | |||||
String url = API_URL_PREFIX + "/get"; | |||||
String responseContent = this.wxMpService.execute(new SimpleGetRequestExecutor(), url, next_openid == null ? null : "next_openid=" + next_openid); | |||||
return WxMpUserList.fromJson(responseContent); | |||||
} | |||||
@Override | |||||
public List<WxMpUser> userInfoList(List<String> openidList) throws WxErrorException { | |||||
return userInfoList(new WxMpUserQuery(openidList)); | |||||
} | |||||
@Override | |||||
public List<WxMpUser> userInfoList(WxMpUserQuery userQuery) throws WxErrorException { | |||||
String url = API_URL_PREFIX + "/info/batchget"; | |||||
String responseContent = this.wxMpService.execute(new SimpleGetRequestExecutor(), url, userQuery.toJsonString()); | |||||
return WxMpUser.fromJsonList(responseContent); | |||||
} | |||||
} | } |
@@ -15,180 +15,180 @@ import com.google.gson.Gson; | |||||
* @author LiuJunGuang | * @author LiuJunGuang | ||||
*/ | */ | ||||
public class WxMpUserQuery { | public class WxMpUserQuery { | ||||
private List<WxMpUserQueryParam> queryParamList = new ArrayList<>(); | |||||
public WxMpUserQuery() { | |||||
super(); | |||||
} | |||||
/** | |||||
* 语言使用默认(zh_CN) | |||||
* | |||||
* @description | |||||
* @param openIdList | |||||
*/ | |||||
public WxMpUserQuery(List<String> openIdList) { | |||||
super(); | |||||
add(openIdList); | |||||
} | |||||
/** | |||||
* 添加OpenId列表,语言使用默认(zh_CN) | |||||
* | |||||
* @param openIdList | |||||
* @return {@link WxMpUserQuery} | |||||
*/ | |||||
public WxMpUserQuery add(List<String> openIdList) { | |||||
for (String openId : openIdList) { | |||||
this.add(openId); | |||||
} | |||||
return this; | |||||
} | |||||
/** | |||||
* 添加一个OpenId | |||||
* | |||||
* @param openId | |||||
* @param lang 国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语 | |||||
* @return {@link WxMpUserQuery} | |||||
*/ | |||||
public WxMpUserQuery add(String openId, String lang) { | |||||
queryParamList.add(new WxMpUserQueryParam(openId, lang)); | |||||
return this; | |||||
} | |||||
/** | |||||
* 添加一个OpenId到列表中,并返回本对象 | |||||
* | |||||
* <pre> | |||||
* 该方法默认lang = zh_CN | |||||
* </pre> | |||||
* | |||||
* @param openId | |||||
* @return {@link WxMpUserQuery} | |||||
*/ | |||||
public WxMpUserQuery add(String openId) { | |||||
queryParamList.add(new WxMpUserQueryParam(openId)); | |||||
return this; | |||||
} | |||||
/** | |||||
* 删除指定的OpenId,语言使用默认(zh_CN) | |||||
* | |||||
* @param openId | |||||
* @return {@link WxMpUserQuery} | |||||
*/ | |||||
public WxMpUserQuery remove(String openId) { | |||||
queryParamList.remove(new WxMpUserQueryParam(openId)); | |||||
return this; | |||||
} | |||||
/** | |||||
* 删除指定的OpenId | |||||
* | |||||
* @param openId | |||||
* @param lang 国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语 | |||||
* @return {@link WxMpUserQuery} | |||||
*/ | |||||
public WxMpUserQuery remove(String openId, String lang) { | |||||
queryParamList.remove(new WxMpUserQueryParam(openId, lang)); | |||||
return this; | |||||
} | |||||
/** | |||||
* 获取查询参数列表 | |||||
* | |||||
* @return | |||||
*/ | |||||
public List<WxMpUserQueryParam> getQueryParamList() { | |||||
return queryParamList; | |||||
} | |||||
public String toJsonString() { | |||||
Map<String, Object> map = new HashMap<>(); | |||||
map.put("user_list", queryParamList); | |||||
return new Gson().toJson(map); | |||||
} | |||||
// 查询参数封装 | |||||
public class WxMpUserQueryParam implements Serializable { | |||||
/** | |||||
* @fields serialVersionUID | |||||
*/ | |||||
private static final long serialVersionUID = -6863571795702385319L; | |||||
private String openid; | |||||
private String lang; | |||||
public WxMpUserQueryParam(String openid, String lang) { | |||||
super(); | |||||
this.openid = openid; | |||||
this.lang = lang; | |||||
} | |||||
public WxMpUserQueryParam(String openid) { | |||||
super(); | |||||
this.openid = openid; | |||||
this.lang = "zh_CN"; | |||||
} | |||||
public WxMpUserQueryParam() { | |||||
super(); | |||||
} | |||||
public String getOpenid() { | |||||
return openid; | |||||
} | |||||
public void setOpenid(String openid) { | |||||
this.openid = openid; | |||||
} | |||||
public String getLang() { | |||||
return lang; | |||||
} | |||||
public void setLang(String lang) { | |||||
this.lang = lang; | |||||
} | |||||
@Override | |||||
public int hashCode() { | |||||
final int prime = 31; | |||||
int result = 1; | |||||
result = prime * result + getOuterType().hashCode(); | |||||
result = prime * result + ((lang == null) ? 0 : lang.hashCode()); | |||||
result = prime * result + ((openid == null) ? 0 : openid.hashCode()); | |||||
return result; | |||||
} | |||||
@Override | |||||
public boolean equals(Object obj) { | |||||
if (this == obj) | |||||
return true; | |||||
if (obj == null) | |||||
return false; | |||||
if (getClass() != obj.getClass()) | |||||
return false; | |||||
WxMpUserQueryParam other = (WxMpUserQueryParam) obj; | |||||
if (!getOuterType().equals(other.getOuterType())) | |||||
return false; | |||||
if (lang == null) { | |||||
if (other.lang != null) | |||||
return false; | |||||
} else if (!lang.equals(other.lang)) | |||||
return false; | |||||
if (openid == null) { | |||||
if (other.openid != null) | |||||
return false; | |||||
} else if (!openid.equals(other.openid)) | |||||
return false; | |||||
return true; | |||||
} | |||||
private WxMpUserQuery getOuterType() { | |||||
return WxMpUserQuery.this; | |||||
} | |||||
} | |||||
private List<WxMpUserQueryParam> queryParamList = new ArrayList<>(); | |||||
public WxMpUserQuery() { | |||||
super(); | |||||
} | |||||
/** | |||||
* 语言使用默认(zh_CN) | |||||
* | |||||
* @description | |||||
* @param openIdList | |||||
*/ | |||||
public WxMpUserQuery(List<String> openIdList) { | |||||
super(); | |||||
add(openIdList); | |||||
} | |||||
/** | |||||
* 添加OpenId列表,语言使用默认(zh_CN) | |||||
* | |||||
* @param openIdList | |||||
* @return {@link WxMpUserQuery} | |||||
*/ | |||||
public WxMpUserQuery add(List<String> openIdList) { | |||||
for (String openId : openIdList) { | |||||
this.add(openId); | |||||
} | |||||
return this; | |||||
} | |||||
/** | |||||
* 添加一个OpenId | |||||
* | |||||
* @param openId | |||||
* @param lang 国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语 | |||||
* @return {@link WxMpUserQuery} | |||||
*/ | |||||
public WxMpUserQuery add(String openId, String lang) { | |||||
queryParamList.add(new WxMpUserQueryParam(openId, lang)); | |||||
return this; | |||||
} | |||||
/** | |||||
* 添加一个OpenId到列表中,并返回本对象 | |||||
* | |||||
* <pre> | |||||
* 该方法默认lang = zh_CN | |||||
* </pre> | |||||
* | |||||
* @param openId | |||||
* @return {@link WxMpUserQuery} | |||||
*/ | |||||
public WxMpUserQuery add(String openId) { | |||||
queryParamList.add(new WxMpUserQueryParam(openId)); | |||||
return this; | |||||
} | |||||
/** | |||||
* 删除指定的OpenId,语言使用默认(zh_CN) | |||||
* | |||||
* @param openId | |||||
* @return {@link WxMpUserQuery} | |||||
*/ | |||||
public WxMpUserQuery remove(String openId) { | |||||
queryParamList.remove(new WxMpUserQueryParam(openId)); | |||||
return this; | |||||
} | |||||
/** | |||||
* 删除指定的OpenId | |||||
* | |||||
* @param openId | |||||
* @param lang 国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语 | |||||
* @return {@link WxMpUserQuery} | |||||
*/ | |||||
public WxMpUserQuery remove(String openId, String lang) { | |||||
queryParamList.remove(new WxMpUserQueryParam(openId, lang)); | |||||
return this; | |||||
} | |||||
/** | |||||
* 获取查询参数列表 | |||||
* | |||||
* @return | |||||
*/ | |||||
public List<WxMpUserQueryParam> getQueryParamList() { | |||||
return queryParamList; | |||||
} | |||||
public String toJsonString() { | |||||
Map<String, Object> map = new HashMap<>(); | |||||
map.put("user_list", queryParamList); | |||||
return new Gson().toJson(map); | |||||
} | |||||
// 查询参数封装 | |||||
public class WxMpUserQueryParam implements Serializable { | |||||
/** | |||||
* @fields serialVersionUID | |||||
*/ | |||||
private static final long serialVersionUID = -6863571795702385319L; | |||||
private String openid; | |||||
private String lang; | |||||
public WxMpUserQueryParam(String openid, String lang) { | |||||
super(); | |||||
this.openid = openid; | |||||
this.lang = lang; | |||||
} | |||||
public WxMpUserQueryParam(String openid) { | |||||
super(); | |||||
this.openid = openid; | |||||
this.lang = "zh_CN"; | |||||
} | |||||
public WxMpUserQueryParam() { | |||||
super(); | |||||
} | |||||
public String getOpenid() { | |||||
return openid; | |||||
} | |||||
public void setOpenid(String openid) { | |||||
this.openid = openid; | |||||
} | |||||
public String getLang() { | |||||
return lang; | |||||
} | |||||
public void setLang(String lang) { | |||||
this.lang = lang; | |||||
} | |||||
@Override | |||||
public int hashCode() { | |||||
final int prime = 31; | |||||
int result = 1; | |||||
result = prime * result + getOuterType().hashCode(); | |||||
result = prime * result + ((lang == null) ? 0 : lang.hashCode()); | |||||
result = prime * result + ((openid == null) ? 0 : openid.hashCode()); | |||||
return result; | |||||
} | |||||
@Override | |||||
public boolean equals(Object obj) { | |||||
if (this == obj) | |||||
return true; | |||||
if (obj == null) | |||||
return false; | |||||
if (getClass() != obj.getClass()) | |||||
return false; | |||||
WxMpUserQueryParam other = (WxMpUserQueryParam) obj; | |||||
if (!getOuterType().equals(other.getOuterType())) | |||||
return false; | |||||
if (lang == null) { | |||||
if (other.lang != null) | |||||
return false; | |||||
} else if (!lang.equals(other.lang)) | |||||
return false; | |||||
if (openid == null) { | |||||
if (other.openid != null) | |||||
return false; | |||||
} else if (!openid.equals(other.openid)) | |||||
return false; | |||||
return true; | |||||
} | |||||
private WxMpUserQuery getOuterType() { | |||||
return WxMpUserQuery.this; | |||||
} | |||||
} | |||||
} | } |
@@ -12,164 +12,149 @@ import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; | |||||
/** | /** | ||||
* 微信用户信息 | * 微信用户信息 | ||||
* | |||||
* @author chanjarster | * @author chanjarster | ||||
* | * | ||||
*/ | */ | ||||
public class WxMpUser implements Serializable { | public class WxMpUser implements Serializable { | ||||
/** | |||||
* @fields serialVersionUID | |||||
*/ | |||||
private static final long serialVersionUID = 5788154322646488738L; | |||||
protected Boolean subscribe; | |||||
protected String openId; | |||||
protected String nickname; | |||||
protected String sex; | |||||
protected String language; | |||||
protected String city; | |||||
protected String province; | |||||
protected String country; | |||||
protected String headImgUrl; | |||||
protected Long subscribeTime; | |||||
protected String unionId; | |||||
protected Integer sexId; | |||||
protected String remark; | |||||
protected Integer groupId; | |||||
public Boolean getSubscribe() { | |||||
return subscribe; | |||||
} | |||||
public Boolean isSubscribe() { | |||||
return subscribe; | |||||
} | |||||
public void setSubscribe(Boolean subscribe) { | |||||
this.subscribe = subscribe; | |||||
} | |||||
public String getOpenId() { | |||||
return openId; | |||||
} | |||||
public void setOpenId(String openId) { | |||||
this.openId = openId; | |||||
} | |||||
public String getNickname() { | |||||
return nickname; | |||||
} | |||||
public void setNickname(String nickname) { | |||||
this.nickname = nickname; | |||||
} | |||||
public String getSex() { | |||||
return sex; | |||||
} | |||||
public void setSex(String sex) { | |||||
this.sex = sex; | |||||
} | |||||
public String getLanguage() { | |||||
return language; | |||||
} | |||||
public void setLanguage(String language) { | |||||
this.language = language; | |||||
} | |||||
public String getCity() { | |||||
return city; | |||||
} | |||||
public void setCity(String city) { | |||||
this.city = city; | |||||
} | |||||
public String getProvince() { | |||||
return province; | |||||
} | |||||
public void setProvince(String province) { | |||||
this.province = province; | |||||
} | |||||
public String getCountry() { | |||||
return country; | |||||
} | |||||
public void setCountry(String country) { | |||||
this.country = country; | |||||
} | |||||
public String getHeadImgUrl() { | |||||
return headImgUrl; | |||||
} | |||||
public void setHeadImgUrl(String headImgUrl) { | |||||
this.headImgUrl = headImgUrl; | |||||
} | |||||
public Long getSubscribeTime() { | |||||
return subscribeTime; | |||||
} | |||||
public void setSubscribeTime(Long subscribeTime) { | |||||
this.subscribeTime = subscribeTime; | |||||
} | |||||
public String getUnionId() { | |||||
return unionId; | |||||
} | |||||
public void setUnionId(String unionId) { | |||||
this.unionId = unionId; | |||||
} | |||||
public Integer getSexId() { | |||||
return sexId; | |||||
} | |||||
public void setSexId(Integer sexId) { | |||||
this.sexId = sexId; | |||||
} | |||||
public String getRemark() { | |||||
return remark; | |||||
} | |||||
public void setRemark(String remark) { | |||||
this.remark = remark; | |||||
} | |||||
public Integer getGroupId() { | |||||
return groupId; | |||||
} | |||||
public void setGroupId(Integer groupId) { | |||||
this.groupId = groupId; | |||||
} | |||||
public static WxMpUser fromJson(String json) { | |||||
return WxMpGsonBuilder.INSTANCE.create().fromJson(json, WxMpUser.class); | |||||
} | |||||
public static List<WxMpUser> fromJsonList(String json) { | |||||
Type collectionType = new TypeToken<List<WxMpUser>>() { | |||||
}.getType(); | |||||
Gson gson = WxMpGsonBuilder.INSTANCE.create(); | |||||
JsonObject jsonObject = gson.fromJson(json, JsonObject.class); | |||||
return gson.fromJson(jsonObject.get("user_info_list"), collectionType); | |||||
} | |||||
@Override | |||||
public String toString() { | |||||
return "WxMpUser{" + "subscribe=" + subscribe + ", openId='" + openId + '\'' + ", nickname='" + nickname + '\'' + ", sex='" + sex + '\'' + ", language='" + language + '\'' | |||||
+ ", city='" + city + '\'' + ", province='" + province + '\'' + ", country='" + country + '\'' + ", headImgUrl='" + headImgUrl + '\'' + ", subscribeTime=" + subscribeTime | |||||
+ ", unionId='" + unionId + '\'' + ", remark='" + remark + '\'' + ", groupId='" + groupId + '\'' + '}'; | |||||
} | |||||
/** | |||||
* @fields serialVersionUID | |||||
*/ | |||||
private static final long serialVersionUID = 5788154322646488738L; | |||||
protected Boolean subscribe; | |||||
protected String openId; | |||||
protected String nickname; | |||||
protected String sex; | |||||
protected String language; | |||||
protected String city; | |||||
protected String province; | |||||
protected String country; | |||||
protected String headImgUrl; | |||||
protected Long subscribeTime; | |||||
protected String unionId; | |||||
protected Integer sexId; | |||||
protected String remark; | |||||
protected Integer groupId; | |||||
public Boolean getSubscribe() { | |||||
return subscribe; | |||||
} | |||||
public Boolean isSubscribe() { | |||||
return subscribe; | |||||
} | |||||
public void setSubscribe(Boolean subscribe) { | |||||
this.subscribe = subscribe; | |||||
} | |||||
public String getOpenId() { | |||||
return openId; | |||||
} | |||||
public void setOpenId(String openId) { | |||||
this.openId = openId; | |||||
} | |||||
public String getNickname() { | |||||
return nickname; | |||||
} | |||||
public void setNickname(String nickname) { | |||||
this.nickname = nickname; | |||||
} | |||||
public String getSex() { | |||||
return sex; | |||||
} | |||||
public void setSex(String sex) { | |||||
this.sex = sex; | |||||
} | |||||
public String getLanguage() { | |||||
return language; | |||||
} | |||||
public void setLanguage(String language) { | |||||
this.language = language; | |||||
} | |||||
public String getCity() { | |||||
return city; | |||||
} | |||||
public void setCity(String city) { | |||||
this.city = city; | |||||
} | |||||
public String getProvince() { | |||||
return province; | |||||
} | |||||
public void setProvince(String province) { | |||||
this.province = province; | |||||
} | |||||
public String getCountry() { | |||||
return country; | |||||
} | |||||
public void setCountry(String country) { | |||||
this.country = country; | |||||
} | |||||
public String getHeadImgUrl() { | |||||
return headImgUrl; | |||||
} | |||||
public void setHeadImgUrl(String headImgUrl) { | |||||
this.headImgUrl = headImgUrl; | |||||
} | |||||
public Long getSubscribeTime() { | |||||
return subscribeTime; | |||||
} | |||||
public void setSubscribeTime(Long subscribeTime) { | |||||
this.subscribeTime = subscribeTime; | |||||
} | |||||
public String getUnionId() { | |||||
return unionId; | |||||
} | |||||
public void setUnionId(String unionId) { | |||||
this.unionId = unionId; | |||||
} | |||||
public Integer getSexId() { | |||||
return sexId; | |||||
} | |||||
public void setSexId(Integer sexId) { | |||||
this.sexId = sexId; | |||||
} | |||||
public String getRemark() { | |||||
return remark; | |||||
} | |||||
public void setRemark(String remark) { | |||||
this.remark = remark; | |||||
} | |||||
public Integer getGroupId() { | |||||
return groupId; | |||||
} | |||||
public void setGroupId(Integer groupId) { | |||||
this.groupId = groupId; | |||||
} | |||||
public static WxMpUser fromJson(String json) { | |||||
return WxMpGsonBuilder.INSTANCE.create().fromJson(json, WxMpUser.class); | |||||
} | |||||
public static List<WxMpUser> fromJsonList(String json) { | |||||
Type collectionType = new TypeToken<List<WxMpUser>>() {}.getType(); | |||||
Gson gson = WxMpGsonBuilder.INSTANCE.create(); | |||||
JsonObject jsonObject = gson.fromJson(json, JsonObject.class); | |||||
return gson.fromJson(jsonObject.get("user_info_list"), collectionType); | |||||
} | |||||
@Override | |||||
public String toString() { | |||||
return "WxMpUser{" + | |||||
"subscribe=" + subscribe + | |||||
", openId='" + openId + '\'' + | |||||
", nickname='" + nickname + '\'' + | |||||
", sex='" + sex + '\'' + | |||||
", language='" + language + '\'' + | |||||
", city='" + city + '\'' + | |||||
", province='" + province + '\'' + | |||||
", country='" + country + '\'' + | |||||
", headImgUrl='" + headImgUrl + '\'' + | |||||
", subscribeTime=" + subscribeTime + | |||||
", unionId='" + unionId + '\'' + | |||||
", remark='" + remark + '\'' + | |||||
", groupId='" + groupId + '\'' + | |||||
'}'; | |||||
} | |||||
} | } |