根据java命名规范重新命名字段

This commit is contained in:
Daniel Qian 2014-10-20 17:46:38 +08:00
parent 49721a979a
commit 5b18c1419c
62 changed files with 854 additions and 592 deletions

View File

@ -38,7 +38,7 @@ wxService.setWxConfigStorage(config);
// 用户的openid在下面地址获得 // 用户的openid在下面地址获得
// https://mp.weixin.qq.com/debug/cgi-bin/apiinfo?t=index&type=用户管理&form=获取关注者列表接口%20/user/get // https://mp.weixin.qq.com/debug/cgi-bin/apiinfo?t=index&type=用户管理&form=获取关注者列表接口%20/user/get
String openid = ...; String openId = ...;
WxCustomMessage message = WxCustomMessage.TEXT().toUser(openid).content("Hello World").build(); WxCustomMessage message = WxCustomMessage.TEXT().toUser(openId).content("Hello World").build();
wxService.customMessageSend(message); wxService.customMessageSend(message);
``` ```

View File

@ -17,7 +17,7 @@ public class WxInMemoryConfigStorage implements WxConfigStorage {
protected int expiresIn; protected int expiresIn;
public void updateAccessToken(WxAccessToken accessToken) { public void updateAccessToken(WxAccessToken accessToken) {
updateAccessToken(accessToken.getAccess_token(), accessToken.getExpires_in()); updateAccessToken(accessToken.getAccessToken(), accessToken.getExpiresIn());
} }
public void updateAccessToken(String accessToken, int expiresIn) { public void updateAccessToken(String accessToken, int expiresIn) {

View File

@ -4,8 +4,6 @@ import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.StringReader; import java.io.StringReader;
import java.security.MessageDigest;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
@ -86,11 +84,11 @@ public class WxServiceImpl implements WxService {
CloseableHttpResponse response = httpclient.execute(httpGet); CloseableHttpResponse response = httpclient.execute(httpGet);
String resultContent = new BasicResponseHandler().handleResponse(response); String resultContent = new BasicResponseHandler().handleResponse(response);
WxError error = WxError.fromJson(resultContent); WxError error = WxError.fromJson(resultContent);
if (error.getErrcode() != 0) { if (error.getErrorCode() != 0) {
throw new WxErrorException(error); throw new WxErrorException(error);
} }
WxAccessToken accessToken = WxAccessToken.fromJson(resultContent); WxAccessToken accessToken = WxAccessToken.fromJson(resultContent);
wxConfigStorage.updateAccessToken(accessToken.getAccess_token(), accessToken.getExpires_in()); wxConfigStorage.updateAccessToken(accessToken.getAccessToken(), accessToken.getExpiresIn());
} catch (ClientProtocolException e) { } catch (ClientProtocolException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} catch (IOException e) { } catch (IOException e) {
@ -133,7 +131,7 @@ public class WxServiceImpl implements WxService {
return WxMenu.fromJson(resultContent); return WxMenu.fromJson(resultContent);
} catch (WxErrorException e) { } catch (WxErrorException e) {
// 46003 不存在的菜单数据 // 46003 不存在的菜单数据
if (e.getError().getErrcode() == 46003) { if (e.getError().getErrorCode() == 46003) {
return null; return null;
} }
throw e; throw e;
@ -316,14 +314,14 @@ public class WxServiceImpl implements WxService {
* 40001 获取access_token时AppSecret错误或者access_token无效 * 40001 获取access_token时AppSecret错误或者access_token无效
* 42001 access_token超时 * 42001 access_token超时
*/ */
if (error.getErrcode() == 42001 || error.getErrcode() == 40001) { if (error.getErrorCode() == 42001 || error.getErrorCode() == 40001) {
accessTokenRefresh(); accessTokenRefresh();
return execute(executor, uri, data); return execute(executor, uri, data);
} }
/** /**
* -1 系统繁忙, 1000ms后重试 * -1 系统繁忙, 1000ms后重试
*/ */
if (error.getErrcode() == -1) { if (error.getErrorCode() == -1) {
if(retryTimes.get() == null) { if(retryTimes.get() == null) {
retryTimes.set(0); retryTimes.set(0);
} }
@ -341,7 +339,7 @@ public class WxServiceImpl implements WxService {
throw new RuntimeException(e1); throw new RuntimeException(e1);
} }
} }
if (error.getErrcode() != 0) { if (error.getErrorCode() != 0) {
throw new WxErrorException(error); throw new WxErrorException(error);
} }
return null; return null;

View File

@ -4,24 +4,24 @@ import me.chanjar.weixin.util.json.WxGsonBuilder;
public class WxAccessToken { public class WxAccessToken {
private String access_token; private String accessToken;
private int expires_in; private int expiresIn;
public String getAccess_token() { public String getAccessToken() {
return access_token; return accessToken;
} }
public void setAccess_token(String access_token) { public void setAccessToken(String accessToken) {
this.access_token = access_token; this.accessToken = accessToken;
} }
public int getExpires_in() { public int getExpiresIn() {
return expires_in; return expiresIn;
} }
public void setExpires_in(int expires_in) { public void setExpiresIn(int expiresIn) {
this.expires_in = expires_in; this.expiresIn = expiresIn;
} }
public static WxAccessToken fromJson(String json) { public static WxAccessToken fromJson(String json) {

View File

@ -19,25 +19,25 @@ import me.chanjar.weixin.util.json.WxGsonBuilder;
*/ */
public class WxCustomMessage { public class WxCustomMessage {
private String touser; private String toUser;
private String msgtype; private String msgType;
private String content; private String content;
private String media_id; private String mediaId;
private String thumb_media_id; private String thumbMediaId;
private String title; private String title;
private String description; private String description;
private String musicurl; private String musicUrl;
private String hqmusicurl; private String hqMusicUrl;
private List<WxArticle> articles = new ArrayList<WxArticle>(); private List<WxArticle> articles = new ArrayList<WxArticle>();
public String getTouser() { public String getToUser() {
return touser; return toUser;
} }
public void setTouser(String touser) { public void setToUser(String toUser) {
this.touser = touser; this.toUser = toUser;
} }
public String getMsgtype() { public String getMsgType() {
return msgtype; return msgType;
} }
/** /**
@ -50,10 +50,10 @@ public class WxCustomMessage {
* {@link WxConsts#CUSTOM_MSG_VIDEO} * {@link WxConsts#CUSTOM_MSG_VIDEO}
* {@link WxConsts#CUSTOM_MSG_NEWS} * {@link WxConsts#CUSTOM_MSG_NEWS}
* </pre> * </pre>
* @param msgtype * @param msgType
*/ */
public void setMsgtype(String msgtype) { public void setMsgType(String msgType) {
this.msgtype = msgtype; this.msgType = msgType;
} }
public String getContent() { public String getContent() {
return content; return content;
@ -61,17 +61,17 @@ public class WxCustomMessage {
public void setContent(String content) { public void setContent(String content) {
this.content = content; this.content = content;
} }
public String getMedia_id() { public String getMediaId() {
return media_id; return mediaId;
} }
public void setMedia_id(String media_id) { public void setMediaId(String mediaId) {
this.media_id = media_id; this.mediaId = mediaId;
} }
public String getThumb_media_id() { public String getThumbMediaId() {
return thumb_media_id; return thumbMediaId;
} }
public void setThumb_media_id(String thumb_media_id) { public void setThumbMediaId(String thumbMediaId) {
this.thumb_media_id = thumb_media_id; this.thumbMediaId = thumbMediaId;
} }
public String getTitle() { public String getTitle() {
return title; return title;
@ -85,17 +85,17 @@ public class WxCustomMessage {
public void setDescription(String description) { public void setDescription(String description) {
this.description = description; this.description = description;
} }
public String getMusicurl() { public String getMusicUrl() {
return musicurl; return musicUrl;
} }
public void setMusicurl(String musicurl) { public void setMusicUrl(String musicUrl) {
this.musicurl = musicurl; this.musicUrl = musicUrl;
} }
public String getHqmusicurl() { public String getHqMusicUrl() {
return hqmusicurl; return hqMusicUrl;
} }
public void setHqmusicurl(String hqmusicurl) { public void setHqMusicUrl(String hqMusicUrl) {
this.hqmusicurl = hqmusicurl; this.hqMusicUrl = hqMusicUrl;
} }
public List<WxArticle> getArticles() { public List<WxArticle> getArticles() {
return articles; return articles;
@ -113,7 +113,7 @@ public class WxCustomMessage {
private String title; private String title;
private String description; private String description;
private String url; private String url;
private String picurl; private String picUrl;
public String getTitle() { public String getTitle() {
return title; return title;
@ -133,11 +133,11 @@ public class WxCustomMessage {
public void setUrl(String url) { public void setUrl(String url) {
this.url = url; this.url = url;
} }
public String getPicurl() { public String getPicUrl() {
return picurl; return picUrl;
} }
public void setPicurl(String picurl) { public void setPicUrl(String picUrl) {
this.picurl = picurl; this.picUrl = picUrl;
} }
} }

View File

@ -10,10 +10,10 @@ import me.chanjar.weixin.util.json.WxGsonBuilder;
*/ */
public class WxMassGroupMessage { public class WxMassGroupMessage {
private long group_id; private long groupId;
private String msgtype; private String msgtype;
private String content; private String content;
private String media_id; private String mediaId;
public WxMassGroupMessage() { public WxMassGroupMessage() {
super(); super();
@ -47,24 +47,24 @@ public class WxMassGroupMessage {
this.content = content; this.content = content;
} }
public String getMedia_id() { public String getMediaId() {
return media_id; return mediaId;
} }
public void setMedia_id(String media_id) { public void setMediaId(String mediaId) {
this.media_id = media_id; this.mediaId = mediaId;
} }
public String toJson() { public String toJson() {
return WxGsonBuilder.INSTANCE.create().toJson(this); return WxGsonBuilder.INSTANCE.create().toJson(this);
} }
public long getGroup_id() { public long getGroupId() {
return group_id; return groupId;
} }
public void setGroup_id(long group_id) { public void setGroupId(long groupId) {
this.group_id = group_id; this.groupId = groupId;
} }
} }

View File

@ -29,13 +29,13 @@ public class WxMassNews {
/** /**
* <pre> * <pre>
* 群发图文消息article * 群发图文消息article
* 1. thumb_media_id (必填) 图文消息缩略图的media_id可以在基础支持-上传多媒体文件接口中获得 * 1. thumbMediaId (必填) 图文消息缩略图的media_id可以在基础支持-上传多媒体文件接口中获得
* 2. author 图文消息的作者 * 2. author 图文消息的作者
* 3. title (必填) 图文消息的标题 * 3. title (必填) 图文消息的标题
* 4. content_source_url 在图文消息页面点击阅读原文后的页面链接 * 4. contentSourceUrl 在图文消息页面点击阅读原文后的页面链接
* 5. content (必填) 图文消息页面的内容支持HTML标签 * 5. content (必填) 图文消息页面的内容支持HTML标签
* 6. digest 图文消息的描述 * 6. digest 图文消息的描述
* 7, show_cover_pic 是否显示封面true为显示false为不显示 * 7, showCoverPic 是否显示封面true为显示false为不显示
* </pre> * </pre>
* @author chanjarster * @author chanjarster
* *
@ -44,7 +44,7 @@ public class WxMassNews {
/** /**
* (必填) 图文消息缩略图的media_id可以在基础支持-上传多媒体文件接口中获得 * (必填) 图文消息缩略图的media_id可以在基础支持-上传多媒体文件接口中获得
*/ */
private String thumb_media_id; private String thumbMediaId;
/** /**
* 图文消息的作者 * 图文消息的作者
*/ */
@ -56,7 +56,7 @@ public class WxMassNews {
/** /**
* 在图文消息页面点击阅读原文后的页面链接 * 在图文消息页面点击阅读原文后的页面链接
*/ */
private String content_source_url; private String contentSourceUrl;
/** /**
* (必填) 图文消息页面的内容支持HTML标签 * (必填) 图文消息页面的内容支持HTML标签
*/ */
@ -68,13 +68,13 @@ public class WxMassNews {
/** /**
* 是否显示封面true为显示false为不显示 * 是否显示封面true为显示false为不显示
*/ */
private boolean show_cover_pic; private boolean showCoverPic;
public String getThumb_media_id() { public String getThumbMediaId() {
return thumb_media_id; return thumbMediaId;
} }
public void setThumb_media_id(String thumb_media_id) { public void setThumbMediaId(String thumbMediaId) {
this.thumb_media_id = thumb_media_id; this.thumbMediaId = thumbMediaId;
} }
public String getAuthor() { public String getAuthor() {
return author; return author;
@ -88,11 +88,11 @@ public class WxMassNews {
public void setTitle(String title) { public void setTitle(String title) {
this.title = title; this.title = title;
} }
public String getContent_source_url() { public String getContentSourceUrl() {
return content_source_url; return contentSourceUrl;
} }
public void setContent_source_url(String content_source_url) { public void setContentSourceUrl(String contentSourceUrl) {
this.content_source_url = content_source_url; this.contentSourceUrl = contentSourceUrl;
} }
public String getContent() { public String getContent() {
return content; return content;
@ -106,11 +106,11 @@ public class WxMassNews {
public void setDigest(String digest) { public void setDigest(String digest) {
this.digest = digest; this.digest = digest;
} }
public boolean isShow_cover_pic() { public boolean isShowCoverPic() {
return show_cover_pic; return showCoverPic;
} }
public void setShow_cover_pic(boolean show_cover_pic) { public void setShowCoverPic(boolean showCoverPic) {
this.show_cover_pic = show_cover_pic; this.showCoverPic = showCoverPic;
} }
} }

View File

@ -12,17 +12,17 @@ import me.chanjar.weixin.util.json.WxGsonBuilder;
*/ */
public class WxMassOpenIdsMessage { public class WxMassOpenIdsMessage {
private List<String> touser = new ArrayList<String>(); private List<String> toUsers = new ArrayList<String>();
private String msgtype; private String msgType;
private String content; private String content;
private String media_id; private String mediaId;
public WxMassOpenIdsMessage() { public WxMassOpenIdsMessage() {
super(); super();
} }
public String getMsgtype() { public String getMsgType() {
return msgtype; return msgType;
} }
/** /**
@ -35,10 +35,10 @@ public class WxMassOpenIdsMessage {
* {@link me.chanjar.weixin.api.WxConsts#MASS_MSG_VOICE} * {@link me.chanjar.weixin.api.WxConsts#MASS_MSG_VOICE}
* 如果msgtype和media_id不匹配的话会返回系统繁忙的错误 * 如果msgtype和media_id不匹配的话会返回系统繁忙的错误
* </pre> * </pre>
* @param msgtype * @param msgType
*/ */
public void setMsgtype(String msgtype) { public void setMsgType(String msgType) {
this.msgtype = msgtype; this.msgType = msgType;
} }
public String getContent() { public String getContent() {
@ -49,12 +49,12 @@ public class WxMassOpenIdsMessage {
this.content = content; this.content = content;
} }
public String getMedia_id() { public String getMediaId() {
return media_id; return mediaId;
} }
public void setMedia_id(String media_id) { public void setMediaId(String mediaId) {
this.media_id = media_id; this.mediaId = mediaId;
} }
public String toJson() { public String toJson() {
@ -65,8 +65,8 @@ public class WxMassOpenIdsMessage {
* OpenId列表最多支持10,000个 * OpenId列表最多支持10,000个
* @return * @return
*/ */
public List<String> getTouser() { public List<String> getToUsers() {
return touser; return toUsers;
} }
/** /**
@ -74,6 +74,6 @@ public class WxMassOpenIdsMessage {
* @param openId * @param openId
*/ */
public void addUser(String openId) { public void addUser(String openId) {
this.touser.add(openId); this.toUsers.add(openId);
} }
} }

View File

@ -9,7 +9,7 @@ import me.chanjar.weixin.util.json.WxGsonBuilder;
*/ */
public class WxMassVideo { public class WxMassVideo {
private String media_id; private String mediaId;
private String title; private String title;
private String description; private String description;
@ -29,12 +29,12 @@ public class WxMassVideo {
this.description = description; this.description = description;
} }
public String getMedia_id() { public String getMediaId() {
return media_id; return mediaId;
} }
public void setMedia_id(String media_id) { public void setMediaId(String mediaId) {
this.media_id = media_id; this.mediaId = mediaId;
} }
public String toJson() { public String toJson() {

View File

@ -14,14 +14,14 @@ import me.chanjar.weixin.util.json.WxGsonBuilder;
*/ */
public class WxMenu { public class WxMenu {
private List<WxMenuButton> button = new ArrayList<WxMenuButton>(); private List<WxMenuButton> buttons = new ArrayList<WxMenuButton>();
public List<WxMenuButton> getButton() { public List<WxMenuButton> getButtons() {
return button; return buttons;
} }
public void setButton(List<WxMenuButton> button) { public void setButtons(List<WxMenuButton> buttons) {
this.button = button; this.buttons = buttons;
} }
public String toJson() { public String toJson() {
@ -43,7 +43,7 @@ public class WxMenu {
private String key; private String key;
private String url; private String url;
private List<WxMenuButton> sub_button = new ArrayList<WxMenuButton>(); private List<WxMenuButton> subButtons = new ArrayList<WxMenuButton>();
public String getType() { public String getType() {
return type; return type;
@ -77,12 +77,12 @@ public class WxMenu {
this.url = url; this.url = url;
} }
public List<WxMenuButton> getSub_button() { public List<WxMenuButton> getSubButtons() {
return sub_button; return subButtons;
} }
public void setSub_button(List<WxMenuButton> sub_button) { public void setSubButtons(List<WxMenuButton> subButtons) {
this.sub_button = sub_button; this.subButtons = subButtons;
} }
} }

View File

@ -36,91 +36,91 @@ public class WxXmlMessage {
@XmlElement(name = "ToUserName") @XmlElement(name = "ToUserName")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String ToUserName; private String toUserName;
@XmlElement(name = "FromUserName") @XmlElement(name = "FromUserName")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String FromUserName; private String fromUserName;
@XmlElement(name = "CreateTime") @XmlElement(name = "CreateTime")
private Long CreateTime; private Long createTime;
@XmlElement(name = "MsgType") @XmlElement(name = "MsgType")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String MsgType; private String msgType;
@XmlElement(name = "Content") @XmlElement(name = "Content")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Content; private String content;
@XmlElement(name = "MsgId") @XmlElement(name = "MsgId")
private Long MsgId; private Long msgId;
@XmlElement(name = "PicUrl") @XmlElement(name = "PicUrl")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String PicUrl; private String picUrl;
@XmlElement(name = "MediaId") @XmlElement(name = "MediaId")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String MediaId; private String mediaId;
@XmlElement(name = "Format") @XmlElement(name = "Format")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Format; private String format;
@XmlElement(name = "ThumbMediaId") @XmlElement(name = "ThumbMediaId")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String ThumbMediaId; private String thumbMediaId;
@XmlElement(name = "Location_X") @XmlElement(name = "Location_X")
private Double Location_X; private Double locationX;
@XmlElement(name = "Location_Y") @XmlElement(name = "Location_Y")
private Double Location_Y; private Double locationY;
@XmlElement(name = "Scale") @XmlElement(name = "Scale")
private Double Scale; private Double scale;
@XmlElement(name = "Label") @XmlElement(name = "Label")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Label; private String label;
@XmlElement(name = "Title") @XmlElement(name = "Title")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Title; private String title;
@XmlElement(name = "Description") @XmlElement(name = "Description")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Description; private String description;
@XmlElement(name = "Url") @XmlElement(name = "Url")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Url; private String url;
@XmlElement(name = "Event") @XmlElement(name = "Event")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Event; private String event;
@XmlElement(name = "EventKey") @XmlElement(name = "EventKey")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String EventKey; private String eventKey;
@XmlElement(name = "Ticket") @XmlElement(name = "Ticket")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Ticket; private String ticket;
@XmlElement(name = "Latitude") @XmlElement(name = "Latitude")
private Double Latitude; private Double latitude;
@XmlElement(name = "Longitude") @XmlElement(name = "Longitude")
private Double Longitude; private Double longitude;
@XmlElement(name = "Precision") @XmlElement(name = "Precision")
private Double Precision; private Double precision;
@XmlElement(name = "Recognition") @XmlElement(name = "Recognition")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Recognition; private String recognition;
/////////////////////////////////////// ///////////////////////////////////////
// 群发消息返回的结果 // 群发消息返回的结果
@ -130,47 +130,51 @@ public class WxXmlMessage {
*/ */
@XmlElement(name = "Status") @XmlElement(name = "Status")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Status; private String status;
/** /**
* group_id下粉丝数或者openid_list中的粉丝数 * group_id下粉丝数或者openid_list中的粉丝数
*/ */
private Integer TotalCount; @XmlElement(name = "TotalCount")
private Integer totalCount;
/** /**
* 过滤过滤是指特定地区性别的过滤用户设置拒收的过滤用户接收已超4条的过滤准备发送的粉丝数原则上FilterCount = SentCount + ErrorCount * 过滤过滤是指特定地区性别的过滤用户设置拒收的过滤用户接收已超4条的过滤准备发送的粉丝数原则上filterCount = sentCount + errorCount
*/ */
private Integer FilterCount; @XmlElement(name = "FilterCount")
private Integer filterCount;
/** /**
* 发送成功的粉丝数 * 发送成功的粉丝数
*/ */
private Integer SentCount; @XmlElement(name = "SentCount")
private Integer sentCount;
/** /**
* 发送失败的粉丝数 * 发送失败的粉丝数
*/ */
private Integer ErrorCount; @XmlElement(name = "ErrorCount")
private Integer errorCount;
@XmlElement(name = "ScanCodeInfo") @XmlElement(name = "ScanCodeInfo")
private ScanCodeInfo ScanCodeInfo = new ScanCodeInfo(); private ScanCodeInfo scanCodeInfo = new ScanCodeInfo();
@XmlElement(name = "SendPicsInfo") @XmlElement(name = "SendPicsInfo")
private SendPicsInfo SendPicsInfo = new SendPicsInfo(); private SendPicsInfo sendPicsInfo = new SendPicsInfo();
@XmlElement(name = "SendLocationInfo") @XmlElement(name = "SendLocationInfo")
private SendLocationInfo SendLocationInfo = new SendLocationInfo(); private SendLocationInfo sendLocationInfo = new SendLocationInfo();
public String getToUserName() { public String getToUserName() {
return ToUserName; return toUserName;
} }
public void setToUserName(String toUserName) { public void setToUserName(String toUserName) {
ToUserName = toUserName; this.toUserName = toUserName;
} }
public Long getCreateTime() { public Long getCreateTime() {
return CreateTime; return createTime;
} }
public void setCreateTime(Long createTime) { public void setCreateTime(Long createTime) {
CreateTime = createTime; this.createTime = createTime;
} }
/** /**
@ -188,7 +192,7 @@ public class WxXmlMessage {
* @return * @return
*/ */
public String getMsgType() { public String getMsgType() {
return MsgType; return msgType;
} }
/** /**
@ -205,175 +209,175 @@ public class WxXmlMessage {
* @param msgType * @param msgType
*/ */
public void setMsgType(String msgType) { public void setMsgType(String msgType) {
MsgType = msgType; this.msgType = msgType;
} }
public String getContent() { public String getContent() {
return Content; return content;
} }
public void setContent(String content) { public void setContent(String content) {
Content = content; this.content = content;
} }
public Long getMsgId() { public Long getMsgId() {
return MsgId; return msgId;
} }
public void setMsgId(Long msgId) { public void setMsgId(Long msgId) {
MsgId = msgId; this.msgId = msgId;
} }
public String getPicUrl() { public String getPicUrl() {
return PicUrl; return picUrl;
} }
public void setPicUrl(String picUrl) { public void setPicUrl(String picUrl) {
PicUrl = picUrl; this.picUrl = picUrl;
} }
public String getMediaId() { public String getMediaId() {
return MediaId; return mediaId;
} }
public void setMediaId(String mediaId) { public void setMediaId(String mediaId) {
MediaId = mediaId; this.mediaId = mediaId;
} }
public String getFormat() { public String getFormat() {
return Format; return format;
} }
public void setFormat(String format) { public void setFormat(String format) {
Format = format; this.format = format;
} }
public String getThumbMediaId() { public String getThumbMediaId() {
return ThumbMediaId; return thumbMediaId;
} }
public void setThumbMediaId(String thumbMediaId) { public void setThumbMediaId(String thumbMediaId) {
ThumbMediaId = thumbMediaId; this.thumbMediaId = thumbMediaId;
} }
public Double getLocation_X() { public Double getLocationX() {
return Location_X; return locationX;
} }
public void setLocation_X(Double location_X) { public void setLocationX(Double locationX) {
Location_X = location_X; this.locationX = locationX;
} }
public Double getLocation_Y() { public Double getLocationY() {
return Location_Y; return locationY;
} }
public void setLocation_Y(Double location_Y) { public void setLocationY(Double locationY) {
Location_Y = location_Y; this.locationY = locationY;
} }
public Double getScale() { public Double getScale() {
return Scale; return scale;
} }
public void setScale(Double scale) { public void setScale(Double scale) {
Scale = scale; this.scale = scale;
} }
public String getLabel() { public String getLabel() {
return Label; return label;
} }
public void setLabel(String label) { public void setLabel(String label) {
Label = label; this.label = label;
} }
public String getTitle() { public String getTitle() {
return Title; return title;
} }
public void setTitle(String title) { public void setTitle(String title) {
Title = title; this.title = title;
} }
public String getDescription() { public String getDescription() {
return Description; return description;
} }
public void setDescription(String description) { public void setDescription(String description) {
Description = description; this.description = description;
} }
public String getUrl() { public String getUrl() {
return Url; return url;
} }
public void setUrl(String url) { public void setUrl(String url) {
Url = url; this.url = url;
} }
public String getEvent() { public String getEvent() {
return Event; return event;
} }
public void setEvent(String event) { public void setEvent(String event) {
Event = event; this.event = event;
} }
public String getEventKey() { public String getEventKey() {
return EventKey; return eventKey;
} }
public void setEventKey(String eventKey) { public void setEventKey(String eventKey) {
EventKey = eventKey; this.eventKey = eventKey;
} }
public String getTicket() { public String getTicket() {
return Ticket; return ticket;
} }
public void setTicket(String ticket) { public void setTicket(String ticket) {
Ticket = ticket; this.ticket = ticket;
} }
public Double getLatitude() { public Double getLatitude() {
return Latitude; return latitude;
} }
public void setLatitude(Double latitude) { public void setLatitude(Double latitude) {
Latitude = latitude; this.latitude = latitude;
} }
public Double getLongitude() { public Double getLongitude() {
return Longitude; return longitude;
} }
public void setLongitude(Double longitude) { public void setLongitude(Double longitude) {
Longitude = longitude; this.longitude = longitude;
} }
public Double getPrecision() { public Double getPrecision() {
return Precision; return precision;
} }
public void setPrecision(Double precision) { public void setPrecision(Double precision) {
Precision = precision; this.precision = precision;
} }
public String getRecognition() { public String getRecognition() {
return Recognition; return recognition;
} }
public void setRecognition(String recognition) { public void setRecognition(String recognition) {
Recognition = recognition; this.recognition = recognition;
} }
public String getFromUserName() { public String getFromUserName() {
return FromUserName; return fromUserName;
} }
public void setFromUserName(String fromUserName) { public void setFromUserName(String fromUserName) {
FromUserName = fromUserName; this.fromUserName = fromUserName;
} }
public static WxXmlMessage fromXml(String xml) { public static WxXmlMessage fromXml(String xml) {
@ -423,67 +427,67 @@ public class WxXmlMessage {
} }
public String getStatus() { public String getStatus() {
return Status; return status;
} }
public void setStatus(String status) { public void setStatus(String status) {
Status = status; this.status = status;
} }
public Integer getTotalCount() { public Integer getTotalCount() {
return TotalCount; return totalCount;
} }
public void setTotalCount(Integer totalCount) { public void setTotalCount(Integer totalCount) {
TotalCount = totalCount; this.totalCount = totalCount;
} }
public Integer getFilterCount() { public Integer getFilterCount() {
return FilterCount; return filterCount;
} }
public void setFilterCount(Integer filterCount) { public void setFilterCount(Integer filterCount) {
FilterCount = filterCount; this.filterCount = filterCount;
} }
public Integer getSentCount() { public Integer getSentCount() {
return SentCount; return sentCount;
} }
public void setSentCount(Integer sentCount) { public void setSentCount(Integer sentCount) {
SentCount = sentCount; this.sentCount = sentCount;
} }
public Integer getErrorCount() { public Integer getErrorCount() {
return ErrorCount; return errorCount;
} }
public void setErrorCount(Integer errorCount) { public void setErrorCount(Integer errorCount) {
ErrorCount = errorCount; this.errorCount = errorCount;
} }
public WxXmlMessage.ScanCodeInfo getScanCodeInfo() { public WxXmlMessage.ScanCodeInfo getScanCodeInfo() {
return ScanCodeInfo; return scanCodeInfo;
} }
public void setScanCodeInfo(WxXmlMessage.ScanCodeInfo scanCodeInfo) { public void setScanCodeInfo(WxXmlMessage.ScanCodeInfo scanCodeInfo) {
ScanCodeInfo = scanCodeInfo; this.scanCodeInfo = scanCodeInfo;
} }
public WxXmlMessage.SendPicsInfo getSendPicsInfo() { public WxXmlMessage.SendPicsInfo getSendPicsInfo() {
return SendPicsInfo; return sendPicsInfo;
} }
public void setSendPicsInfo(WxXmlMessage.SendPicsInfo sendPicsInfo) { public void setSendPicsInfo(WxXmlMessage.SendPicsInfo sendPicsInfo) {
SendPicsInfo = sendPicsInfo; this.sendPicsInfo = sendPicsInfo;
} }
public WxXmlMessage.SendLocationInfo getSendLocationInfo() { public WxXmlMessage.SendLocationInfo getSendLocationInfo() {
return SendLocationInfo; return sendLocationInfo;
} }
public void setSendLocationInfo(WxXmlMessage.SendLocationInfo sendLocationInfo) { public void setSendLocationInfo(WxXmlMessage.SendLocationInfo sendLocationInfo) {
SendLocationInfo = sendLocationInfo; this.sendLocationInfo = sendLocationInfo;
} }
@XmlRootElement(name = "ScanCodeInfo") @XmlRootElement(name = "ScanCodeInfo")
@ -492,11 +496,11 @@ public class WxXmlMessage {
@XmlElement(name = "ScanType") @XmlElement(name = "ScanType")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String ScanType; private String scanType;
@XmlElement(name = "ScanResult") @XmlElement(name = "ScanResult")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String ScanResult; private String scanResult;
/** /**
* 扫描类型一般是qrcode * 扫描类型一般是qrcode
@ -504,11 +508,11 @@ public class WxXmlMessage {
*/ */
public String getScanType() { public String getScanType() {
return ScanType; return scanType;
} }
public void setScanType(String scanType) { public void setScanType(String scanType) {
ScanType = scanType; this.scanType = scanType;
} }
/** /**
@ -516,11 +520,11 @@ public class WxXmlMessage {
* @return * @return
*/ */
public String getScanResult() { public String getScanResult() {
return ScanResult; return scanResult;
} }
public void setScanResult(String scanResult) { public void setScanResult(String scanResult) {
ScanResult = scanResult; this.scanResult = scanResult;
} }
} }
@ -529,22 +533,23 @@ public class WxXmlMessage {
@XmlAccessorType(XmlAccessType.FIELD) @XmlAccessorType(XmlAccessType.FIELD)
public static class SendPicsInfo { public static class SendPicsInfo {
private Long Count; @XmlElement(name = "Count")
private Long count;
@XmlElementWrapper(name="PicList") @XmlElementWrapper(name="PicList")
@XmlElement(name = "item") @XmlElement(name = "item")
protected final List<Item> PicList = new ArrayList<Item>(); protected final List<Item> picList = new ArrayList<Item>();
public Long getCount() { public Long getCount() {
return Count; return count;
} }
public void setCount(Long count) { public void setCount(Long count) {
Count = count; this.count = count;
} }
public List<Item> getPicList() { public List<Item> getPicList() {
return PicList; return picList;
} }
@XmlRootElement(name = "item") @XmlRootElement(name = "item")
@ -572,62 +577,62 @@ public class WxXmlMessage {
@XmlElement(name = "Location_X") @XmlElement(name = "Location_X")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Location_X; private String locationX;
@XmlElement(name = "Location_Y") @XmlElement(name = "Location_Y")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Location_Y; private String locationY;
@XmlElement(name = "Scale") @XmlElement(name = "Scale")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Scale; private String scale;
@XmlElement(name = "Label") @XmlElement(name = "Label")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Label; private String label;
@XmlElement(name = "Poiname") @XmlElement(name = "Poiname")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Poiname; private String poiname;
public String getLocation_X() { public String getLocationX() {
return Location_X; return locationX;
} }
public void setLocation_X(String location_X) { public void setLocationX(String locationX) {
Location_X = location_X; this.locationX = locationX;
} }
public String getLocation_Y() { public String getLocationY() {
return Location_Y; return locationY;
} }
public void setLocation_Y(String location_Y) { public void setLocationY(String locationY) {
Location_Y = location_Y; this.locationY = locationY;
} }
public String getScale() { public String getScale() {
return Scale; return scale;
} }
public void setScale(String scale) { public void setScale(String scale) {
Scale = scale; this.scale = scale;
} }
public String getLabel() { public String getLabel() {
return Label; return label;
} }
public void setLabel(String label) { public void setLabel(String label) {
Label = label; this.label = label;
} }
public String getPoiname() { public String getPoiname() {
return Poiname; return poiname;
} }
public void setPoiname(String poiname) { public void setPoiname(String poiname) {
Poiname = poiname; this.poiname = poiname;
} }
} }

View File

@ -15,18 +15,18 @@ public class WxXmlOutImageMessage extends WxXmlOutMessage {
@XmlElement(name="Image") @XmlElement(name="Image")
@XmlJavaTypeAdapter(MediaIdMarshaller.class) @XmlJavaTypeAdapter(MediaIdMarshaller.class)
private String MediaId; private String mediaId;
public WxXmlOutImageMessage() { public WxXmlOutImageMessage() {
this.MsgType = WxConsts.XML_MSG_IMAGE; this.msgType = WxConsts.XML_MSG_IMAGE;
} }
public String getMediaId() { public String getMediaId() {
return MediaId; return mediaId;
} }
public void setMediaId(String mediaId) { public void setMediaId(String mediaId) {
MediaId = mediaId; this.mediaId = mediaId;
} }
} }

View File

@ -24,49 +24,49 @@ public class WxXmlOutMessage {
@XmlElement(name="ToUserName") @XmlElement(name="ToUserName")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
protected String ToUserName; protected String toUserName;
@XmlElement(name="FromUserName") @XmlElement(name="FromUserName")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
protected String FromUserName; protected String fromUserName;
@XmlElement(name="CreateTime") @XmlElement(name="CreateTime")
protected Long CreateTime; protected Long createTime;
@XmlElement(name="MsgType") @XmlElement(name="MsgType")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
protected String MsgType; protected String msgType;
public String getToUserName() { public String getToUserName() {
return ToUserName; return toUserName;
} }
public void setToUserName(String toUserName) { public void setToUserName(String toUserName) {
ToUserName = toUserName; this.toUserName = toUserName;
} }
public String getFromUserName() { public String getFromUserName() {
return FromUserName; return fromUserName;
} }
public void setFromUserName(String fromUserName) { public void setFromUserName(String fromUserName) {
FromUserName = fromUserName; this.fromUserName = fromUserName;
} }
public Long getCreateTime() { public Long getCreateTime() {
return CreateTime; return createTime;
} }
public void setCreateTime(Long createTime) { public void setCreateTime(Long createTime) {
CreateTime = createTime; this.createTime = createTime;
} }
public String getMsgType() { public String getMsgType() {
return MsgType; return msgType;
} }
public void setMsgType(String msgType) { public void setMsgType(String msgType) {
MsgType = msgType; this.msgType = msgType;
} }
public String toXml() { public String toXml() {

View File

@ -18,27 +18,27 @@ import me.chanjar.weixin.util.xml.AdapterCDATA;
public class WxXmlOutMewsMessage extends WxXmlOutMessage { public class WxXmlOutMewsMessage extends WxXmlOutMessage {
@XmlElement(name = "ArticleCount") @XmlElement(name = "ArticleCount")
protected int ArticleCount; protected int articleCount;
@XmlElementWrapper(name="Articles") @XmlElementWrapper(name="Articles")
@XmlElement(name = "Item") @XmlElement(name = "Item")
protected final List<Item> Articles = new ArrayList<Item>(); protected final List<Item> articles = new ArrayList<Item>();
public WxXmlOutMewsMessage() { public WxXmlOutMewsMessage() {
this.MsgType = WxConsts.XML_MSG_NEWS; this.msgType = WxConsts.XML_MSG_NEWS;
} }
public int getArticleCount() { public int getArticleCount() {
return ArticleCount; return articleCount;
} }
public void addArticle(Item item) { public void addArticle(Item item) {
this.Articles.add(item); this.articles.add(item);
this.ArticleCount = this.Articles.size(); this.articleCount = this.articles.size();
} }
public List<Item> getArticles() { public List<Item> getArticles() {
return Articles; return articles;
} }

View File

@ -17,7 +17,7 @@ public class WxXmlOutMusicMessage extends WxXmlOutMessage {
protected final Music music = new Music(); protected final Music music = new Music();
public WxXmlOutMusicMessage() { public WxXmlOutMusicMessage() {
this.MsgType = WxConsts.XML_MSG_MUSIC; this.msgType = WxConsts.XML_MSG_MUSIC;
} }
public String getTitle() { public String getTitle() {
@ -52,12 +52,12 @@ public class WxXmlOutMusicMessage extends WxXmlOutMessage {
music.setMusicUrl(musicUrl); music.setMusicUrl(musicUrl);
} }
public String getHQMusicUrl() { public String getHqMusicUrl() {
return music.getHQMusicUrl(); return music.getHqMusicUrl();
} }
public void setHQMusicUrl(String hQMusicUrl) { public void setHqMusicUrl(String hqMusicUrl) {
music.setHQMusicUrl(hQMusicUrl); music.setHqMusicUrl(hqMusicUrl);
} }
@XmlRootElement(name = "Music") @XmlRootElement(name = "Music")
@ -66,62 +66,62 @@ public class WxXmlOutMusicMessage extends WxXmlOutMessage {
@XmlElement(name = "Title") @XmlElement(name = "Title")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Title; private String title;
@XmlElement(name = "Description") @XmlElement(name = "Description")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Description; private String description;
@XmlElement(name="ThumbMediaId") @XmlElement(name="ThumbMediaId")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String ThumbMediaId; private String thumbMediaId;
@XmlElement(name="MusicUrl") @XmlElement(name="MusicUrl")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String MusicUrl; private String musicUrl;
@XmlElement(name="HQMusicUrl") @XmlElement(name="HQMusicUrl")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String HQMusicUrl; private String hqMusicUrl;
public String getTitle() { public String getTitle() {
return Title; return title;
} }
public void setTitle(String title) { public void setTitle(String title) {
Title = title; this.title = title;
} }
public String getDescription() { public String getDescription() {
return Description; return description;
} }
public void setDescription(String description) { public void setDescription(String description) {
Description = description; this.description = description;
} }
public String getThumbMediaId() { public String getThumbMediaId() {
return ThumbMediaId; return thumbMediaId;
} }
public void setThumbMediaId(String thumbMediaId) { public void setThumbMediaId(String thumbMediaId) {
ThumbMediaId = thumbMediaId; this.thumbMediaId = thumbMediaId;
} }
public String getMusicUrl() { public String getMusicUrl() {
return MusicUrl; return musicUrl;
} }
public void setMusicUrl(String musicUrl) { public void setMusicUrl(String musicUrl) {
MusicUrl = musicUrl; this.musicUrl = musicUrl;
} }
public String getHQMusicUrl() { public String getHqMusicUrl() {
return HQMusicUrl; return hqMusicUrl;
} }
public void setHQMusicUrl(String hQMusicUrl) { public void setHqMusicUrl(String hqMusicUrl) {
HQMusicUrl = hQMusicUrl; this.hqMusicUrl = hqMusicUrl;
} }
} }

View File

@ -15,18 +15,18 @@ public class WxXmlOutTextMessage extends WxXmlOutMessage {
@XmlElement(name="Content") @XmlElement(name="Content")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Content; private String content;
public WxXmlOutTextMessage() { public WxXmlOutTextMessage() {
this.MsgType = WxConsts.XML_MSG_TEXT; this.msgType = WxConsts.XML_MSG_TEXT;
} }
public String getContent() { public String getContent() {
return Content; return content;
} }
public void setContent(String content) { public void setContent(String content) {
Content = content; this.content = content;
} }

View File

@ -17,7 +17,7 @@ public class WxXmlOutVideoMessage extends WxXmlOutMessage {
protected final Video video = new Video(); protected final Video video = new Video();
public WxXmlOutVideoMessage() { public WxXmlOutVideoMessage() {
this.MsgType = WxConsts.XML_MSG_VIDEO; this.msgType = WxConsts.XML_MSG_VIDEO;
} }
public String getMediaId() { public String getMediaId() {
@ -51,38 +51,38 @@ public class WxXmlOutVideoMessage extends WxXmlOutMessage {
@XmlElement(name = "MediaId") @XmlElement(name = "MediaId")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String MediaId; private String mediaId;
@XmlElement(name = "Title") @XmlElement(name = "Title")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Title; private String title;
@XmlElement(name = "Description") @XmlElement(name = "Description")
@XmlJavaTypeAdapter(AdapterCDATA.class) @XmlJavaTypeAdapter(AdapterCDATA.class)
private String Description; private String description;
public String getMediaId() { public String getMediaId() {
return MediaId; return mediaId;
} }
public void setMediaId(String mediaId) { public void setMediaId(String mediaId) {
MediaId = mediaId; this.mediaId = mediaId;
} }
public String getTitle() { public String getTitle() {
return Title; return title;
} }
public void setTitle(String title) { public void setTitle(String title) {
Title = title; this.title = title;
} }
public String getDescription() { public String getDescription() {
return Description; return description;
} }
public void setDescription(String description) { public void setDescription(String description) {
Description = description; this.description = description;
} }
} }

View File

@ -15,18 +15,18 @@ public class WxXmlOutVoiceMessage extends WxXmlOutMessage {
@XmlElement(name="Voice") @XmlElement(name="Voice")
@XmlJavaTypeAdapter(MediaIdMarshaller.class) @XmlJavaTypeAdapter(MediaIdMarshaller.class)
private String MediaId; private String mediaId;
public WxXmlOutVoiceMessage() { public WxXmlOutVoiceMessage() {
this.MsgType = WxConsts.XML_MSG_VOICE; this.msgType = WxConsts.XML_MSG_VOICE;
} }
public String getMediaId() { public String getMediaId() {
return MediaId; return mediaId;
} }
public void setMediaId(String mediaId) { public void setMediaId(String mediaId) {
MediaId = mediaId; this.mediaId = mediaId;
} }
} }

View File

@ -3,7 +3,7 @@ package me.chanjar.weixin.bean.custombuilder;
import me.chanjar.weixin.bean.WxCustomMessage; import me.chanjar.weixin.bean.WxCustomMessage;
public class BaseBuilder<T> { public class BaseBuilder<T> {
protected String msgtype; protected String msgType;
protected String toUser; protected String toUser;
public T toUser(String toUser) { public T toUser(String toUser) {
@ -13,8 +13,8 @@ public class BaseBuilder<T> {
public WxCustomMessage build() { public WxCustomMessage build() {
WxCustomMessage m = new WxCustomMessage(); WxCustomMessage m = new WxCustomMessage();
m.setMsgtype(this.msgtype); m.setMsgType(this.msgType);
m.setTouser(this.toUser); m.setToUser(this.toUser);
return m; return m;
} }
} }

View File

@ -6,26 +6,26 @@ import me.chanjar.weixin.bean.WxCustomMessage;
/** /**
* 获得消息builder * 获得消息builder
* <pre> * <pre>
* 用法: WxCustomMessage m = WxCustomMessage.IMAGE().media_id(...).touser(...).build(); * 用法: WxCustomMessage m = WxCustomMessage.IMAGE().mediaId(...).touser(...).build();
* </pre> * </pre>
* @author chanjarster * @author chanjarster
* *
*/ */
public final class ImageBuilder extends BaseBuilder<ImageBuilder> { public final class ImageBuilder extends BaseBuilder<ImageBuilder> {
private String media_id; private String mediaId;
public ImageBuilder() { public ImageBuilder() {
this.msgtype = WxConsts.CUSTOM_MSG_IMAGE; this.msgType = WxConsts.CUSTOM_MSG_IMAGE;
} }
public ImageBuilder mediaId(String media_id) { public ImageBuilder mediaId(String media_id) {
this.media_id = media_id; this.mediaId = media_id;
return this; return this;
} }
public WxCustomMessage build() { public WxCustomMessage build() {
WxCustomMessage m = super.build(); WxCustomMessage m = super.build();
m.setMedia_id(this.media_id); m.setMediaId(this.mediaId);
return m; return m;
} }
} }

View File

@ -7,10 +7,10 @@ import me.chanjar.weixin.bean.WxCustomMessage;
* 音乐消息builder * 音乐消息builder
* <pre> * <pre>
* 用法: WxCustomMessage m = WxCustomMessage.MUSIC() * 用法: WxCustomMessage m = WxCustomMessage.MUSIC()
* .musicurl(...) * .musicUrl(...)
* .hqmusicurl(...) * .hqMusicUrl(...)
* .title(...) * .title(...)
* .thumb_media_id(..) * .thumbMediaId(..)
* .description(..) * .description(..)
* .touser(...) * .touser(...)
* .build(); * .build();
@ -19,21 +19,21 @@ import me.chanjar.weixin.bean.WxCustomMessage;
public final class MusicBuilder extends BaseBuilder<MusicBuilder> { public final class MusicBuilder extends BaseBuilder<MusicBuilder> {
private String title; private String title;
private String description; private String description;
private String thumb_media_id; private String thumbMediaId;
private String musicurl; private String musicUrl;
private String hqmusicurl; private String hqMusicUrl;
public MusicBuilder() { public MusicBuilder() {
this.msgtype = WxConsts.CUSTOM_MSG_MUSIC; this.msgType = WxConsts.CUSTOM_MSG_MUSIC;
} }
public MusicBuilder musicUrl(String musicurl) { public MusicBuilder musicUrl(String musicurl) {
this.musicurl = musicurl; this.musicUrl = musicurl;
return this; return this;
} }
public MusicBuilder hqmusicUrl(String hqmusicurl) { public MusicBuilder hqMusicUrl(String hqMusicurl) {
this.hqmusicurl = hqmusicurl; this.hqMusicUrl = hqMusicurl;
return this; return this;
} }
@ -48,17 +48,17 @@ public final class MusicBuilder extends BaseBuilder<MusicBuilder> {
} }
public MusicBuilder thumbMediaId(String thumb_media_id) { public MusicBuilder thumbMediaId(String thumb_media_id) {
this.thumb_media_id = thumb_media_id; this.thumbMediaId = thumb_media_id;
return this; return this;
} }
public WxCustomMessage build() { public WxCustomMessage build() {
WxCustomMessage m = super.build(); WxCustomMessage m = super.build();
m.setMusicurl(this.musicurl); m.setMusicUrl(this.musicUrl);
m.setHqmusicurl(this.hqmusicurl); m.setHqMusicUrl(this.hqMusicUrl);
m.setTitle(title); m.setTitle(title);
m.setDescription(description); m.setDescription(description);
m.setThumb_media_id(thumb_media_id); m.setThumbMediaId(thumbMediaId);
return m; return m;
} }
} }

View File

@ -20,7 +20,7 @@ public final class NewsBuilder extends BaseBuilder<NewsBuilder> {
private List<WxCustomMessage.WxArticle> articles = new ArrayList<WxCustomMessage.WxArticle>(); private List<WxCustomMessage.WxArticle> articles = new ArrayList<WxCustomMessage.WxArticle>();
public NewsBuilder() { public NewsBuilder() {
this.msgtype = WxConsts.CUSTOM_MSG_NEWS; this.msgType = WxConsts.CUSTOM_MSG_NEWS;
} }
public NewsBuilder addArticle(WxCustomMessage.WxArticle article) { public NewsBuilder addArticle(WxCustomMessage.WxArticle article) {

View File

@ -15,7 +15,7 @@ public final class TextBuilder extends BaseBuilder<TextBuilder> {
private String content; private String content;
public TextBuilder() { public TextBuilder() {
this.msgtype = WxConsts.CUSTOM_MSG_TEXT; this.msgType = WxConsts.CUSTOM_MSG_TEXT;
} }
public TextBuilder content(String content) { public TextBuilder content(String content) {

View File

@ -7,9 +7,9 @@ import me.chanjar.weixin.bean.WxCustomMessage;
* 视频消息builder * 视频消息builder
* <pre> * <pre>
* 用法: WxCustomMessage m = WxCustomMessage.VOICE() * 用法: WxCustomMessage m = WxCustomMessage.VOICE()
* .media_id(...) * .mediaId(...)
* .title(...) * .title(...)
* .thumb_media_id(..) * .thumbMediaId(..)
* .description(..) * .description(..)
* .touser(...) * .touser(...)
* .build(); * .build();
@ -18,17 +18,17 @@ import me.chanjar.weixin.bean.WxCustomMessage;
* *
*/ */
public final class VideoBuilder extends BaseBuilder<VideoBuilder> { public final class VideoBuilder extends BaseBuilder<VideoBuilder> {
private String media_id; private String mediaId;
private String title; private String title;
private String description; private String description;
private String thumb_media_id; private String thumbMediaId;
public VideoBuilder() { public VideoBuilder() {
this.msgtype = WxConsts.CUSTOM_MSG_VIDEO; this.msgType = WxConsts.CUSTOM_MSG_VIDEO;
} }
public VideoBuilder mediaId(String media_id) { public VideoBuilder mediaId(String mediaId) {
this.media_id = media_id; this.mediaId = mediaId;
return this; return this;
} }
@ -43,16 +43,16 @@ public final class VideoBuilder extends BaseBuilder<VideoBuilder> {
} }
public VideoBuilder thumbMediaId(String thumb_media_id) { public VideoBuilder thumbMediaId(String thumb_media_id) {
this.thumb_media_id = thumb_media_id; this.thumbMediaId = thumb_media_id;
return this; return this;
} }
public WxCustomMessage build() { public WxCustomMessage build() {
WxCustomMessage m = super.build(); WxCustomMessage m = super.build();
m.setMedia_id(this.media_id); m.setMediaId(this.mediaId);
m.setTitle(title); m.setTitle(title);
m.setDescription(description); m.setDescription(description);
m.setThumb_media_id(thumb_media_id); m.setThumbMediaId(thumbMediaId);
return m; return m;
} }
} }

View File

@ -6,26 +6,26 @@ import me.chanjar.weixin.bean.WxCustomMessage;
/** /**
* 语音消息builder * 语音消息builder
* <pre> * <pre>
* 用法: WxCustomMessage m = WxCustomMessage.VOICE().media_id(...).touser(...).build(); * 用法: WxCustomMessage m = WxCustomMessage.VOICE().mediaId(...).touser(...).build();
* </pre> * </pre>
* @author chanjarster * @author chanjarster
* *
*/ */
public final class VoiceBuilder extends BaseBuilder<VoiceBuilder> { public final class VoiceBuilder extends BaseBuilder<VoiceBuilder> {
private String media_id; private String mediaId;
public VoiceBuilder() { public VoiceBuilder() {
this.msgtype = WxConsts.CUSTOM_MSG_VOICE; this.msgType = WxConsts.CUSTOM_MSG_VOICE;
} }
public VoiceBuilder mediaId(String media_id) { public VoiceBuilder mediaId(String media_id) {
this.media_id = media_id; this.mediaId = media_id;
return this; return this;
} }
public WxCustomMessage build() { public WxCustomMessage build() {
WxCustomMessage m = super.build(); WxCustomMessage m = super.build();
m.setMedia_id(this.media_id); m.setMediaId(this.mediaId);
return m; return m;
} }
} }

View File

@ -11,7 +11,7 @@ public final class MusicBuilder extends BaseBuilder<MusicBuilder, WxXmlOutMusicM
private String title; private String title;
private String description; private String description;
private String hQMusicUrl; private String hqMusicUrl;
private String musicUrl; private String musicUrl;
private String thumbMediaId; private String thumbMediaId;
@ -25,8 +25,8 @@ public final class MusicBuilder extends BaseBuilder<MusicBuilder, WxXmlOutMusicM
return this; return this;
} }
public MusicBuilder hqmusicUrl(String hQMusicUrl) { public MusicBuilder hqMusicUrl(String hqMusicUrl) {
this.hQMusicUrl = hQMusicUrl; this.hqMusicUrl = hqMusicUrl;
return this; return this;
} }
@ -45,7 +45,7 @@ public final class MusicBuilder extends BaseBuilder<MusicBuilder, WxXmlOutMusicM
setCommon(m); setCommon(m);
m.setTitle(title); m.setTitle(title);
m.setDescription(description); m.setDescription(description);
m.setHQMusicUrl(hQMusicUrl); m.setHqMusicUrl(hqMusicUrl);
m.setMusicUrl(musicUrl); m.setMusicUrl(musicUrl);
m.setThumbMediaId(thumbMediaId); m.setThumbMediaId(thumbMediaId);
return m; return m;

View File

@ -100,28 +100,28 @@ public class WxError {
errMap.put(50001, "用户未授权该api"); errMap.put(50001, "用户未授权该api");
} }
protected int errcode; protected int errorCode;
protected String errmsg; protected String errorMsg;
public int getErrcode() { public int getErrorCode() {
return errcode; return errorCode;
} }
public void setErrcode(int errcode) { public void setErrorCode(int errorCode) {
this.errcode = errcode; this.errorCode = errorCode;
} }
public String getErrmsg() { public String getErrorMsg() {
return errmsg; return errorMsg;
} }
public void setErrmsg(String errmsg) { public void setErrorMsg(String errorMsg) {
this.errmsg = errmsg; this.errorMsg = errorMsg;
} }
public String getDescription() { public String getDescription() {
return errMap.get(errcode); return errMap.get(errorCode);
} }
public static WxError fromJson(String json) { public static WxError fromJson(String json) {
@ -130,7 +130,7 @@ public class WxError {
@Override @Override
public String toString() { public String toString() {
return "微信错误 errcode=" + errcode + ", errmsg=" + errmsg + ", description=" + getDescription(); return "微信错误 errcode=" + errorCode + ", errmsg=" + errorMsg + ", description=" + getDescription();
} }
} }

View File

@ -15,32 +15,32 @@ import me.chanjar.weixin.util.json.WxGsonBuilder;
*/ */
public class WxMassSendResult { public class WxMassSendResult {
private String errcode; private String errorCode;
private String errmsg; private String errorMsg;
private String msg_id; private String msgId;
public String getErrcode() { public String getErrorCode() {
return errcode; return errorCode;
} }
public void setErrcode(String errcode) { public void setErrorCode(String errorCode) {
this.errcode = errcode; this.errorCode = errorCode;
} }
public String getErrmsg() { public String getErrorMsg() {
return errmsg; return errorMsg;
} }
public void setErrmsg(String errmsg) { public void setErrorMsg(String errorMsg) {
this.errmsg = errmsg; this.errorMsg = errorMsg;
} }
public String getMsg_id() { public String getMsgId() {
return msg_id; return msgId;
} }
public void setMsg_id(String msg_id) { public void setMsgId(String msgId) {
this.msg_id = msg_id; this.msgId = msgId;
} }
public static WxMassSendResult fromJson(String json) { public static WxMassSendResult fromJson(String json) {
@ -49,7 +49,7 @@ public class WxMassSendResult {
@Override @Override
public String toString() { public String toString() {
return "WxMassSendResult [errcode=" + errcode + ", errmsg=" + errmsg + ", msg_id=" + msg_id + "]"; return "WxMassSendResult [errcode=" + errorCode + ", errmsg=" + errorMsg + ", msg_id=" + msgId + "]";
} }
} }

View File

@ -13,8 +13,8 @@ import me.chanjar.weixin.util.json.WxGsonBuilder;
public class WxMassUploadResult { public class WxMassUploadResult {
private String type; private String type;
private String media_id; private String mediaId;
private long created_at; private long createdAt;
public String getType() { public String getType() {
return type; return type;
@ -24,20 +24,20 @@ public class WxMassUploadResult {
this.type = type; this.type = type;
} }
public String getMedia_id() { public String getMediaId() {
return media_id; return mediaId;
} }
public void setMedia_id(String media_id) { public void setMediaId(String mediaId) {
this.media_id = media_id; this.mediaId = mediaId;
} }
public long getCreated_at() { public long getCreatedAt() {
return created_at; return createdAt;
} }
public void setCreated_at(long created_at) { public void setCreatedAt(long createdAt) {
this.created_at = created_at; this.createdAt = createdAt;
} }
public static WxMassUploadResult fromJson(String json) { public static WxMassUploadResult fromJson(String json) {
@ -46,7 +46,7 @@ public class WxMassUploadResult {
@Override @Override
public String toString() { public String toString() {
return "WxUploadResult [type=" + type + ", media_id=" + media_id + ", created_at=" + created_at + "]"; return "WxUploadResult [type=" + type + ", media_id=" + mediaId + ", created_at=" + createdAt + "]";
} }
} }

View File

@ -5,9 +5,9 @@ import me.chanjar.weixin.util.json.WxGsonBuilder;
public class WxMediaUploadResult { public class WxMediaUploadResult {
private String type; private String type;
private String media_id; private String mediaId;
private String thumb_media_id; private String thumbMediaId;
private long created_at; private long createdAt;
public String getType() { public String getType() {
return type; return type;
@ -17,38 +17,38 @@ public class WxMediaUploadResult {
this.type = type; this.type = type;
} }
public String getMedia_id() { public String getMediaId() {
return media_id; return mediaId;
} }
public void setMedia_id(String media_id) { public void setMediaId(String mediaId) {
this.media_id = media_id; this.mediaId = mediaId;
} }
public long getCreated_at() { public long getCreatedAt() {
return created_at; return createdAt;
} }
public void setCreated_at(long created_at) { public void setCreatedAt(long createdAt) {
this.created_at = created_at; this.createdAt = createdAt;
} }
public static WxMediaUploadResult fromJson(String json) { public static WxMediaUploadResult fromJson(String json) {
return WxGsonBuilder.create().fromJson(json, WxMediaUploadResult.class); return WxGsonBuilder.create().fromJson(json, WxMediaUploadResult.class);
} }
public String getThumb_media_id() { public String getThumbMediaId() {
return thumb_media_id; return thumbMediaId;
} }
public void setThumb_media_id(String thumb_media_id) { public void setThumbMediaId(String thumbMediaId) {
this.thumb_media_id = thumb_media_id; this.thumbMediaId = thumbMediaId;
} }
@Override @Override
public String toString() { public String toString() {
return "WxUploadResult [type=" + type + ", media_id=" + media_id + ", thumb_media_id=" + thumb_media_id return "WxUploadResult [type=" + type + ", media_id=" + mediaId + ", thumb_media_id=" + thumbMediaId
+ ", created_at=" + created_at + "]"; + ", created_at=" + createdAt + "]";
} }
} }

View File

@ -10,16 +10,16 @@ import me.chanjar.weixin.util.json.WxGsonBuilder;
public class WxUser { public class WxUser {
protected boolean subscribe; protected boolean subscribe;
protected String openid; protected String openId;
protected String nickname; protected String nickname;
protected String sex; protected String sex;
protected String language; protected String language;
protected String city; protected String city;
protected String province; protected String province;
protected String country; protected String country;
protected String headimgurl; protected String headImgUrl;
protected long subscribe_time; protected long subscribeTime;
protected String unionid; protected String unionId;
public boolean isSubscribe() { public boolean isSubscribe() {
return subscribe; return subscribe;
@ -27,11 +27,11 @@ public class WxUser {
public void setSubscribe(boolean subscribe) { public void setSubscribe(boolean subscribe) {
this.subscribe = subscribe; this.subscribe = subscribe;
} }
public String getOpenid() { public String getOpenId() {
return openid; return openId;
} }
public void setOpenid(String openid) { public void setOpenId(String openId) {
this.openid = openid; this.openId = openId;
} }
public String getNickname() { public String getNickname() {
return nickname; return nickname;
@ -69,23 +69,23 @@ public class WxUser {
public void setCountry(String country) { public void setCountry(String country) {
this.country = country; this.country = country;
} }
public String getHeadimgurl() { public String getHeadImgUrl() {
return headimgurl; return headImgUrl;
} }
public void setHeadimgurl(String headimgurl) { public void setHeadImgUrl(String headImgUrl) {
this.headimgurl = headimgurl; this.headImgUrl = headImgUrl;
} }
public long getSubscribe_time() { public long getSubscribeTime() {
return subscribe_time; return subscribeTime;
} }
public void setSubscribe_time(long subscribe_time) { public void setSubscribeTime(long subscribeTime) {
this.subscribe_time = subscribe_time; this.subscribeTime = subscribeTime;
} }
public String getUnionid() { public String getUnionId() {
return unionid; return unionId;
} }
public void setUnionid(String unionid) { public void setUnionId(String unionId) {
this.unionid = unionid; this.unionId = unionId;
} }
public static WxUser fromJson(String json) { public static WxUser fromJson(String json) {

View File

@ -15,8 +15,8 @@ public class WxUserList {
protected int total = -1; protected int total = -1;
protected int count = -1; protected int count = -1;
protected List<String> openids = new ArrayList<String>(); protected List<String> openIds = new ArrayList<String>();
protected String next_openid; protected String nextOpenId;
public int getTotal() { public int getTotal() {
return total; return total;
} }
@ -29,17 +29,17 @@ public class WxUserList {
public void setCount(int count) { public void setCount(int count) {
this.count = count; this.count = count;
} }
public List<String> getOpenids() { public List<String> getOpenIds() {
return openids; return openIds;
} }
public void setOpenids(List<String> openids) { public void setOpenIds(List<String> openIds) {
this.openids = openids; this.openIds = openIds;
} }
public String getNext_openid() { public String getNextOpenId() {
return next_openid; return nextOpenId;
} }
public void setNext_openid(String next_openid) { public void setNextOpenId(String nextOpenId) {
this.next_openid = next_openid; this.nextOpenId = nextOpenId;
} }
public static WxUserList fromJson(String json) { public static WxUserList fromJson(String json) {

View File

@ -35,7 +35,7 @@ public class MediaUploadRequestExecutor implements RequestExecutor<WxMediaUpload
CloseableHttpResponse response = httpclient.execute(httpPost); CloseableHttpResponse response = httpclient.execute(httpPost);
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
WxError error = WxError.fromJson(responseContent); WxError error = WxError.fromJson(responseContent);
if (error.getErrcode() != 0) { if (error.getErrorCode() != 0) {
throw new WxErrorException(error); throw new WxErrorException(error);
} }
return WxMediaUploadResult.fromJson(responseContent); return WxMediaUploadResult.fromJson(responseContent);

View File

@ -28,7 +28,7 @@ public class SimpleGetRequestExecutor implements RequestExecutor<String, String>
CloseableHttpResponse response = httpclient.execute(httpGet); CloseableHttpResponse response = httpclient.execute(httpGet);
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
WxError error = WxError.fromJson(responseContent); WxError error = WxError.fromJson(responseContent);
if (error.getErrcode() != 0) { if (error.getErrorCode() != 0) {
throw new WxErrorException(error); throw new WxErrorException(error);
} }
return responseContent; return responseContent;

View File

@ -27,7 +27,7 @@ public class SimplePostRequestExecutor implements RequestExecutor<String, String
CloseableHttpResponse response = httpclient.execute(httpPost); CloseableHttpResponse response = httpclient.execute(httpPost);
String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response);
WxError error = WxError.fromJson(responseContent); WxError error = WxError.fromJson(responseContent);
if (error.getErrcode() != 0) { if (error.getErrorCode() != 0) {
throw new WxErrorException(error); throw new WxErrorException(error);
} }
return responseContent; return responseContent;

View File

@ -0,0 +1,36 @@
/*
* KINGSTAR MEDIA SOLUTIONS Co.,LTD. Copyright c 2005-2013. All rights reserved.
*
* This source code is the property of KINGSTAR MEDIA SOLUTIONS LTD. It is intended
* only for the use of KINGSTAR MEDIA application development. Reengineering, reproduction
* arose from modification of the original source, or other redistribution of this source
* is not permitted without written permission of the KINGSTAR MEDIA SOLUTIONS LTD.
*/
package me.chanjar.weixin.util.json;
import com.google.gson.*;
import me.chanjar.weixin.bean.WxAccessToken;
import java.lang.reflect.Type;
/**
*
* @author Daniel Qian
*
*/
public class WxAccessTokenAdapter implements JsonDeserializer<WxAccessToken> {
public WxAccessToken deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
WxAccessToken accessToken = new WxAccessToken();
JsonObject accessTokenJsonObject = json.getAsJsonObject();
if (accessTokenJsonObject.get("access_token") != null && !accessTokenJsonObject.get("access_token").isJsonNull()) {
accessToken.setAccessToken(GsonHelper.getAsString(accessTokenJsonObject.get("access_token")));
}
if (accessTokenJsonObject.get("expires_in") != null && !accessTokenJsonObject.get("expires_in").isJsonNull()) {
accessToken.setExpiresIn(GsonHelper.getAsPrimitiveInt(accessTokenJsonObject.get("expires_in")));
}
return accessToken;
}
}

View File

@ -28,54 +28,54 @@ public class WxCustomMessageGsonAdapter implements JsonSerializer<WxCustomMessag
public JsonElement serialize(WxCustomMessage message, Type typeOfSrc, JsonSerializationContext context) { public JsonElement serialize(WxCustomMessage message, Type typeOfSrc, JsonSerializationContext context) {
JsonObject messageJson = new JsonObject(); JsonObject messageJson = new JsonObject();
messageJson.addProperty("touser", message.getTouser()); messageJson.addProperty("touser", message.getToUser());
messageJson.addProperty("msgtype", message.getMsgtype()); messageJson.addProperty("msgtype", message.getMsgType());
if (WxConsts.CUSTOM_MSG_TEXT.equals(message.getMsgtype())) { if (WxConsts.CUSTOM_MSG_TEXT.equals(message.getMsgType())) {
JsonObject text = new JsonObject(); JsonObject text = new JsonObject();
text.addProperty("content", message.getContent()); text.addProperty("content", message.getContent());
messageJson.add("text", text); messageJson.add("text", text);
} }
if (WxConsts.CUSTOM_MSG_IMAGE.equals(message.getMsgtype())) { if (WxConsts.CUSTOM_MSG_IMAGE.equals(message.getMsgType())) {
JsonObject image = new JsonObject(); JsonObject image = new JsonObject();
image.addProperty("media_id", message.getMedia_id()); image.addProperty("media_id", message.getMediaId());
messageJson.add("image", image); messageJson.add("image", image);
} }
if (WxConsts.CUSTOM_MSG_VOICE.equals(message.getMsgtype())) { if (WxConsts.CUSTOM_MSG_VOICE.equals(message.getMsgType())) {
JsonObject voice = new JsonObject(); JsonObject voice = new JsonObject();
voice.addProperty("media_id", message.getMedia_id()); voice.addProperty("media_id", message.getMediaId());
messageJson.add("voice", voice); messageJson.add("voice", voice);
} }
if (WxConsts.CUSTOM_MSG_VIDEO.equals(message.getMsgtype())) { if (WxConsts.CUSTOM_MSG_VIDEO.equals(message.getMsgType())) {
JsonObject video = new JsonObject(); JsonObject video = new JsonObject();
video.addProperty("media_id", message.getMedia_id()); video.addProperty("media_id", message.getMediaId());
video.addProperty("thumb_media_id", message.getThumb_media_id()); video.addProperty("thumb_media_id", message.getThumbMediaId());
video.addProperty("title", message.getTitle()); video.addProperty("title", message.getTitle());
video.addProperty("description", message.getDescription()); video.addProperty("description", message.getDescription());
messageJson.add("video", video); messageJson.add("video", video);
} }
if (WxConsts.CUSTOM_MSG_MUSIC.equals(message.getMsgtype())) { if (WxConsts.CUSTOM_MSG_MUSIC.equals(message.getMsgType())) {
JsonObject music = new JsonObject(); JsonObject music = new JsonObject();
music.addProperty("title", message.getTitle()); music.addProperty("title", message.getTitle());
music.addProperty("description", message.getDescription()); music.addProperty("description", message.getDescription());
music.addProperty("thumb_media_id", message.getThumb_media_id()); music.addProperty("thumb_media_id", message.getThumbMediaId());
music.addProperty("musicurl", message.getMusicurl()); music.addProperty("musicurl", message.getMusicUrl());
music.addProperty("hqmusicurl", message.getHqmusicurl()); music.addProperty("hqmusicurl", message.getHqMusicUrl());
messageJson.add("music", music); messageJson.add("music", music);
} }
if (WxConsts.CUSTOM_MSG_NEWS.equals(message.getMsgtype())) { if (WxConsts.CUSTOM_MSG_NEWS.equals(message.getMsgType())) {
JsonArray articleJsonArray = new JsonArray(); JsonArray articleJsonArray = new JsonArray();
for (WxCustomMessage.WxArticle article : message.getArticles()) { for (WxCustomMessage.WxArticle article : message.getArticles()) {
JsonObject articleJson = new JsonObject(); JsonObject articleJson = new JsonObject();
articleJson.addProperty("title", article.getTitle()); articleJson.addProperty("title", article.getTitle());
articleJson.addProperty("description", article.getDescription()); articleJson.addProperty("description", article.getDescription());
articleJson.addProperty("url", article.getUrl()); articleJson.addProperty("url", article.getUrl());
articleJson.addProperty("picurl", article.getPicurl()); articleJson.addProperty("picurl", article.getPicUrl());
articleJsonArray.add(articleJson); articleJsonArray.add(articleJson);
} }
messageJson.add("articles", articleJsonArray); messageJson.add("articles", articleJsonArray);

View File

@ -0,0 +1,37 @@
/*
* KINGSTAR MEDIA SOLUTIONS Co.,LTD. Copyright c 2005-2013. All rights reserved.
*
* This source code is the property of KINGSTAR MEDIA SOLUTIONS LTD. It is intended
* only for the use of KINGSTAR MEDIA application development. Reengineering, reproduction
* arose from modification of the original source, or other redistribution of this source
* is not permitted without written permission of the KINGSTAR MEDIA SOLUTIONS LTD.
*/
package me.chanjar.weixin.util.json;
import com.google.gson.*;
import me.chanjar.weixin.bean.WxAccessToken;
import me.chanjar.weixin.bean.result.WxError;
import java.lang.reflect.Type;
/**
*
* @author Daniel Qian
*
*/
public class WxErrorAdapter implements JsonDeserializer<WxError> {
public WxError deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
WxError wxError = new WxError();
JsonObject wxErrorJsonObject = json.getAsJsonObject();
if (wxErrorJsonObject.get("errcode") != null && !wxErrorJsonObject.get("errcode").isJsonNull()) {
wxError.setErrorCode(GsonHelper.getAsPrimitiveInt(wxErrorJsonObject.get("errcode")));
}
if (wxErrorJsonObject.get("errmsg") != null && !wxErrorJsonObject.get("errmsg").isJsonNull()) {
wxError.setErrorMsg(GsonHelper.getAsString(wxErrorJsonObject.get("errmsg")));
}
return wxError;
}
}

View File

@ -1,13 +1,7 @@
package me.chanjar.weixin.util.json; package me.chanjar.weixin.util.json;
import me.chanjar.weixin.bean.WxCustomMessage; import me.chanjar.weixin.bean.*;
import me.chanjar.weixin.bean.WxGroup; import me.chanjar.weixin.bean.result.*;
import me.chanjar.weixin.bean.WxMassGroupMessage;
import me.chanjar.weixin.bean.WxMassNews;
import me.chanjar.weixin.bean.WxMassOpenIdsMessage;
import me.chanjar.weixin.bean.WxMenu;
import me.chanjar.weixin.bean.result.WxUser;
import me.chanjar.weixin.bean.result.WxUserList;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
@ -26,6 +20,13 @@ public class WxGsonBuilder {
INSTANCE.registerTypeAdapter(WxGroup.class, new WxGroupGsonAdapter()); INSTANCE.registerTypeAdapter(WxGroup.class, new WxGroupGsonAdapter());
INSTANCE.registerTypeAdapter(WxUser.class, new WxUserGsonAdapter()); INSTANCE.registerTypeAdapter(WxUser.class, new WxUserGsonAdapter());
INSTANCE.registerTypeAdapter(WxUserList.class, new WxUserListGsonAdapter()); INSTANCE.registerTypeAdapter(WxUserList.class, new WxUserListGsonAdapter());
INSTANCE.registerTypeAdapter(WxAccessToken.class, new WxAccessTokenAdapter());
INSTANCE.registerTypeAdapter(WxError.class, new WxErrorAdapter());
INSTANCE.registerTypeAdapter(WxMassVideo.class, new WxMassVideoAdapter());
INSTANCE.registerTypeAdapter(WxMediaUploadResult.class, new WxMediaUploadResultAdapter());
INSTANCE.registerTypeAdapter(WxMassSendResult.class, new WxMassSendResultAdapter());
INSTANCE.registerTypeAdapter(WxMassUploadResult.class, new WxMassUploadResultAdapter());
INSTANCE.registerTypeAdapter(WxQrCodeTicket.class, new WxQrCodeTicketAdapter());
} }
public static Gson create() { public static Gson create() {

View File

@ -29,12 +29,12 @@ public class WxMassMessageGsonAdapter implements JsonSerializer<WxMassGroupMessa
JsonObject messageJson = new JsonObject(); JsonObject messageJson = new JsonObject();
JsonObject filter = new JsonObject(); JsonObject filter = new JsonObject();
filter.addProperty("group_id", message.getGroup_id()); filter.addProperty("group_id", message.getGroupId());
messageJson.add("filter", filter); messageJson.add("filter", filter);
if (WxConsts.MASS_MSG_NEWS.equals(message.getMsgtype())) { if (WxConsts.MASS_MSG_NEWS.equals(message.getMsgtype())) {
JsonObject sub = new JsonObject(); JsonObject sub = new JsonObject();
sub.addProperty("media_id", message.getMedia_id()); sub.addProperty("media_id", message.getMediaId());
messageJson.add(WxConsts.MASS_MSG_NEWS, sub); messageJson.add(WxConsts.MASS_MSG_NEWS, sub);
} }
if (WxConsts.MASS_MSG_TEXT.equals(message.getMsgtype())) { if (WxConsts.MASS_MSG_TEXT.equals(message.getMsgtype())) {
@ -44,17 +44,17 @@ public class WxMassMessageGsonAdapter implements JsonSerializer<WxMassGroupMessa
} }
if (WxConsts.MASS_MSG_VOICE.equals(message.getMsgtype())) { if (WxConsts.MASS_MSG_VOICE.equals(message.getMsgtype())) {
JsonObject sub = new JsonObject(); JsonObject sub = new JsonObject();
sub.addProperty("media_id", message.getMedia_id()); sub.addProperty("media_id", message.getMediaId());
messageJson.add(WxConsts.MASS_MSG_VOICE, sub); messageJson.add(WxConsts.MASS_MSG_VOICE, sub);
} }
if (WxConsts.MASS_MSG_IMAGE.equals(message.getMsgtype())) { if (WxConsts.MASS_MSG_IMAGE.equals(message.getMsgtype())) {
JsonObject sub = new JsonObject(); JsonObject sub = new JsonObject();
sub.addProperty("media_id", message.getMedia_id()); sub.addProperty("media_id", message.getMediaId());
messageJson.add(WxConsts.MASS_MSG_IMAGE, sub); messageJson.add(WxConsts.MASS_MSG_IMAGE, sub);
} }
if (WxConsts.MASS_MSG_VIDEO.equals(message.getMsgtype())) { if (WxConsts.MASS_MSG_VIDEO.equals(message.getMsgtype())) {
JsonObject sub = new JsonObject(); JsonObject sub = new JsonObject();
sub.addProperty("media_id", message.getMedia_id()); sub.addProperty("media_id", message.getMediaId());
messageJson.add(WxConsts.MASS_MSG_VIDEO, sub); messageJson.add(WxConsts.MASS_MSG_VIDEO, sub);
} }
messageJson.addProperty("msgtype", message.getMsgtype()); messageJson.addProperty("msgtype", message.getMsgtype());

View File

@ -31,20 +31,20 @@ public class WxMassNewsGsonAdapter implements JsonSerializer<WxMassNews> {
JsonArray articleJsonArray = new JsonArray(); JsonArray articleJsonArray = new JsonArray();
for (WxMassNews.WxMassNewsArticle article : message.getArticles()) { for (WxMassNews.WxMassNewsArticle article : message.getArticles()) {
JsonObject articleJson = new JsonObject(); JsonObject articleJson = new JsonObject();
articleJson.addProperty("thumb_media_id", article.getThumb_media_id()); articleJson.addProperty("thumb_media_id", article.getThumbMediaId());
articleJson.addProperty("title", article.getTitle()); articleJson.addProperty("title", article.getTitle());
articleJson.addProperty("content", article.getContent()); articleJson.addProperty("content", article.getContent());
if (null != article.getAuthor()) { if (null != article.getAuthor()) {
articleJson.addProperty("author", article.getAuthor()); articleJson.addProperty("author", article.getAuthor());
} }
if (null != article.getContent_source_url()) { if (null != article.getContentSourceUrl()) {
articleJson.addProperty("content_source_url", article.getContent_source_url()); articleJson.addProperty("content_source_url", article.getContentSourceUrl());
} }
if (null != article.getDigest()) { if (null != article.getDigest()) {
articleJson.addProperty("digest", article.getDigest()); articleJson.addProperty("digest", article.getDigest());
} }
articleJson.addProperty("show_cover_pic", article.isShow_cover_pic() ? "1" : "0"); articleJson.addProperty("show_cover_pic", article.isShowCoverPic() ? "1" : "0");
articleJsonArray.add(articleJson); articleJsonArray.add(articleJson);
} }
newsJson.add("articles", articleJsonArray); newsJson.add("articles", articleJsonArray);

View File

@ -30,38 +30,38 @@ public class WxMassOpenIdsMessageGsonAdapter implements JsonSerializer<WxMassOpe
public JsonElement serialize(WxMassOpenIdsMessage message, Type typeOfSrc, JsonSerializationContext context) { public JsonElement serialize(WxMassOpenIdsMessage message, Type typeOfSrc, JsonSerializationContext context) {
JsonObject messageJson = new JsonObject(); JsonObject messageJson = new JsonObject();
JsonArray touser = new JsonArray(); JsonArray toUsers = new JsonArray();
for (String openId : message.getTouser()) { for (String openId : message.getToUsers()) {
touser.add(new JsonPrimitive(openId)); toUsers.add(new JsonPrimitive(openId));
} }
messageJson.add("touser", touser); messageJson.add("touser", toUsers);
if (WxConsts.MASS_MSG_NEWS.equals(message.getMsgtype())) { if (WxConsts.MASS_MSG_NEWS.equals(message.getMsgType())) {
JsonObject sub = new JsonObject(); JsonObject sub = new JsonObject();
sub.addProperty("media_id", message.getMedia_id()); sub.addProperty("media_id", message.getMediaId());
messageJson.add(WxConsts.MASS_MSG_NEWS, sub); messageJson.add(WxConsts.MASS_MSG_NEWS, sub);
} }
if (WxConsts.MASS_MSG_TEXT.equals(message.getMsgtype())) { if (WxConsts.MASS_MSG_TEXT.equals(message.getMsgType())) {
JsonObject sub = new JsonObject(); JsonObject sub = new JsonObject();
sub.addProperty("content", message.getContent()); sub.addProperty("content", message.getContent());
messageJson.add(WxConsts.MASS_MSG_TEXT, sub); messageJson.add(WxConsts.MASS_MSG_TEXT, sub);
} }
if (WxConsts.MASS_MSG_VOICE.equals(message.getMsgtype())) { if (WxConsts.MASS_MSG_VOICE.equals(message.getMsgType())) {
JsonObject sub = new JsonObject(); JsonObject sub = new JsonObject();
sub.addProperty("media_id", message.getMedia_id()); sub.addProperty("media_id", message.getMediaId());
messageJson.add(WxConsts.MASS_MSG_VOICE, sub); messageJson.add(WxConsts.MASS_MSG_VOICE, sub);
} }
if (WxConsts.MASS_MSG_IMAGE.equals(message.getMsgtype())) { if (WxConsts.MASS_MSG_IMAGE.equals(message.getMsgType())) {
JsonObject sub = new JsonObject(); JsonObject sub = new JsonObject();
sub.addProperty("media_id", message.getMedia_id()); sub.addProperty("media_id", message.getMediaId());
messageJson.add(WxConsts.MASS_MSG_IMAGE, sub); messageJson.add(WxConsts.MASS_MSG_IMAGE, sub);
} }
if (WxConsts.MASS_MSG_VIDEO.equals(message.getMsgtype())) { if (WxConsts.MASS_MSG_VIDEO.equals(message.getMsgType())) {
JsonObject sub = new JsonObject(); JsonObject sub = new JsonObject();
sub.addProperty("media_id", message.getMedia_id()); sub.addProperty("media_id", message.getMediaId());
messageJson.add(WxConsts.MASS_MSG_VIDEO, sub); messageJson.add(WxConsts.MASS_MSG_VIDEO, sub);
} }
messageJson.addProperty("msgtype", message.getMsgtype()); messageJson.addProperty("msgtype", message.getMsgType());
return messageJson; return messageJson;
} }

View File

@ -0,0 +1,39 @@
/*
* KINGSTAR MEDIA SOLUTIONS Co.,LTD. Copyright c 2005-2013. All rights reserved.
*
* This source code is the property of KINGSTAR MEDIA SOLUTIONS LTD. It is intended
* only for the use of KINGSTAR MEDIA application development. Reengineering, reproduction
* arose from modification of the original source, or other redistribution of this source
* is not permitted without written permission of the KINGSTAR MEDIA SOLUTIONS LTD.
*/
package me.chanjar.weixin.util.json;
import com.google.gson.*;
import me.chanjar.weixin.bean.result.WxMassSendResult;
import java.lang.reflect.Type;
/**
*
* @author Daniel Qian
*
*/
public class WxMassSendResultAdapter implements JsonDeserializer<WxMassSendResult> {
public WxMassSendResult deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
WxMassSendResult sendResult = new WxMassSendResult();
JsonObject sendResultJsonObject = json.getAsJsonObject();
if (sendResultJsonObject.get("errcode") != null && !sendResultJsonObject.get("errcode").isJsonNull()) {
sendResult.setErrorCode(GsonHelper.getAsString(sendResultJsonObject.get("errcode")));
}
if (sendResultJsonObject.get("errmsg") != null && !sendResultJsonObject.get("errmsg").isJsonNull()) {
sendResult.setErrorMsg(GsonHelper.getAsString(sendResultJsonObject.get("errmsg")));
}
if (sendResultJsonObject.get("msg_id") != null && !sendResultJsonObject.get("msg_id").isJsonNull()) {
sendResult.setMsgId(GsonHelper.getAsString(sendResultJsonObject.get("msg_id")));
}
return sendResult;
}
}

View File

@ -0,0 +1,39 @@
/*
* KINGSTAR MEDIA SOLUTIONS Co.,LTD. Copyright c 2005-2013. All rights reserved.
*
* This source code is the property of KINGSTAR MEDIA SOLUTIONS LTD. It is intended
* only for the use of KINGSTAR MEDIA application development. Reengineering, reproduction
* arose from modification of the original source, or other redistribution of this source
* is not permitted without written permission of the KINGSTAR MEDIA SOLUTIONS LTD.
*/
package me.chanjar.weixin.util.json;
import com.google.gson.*;
import me.chanjar.weixin.bean.result.WxMassUploadResult;
import java.lang.reflect.Type;
/**
*
* @author Daniel Qian
*
*/
public class WxMassUploadResultAdapter implements JsonDeserializer<WxMassUploadResult> {
public WxMassUploadResult deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
WxMassUploadResult uploadResult = new WxMassUploadResult();
JsonObject uploadResultJsonObject = json.getAsJsonObject();
if (uploadResultJsonObject.get("type") != null && !uploadResultJsonObject.get("type").isJsonNull()) {
uploadResult.setType(GsonHelper.getAsString(uploadResultJsonObject.get("type")));
}
if (uploadResultJsonObject.get("media_id") != null && !uploadResultJsonObject.get("media_id").isJsonNull()) {
uploadResult.setMediaId(GsonHelper.getAsString(uploadResultJsonObject.get("media_id")));
}
if (uploadResultJsonObject.get("created_at") != null && !uploadResultJsonObject.get("created_at").isJsonNull()) {
uploadResult.setCreatedAt(GsonHelper.getAsPrimitiveLong(uploadResultJsonObject.get("created_at")));
}
return uploadResult;
}
}

View File

@ -0,0 +1,31 @@
/*
* KINGSTAR MEDIA SOLUTIONS Co.,LTD. Copyright c 2005-2013. All rights reserved.
*
* This source code is the property of KINGSTAR MEDIA SOLUTIONS LTD. It is intended
* only for the use of KINGSTAR MEDIA application development. Reengineering, reproduction
* arose from modification of the original source, or other redistribution of this source
* is not permitted without written permission of the KINGSTAR MEDIA SOLUTIONS LTD.
*/
package me.chanjar.weixin.util.json;
import com.google.gson.*;
import me.chanjar.weixin.bean.WxMassVideo;
import java.lang.reflect.Type;
/**
*
* @author Daniel Qian
*
*/
public class WxMassVideoAdapter implements JsonSerializer<WxMassVideo> {
public JsonElement serialize(WxMassVideo message, Type typeOfSrc, JsonSerializationContext context) {
JsonObject messageJson = new JsonObject();
messageJson.addProperty("media_id", message.getMediaId());
messageJson.addProperty("description", message.getDescription());
messageJson.addProperty("title", message.getTitle());
return messageJson;
}
}

View File

@ -0,0 +1,42 @@
/*
* KINGSTAR MEDIA SOLUTIONS Co.,LTD. Copyright c 2005-2013. All rights reserved.
*
* This source code is the property of KINGSTAR MEDIA SOLUTIONS LTD. It is intended
* only for the use of KINGSTAR MEDIA application development. Reengineering, reproduction
* arose from modification of the original source, or other redistribution of this source
* is not permitted without written permission of the KINGSTAR MEDIA SOLUTIONS LTD.
*/
package me.chanjar.weixin.util.json;
import com.google.gson.*;
import me.chanjar.weixin.bean.result.WxMediaUploadResult;
import java.lang.reflect.Type;
/**
*
* @author Daniel Qian
*
*/
public class WxMediaUploadResultAdapter implements JsonDeserializer<WxMediaUploadResult> {
public WxMediaUploadResult deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
WxMediaUploadResult uploadResult = new WxMediaUploadResult();
JsonObject uploadResultJsonObject = json.getAsJsonObject();
if (uploadResultJsonObject.get("type") != null && !uploadResultJsonObject.get("type").isJsonNull()) {
uploadResult.setType(GsonHelper.getAsString(uploadResultJsonObject.get("type")));
}
if (uploadResultJsonObject.get("media_id") != null && !uploadResultJsonObject.get("media_id").isJsonNull()) {
uploadResult.setMediaId(GsonHelper.getAsString(uploadResultJsonObject.get("media_id")));
}
if (uploadResultJsonObject.get("thumb_media_id") != null && !uploadResultJsonObject.get("thumb_media_id").isJsonNull()) {
uploadResult.setThumbMediaId(GsonHelper.getAsString(uploadResultJsonObject.get("thumb_media_id")));
}
if (uploadResultJsonObject.get("created_at") != null && !uploadResultJsonObject.get("created_at").isJsonNull()) {
uploadResult.setCreatedAt(GsonHelper.getAsPrimitiveLong(uploadResultJsonObject.get("created_at")));
}
return uploadResult;
}
}

View File

@ -32,7 +32,7 @@ public class WxMenuGsonAdapter implements JsonSerializer<WxMenu>, JsonDeserializ
JsonObject json = new JsonObject(); JsonObject json = new JsonObject();
JsonArray buttonArray = new JsonArray(); JsonArray buttonArray = new JsonArray();
for (WxMenu.WxMenuButton button : menu.getButton()) { for (WxMenu.WxMenuButton button : menu.getButtons()) {
JsonObject buttonJson = convertToJson(button); JsonObject buttonJson = convertToJson(button);
buttonArray.add(buttonJson); buttonArray.add(buttonJson);
} }
@ -47,9 +47,9 @@ public class WxMenuGsonAdapter implements JsonSerializer<WxMenu>, JsonDeserializ
buttonJson.addProperty("name", button.getName()); buttonJson.addProperty("name", button.getName());
buttonJson.addProperty("key", button.getKey()); buttonJson.addProperty("key", button.getKey());
buttonJson.addProperty("url", button.getUrl()); buttonJson.addProperty("url", button.getUrl());
if (button.getSub_button() != null && button.getSub_button().size() > 0) { if (button.getSubButtons() != null && button.getSubButtons().size() > 0) {
JsonArray buttonArray = new JsonArray(); JsonArray buttonArray = new JsonArray();
for (WxMenu.WxMenuButton sub_button : button.getSub_button()) { for (WxMenu.WxMenuButton sub_button : button.getSubButtons()) {
buttonArray.add(convertToJson(sub_button)); buttonArray.add(convertToJson(sub_button));
} }
buttonJson.add("sub_button", buttonArray); buttonJson.add("sub_button", buttonArray);
@ -69,14 +69,14 @@ public class WxMenuGsonAdapter implements JsonSerializer<WxMenu>, JsonDeserializ
for (int i = 0; i < buttonsJson.size(); i++) { for (int i = 0; i < buttonsJson.size(); i++) {
JsonObject buttonJson = buttonsJson.get(i).getAsJsonObject(); JsonObject buttonJson = buttonsJson.get(i).getAsJsonObject();
WxMenu.WxMenuButton button = convertFromJson(buttonJson); WxMenu.WxMenuButton button = convertFromJson(buttonJson);
menu.getButton().add(button); menu.getButtons().add(button);
if (buttonJson.get("sub_button") == null || buttonJson.get("sub_button").isJsonNull()) { if (buttonJson.get("sub_button") == null || buttonJson.get("sub_button").isJsonNull()) {
continue; continue;
} }
JsonArray sub_buttonsJson = buttonJson.get("sub_button").getAsJsonArray(); JsonArray sub_buttonsJson = buttonJson.get("sub_button").getAsJsonArray();
for (int j = 0; j < sub_buttonsJson.size(); j++) { for (int j = 0; j < sub_buttonsJson.size(); j++) {
JsonObject sub_buttonJson = sub_buttonsJson.get(j).getAsJsonObject(); JsonObject sub_buttonJson = sub_buttonsJson.get(j).getAsJsonObject();
button.getSub_button().add(convertFromJson(sub_buttonJson)); button.getSubButtons().add(convertFromJson(sub_buttonJson));
} }
} }
return menu; return menu;

View File

@ -0,0 +1,40 @@
/*
* KINGSTAR MEDIA SOLUTIONS Co.,LTD. Copyright c 2005-2013. All rights reserved.
*
* This source code is the property of KINGSTAR MEDIA SOLUTIONS LTD. It is intended
* only for the use of KINGSTAR MEDIA application development. Reengineering, reproduction
* arose from modification of the original source, or other redistribution of this source
* is not permitted without written permission of the KINGSTAR MEDIA SOLUTIONS LTD.
*/
package me.chanjar.weixin.util.json;
import com.google.gson.*;
import me.chanjar.weixin.bean.result.WxMassUploadResult;
import me.chanjar.weixin.bean.result.WxQrCodeTicket;
import java.lang.reflect.Type;
/**
*
* @author Daniel Qian
*
*/
public class WxQrCodeTicketAdapter implements JsonDeserializer<WxQrCodeTicket> {
public WxQrCodeTicket deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
WxQrCodeTicket ticket = new WxQrCodeTicket();
JsonObject ticketJsonObject = json.getAsJsonObject();
if (ticketJsonObject.get("ticket") != null && !ticketJsonObject.get("ticket").isJsonNull()) {
ticket.setTicket(GsonHelper.getAsString(ticketJsonObject.get("ticket")));
}
if (ticketJsonObject.get("expire_seconds") != null && !ticketJsonObject.get("expire_seconds").isJsonNull()) {
ticket.setExpire_seconds(GsonHelper.getAsPrimitiveInt(ticketJsonObject.get("expire_seconds")));
}
if (ticketJsonObject.get("url") != null && !ticketJsonObject.get("url").isJsonNull()) {
ticket.setUrl(GsonHelper.getAsString(ticketJsonObject.get("url")));
}
return ticket;
}
}

View File

@ -31,13 +31,13 @@ public class WxUserGsonAdapter implements JsonDeserializer<WxUser> {
wxUser.setSubscribe(new Integer(0).equals(GsonHelper.getInteger(o, "subscribe")) ? false : true); wxUser.setSubscribe(new Integer(0).equals(GsonHelper.getInteger(o, "subscribe")) ? false : true);
wxUser.setCity(GsonHelper.getString(o, "city")); wxUser.setCity(GsonHelper.getString(o, "city"));
wxUser.setCountry(GsonHelper.getString(o, "country")); wxUser.setCountry(GsonHelper.getString(o, "country"));
wxUser.setHeadimgurl(GsonHelper.getString(o, "headimgurl")); wxUser.setHeadImgUrl(GsonHelper.getString(o, "headimgurl"));
wxUser.setLanguage(GsonHelper.getString(o, "language")); wxUser.setLanguage(GsonHelper.getString(o, "language"));
wxUser.setNickname(GsonHelper.getString(o, "nickname")); wxUser.setNickname(GsonHelper.getString(o, "nickname"));
wxUser.setOpenid(GsonHelper.getString(o, "openid")); wxUser.setOpenId(GsonHelper.getString(o, "openid"));
wxUser.setProvince(GsonHelper.getString(o, "province")); wxUser.setProvince(GsonHelper.getString(o, "province"));
wxUser.setSubscribe_time(GsonHelper.getLong(o, "subscribe_time")); wxUser.setSubscribeTime(GsonHelper.getLong(o, "subscribe_time"));
wxUser.setUnionid(GsonHelper.getString(o, "unionid")); wxUser.setUnionId(GsonHelper.getString(o, "unionid"));
Integer sex = GsonHelper.getInteger(o, "sex"); Integer sex = GsonHelper.getInteger(o, "sex");
if(new Integer(1).equals(sex)) { if(new Integer(1).equals(sex)) {
wxUser.setSex(""); wxUser.setSex("");

View File

@ -31,10 +31,10 @@ public class WxUserListGsonAdapter implements JsonDeserializer<WxUserList> {
WxUserList wxUserList = new WxUserList(); WxUserList wxUserList = new WxUserList();
wxUserList.setTotal(GsonHelper.getInteger(o, "total")); wxUserList.setTotal(GsonHelper.getInteger(o, "total"));
wxUserList.setCount(GsonHelper.getInteger(o, "count")); wxUserList.setCount(GsonHelper.getInteger(o, "count"));
wxUserList.setNext_openid(GsonHelper.getString(o, "next_openid")); wxUserList.setNextOpenId(GsonHelper.getString(o, "next_openid"));
JsonArray data = o.get("data").getAsJsonObject().get("openid").getAsJsonArray(); JsonArray data = o.get("data").getAsJsonObject().get("openid").getAsJsonArray();
for (int i = 0; i < data.size(); i++) { for (int i = 0; i < data.size(); i++) {
wxUserList.getOpenids().add(GsonHelper.getAsString(data.get(i))); wxUserList.getOpenIds().add(GsonHelper.getAsString(data.get(i)));
} }
return wxUserList; return wxUserList;
} }

View File

@ -23,8 +23,8 @@ public class WxCustomMessageAPITest {
public void testSendCustomMessage() throws WxErrorException { public void testSendCustomMessage() throws WxErrorException {
ApiTestModule.WxXmlConfigStorage configStorage = (ApiTestModule.WxXmlConfigStorage) wxService.wxConfigStorage; ApiTestModule.WxXmlConfigStorage configStorage = (ApiTestModule.WxXmlConfigStorage) wxService.wxConfigStorage;
WxCustomMessage message = new WxCustomMessage(); WxCustomMessage message = new WxCustomMessage();
message.setMsgtype(WxConsts.CUSTOM_MSG_TEXT); message.setMsgType(WxConsts.CUSTOM_MSG_TEXT);
message.setTouser(configStorage.getOpenId()); message.setToUser(configStorage.getOpenId());
message.setContent("欢迎欢迎,热烈欢迎\n换行测试\n超链接:<a href=\"http://www.baidu.com\">Hello World</a>"); message.setContent("欢迎欢迎,热烈欢迎\n换行测试\n超链接:<a href=\"http://www.baidu.com\">Hello World</a>");
wxService.customMessageSend(message); wxService.customMessageSend(message);

View File

@ -38,13 +38,13 @@ public class WxMassMessageAPITest {
// 发送群发消息 // 发送群发消息
WxXmlConfigStorage configProvider = (WxXmlConfigStorage) wxService.wxConfigStorage; WxXmlConfigStorage configProvider = (WxXmlConfigStorage) wxService.wxConfigStorage;
WxMassOpenIdsMessage massMessage = new WxMassOpenIdsMessage(); WxMassOpenIdsMessage massMessage = new WxMassOpenIdsMessage();
massMessage.setMsgtype(WxConsts.MASS_MSG_TEXT); massMessage.setMsgType(WxConsts.MASS_MSG_TEXT);
massMessage.setContent("测试群发消息\n欢迎欢迎热烈欢迎\n换行测试\n超链接:<a href=\"http://www.baidu.com\">Hello World</a>"); massMessage.setContent("测试群发消息\n欢迎欢迎热烈欢迎\n换行测试\n超链接:<a href=\"http://www.baidu.com\">Hello World</a>");
massMessage.getTouser().add(configProvider.getOpenId()); massMessage.getToUsers().add(configProvider.getOpenId());
WxMassSendResult massResult = wxService.massOpenIdsMessageSend(massMessage); WxMassSendResult massResult = wxService.massOpenIdsMessageSend(massMessage);
Assert.assertNotNull(massResult); Assert.assertNotNull(massResult);
Assert.assertNotNull(massResult.getMsg_id()); Assert.assertNotNull(massResult.getMsgId());
} }
@Test(dataProvider="massMessages") @Test(dataProvider="massMessages")
@ -52,13 +52,13 @@ public class WxMassMessageAPITest {
// 发送群发消息 // 发送群发消息
WxXmlConfigStorage configProvider = (WxXmlConfigStorage) wxService.wxConfigStorage; WxXmlConfigStorage configProvider = (WxXmlConfigStorage) wxService.wxConfigStorage;
WxMassOpenIdsMessage massMessage = new WxMassOpenIdsMessage(); WxMassOpenIdsMessage massMessage = new WxMassOpenIdsMessage();
massMessage.setMsgtype(massMsgType); massMessage.setMsgType(massMsgType);
massMessage.setMedia_id(mediaId); massMessage.setMediaId(mediaId);
massMessage.getTouser().add(configProvider.getOpenId()); massMessage.getToUsers().add(configProvider.getOpenId());
WxMassSendResult massResult = wxService.massOpenIdsMessageSend(massMessage); WxMassSendResult massResult = wxService.massOpenIdsMessageSend(massMessage);
Assert.assertNotNull(massResult); Assert.assertNotNull(massResult);
Assert.assertNotNull(massResult.getMsg_id()); Assert.assertNotNull(massResult.getMsgId());
} }
@Test @Test
@ -66,23 +66,23 @@ public class WxMassMessageAPITest {
WxMassGroupMessage massMessage = new WxMassGroupMessage(); WxMassGroupMessage massMessage = new WxMassGroupMessage();
massMessage.setMsgtype(WxConsts.MASS_MSG_TEXT); massMessage.setMsgtype(WxConsts.MASS_MSG_TEXT);
massMessage.setContent("测试群发消息\n欢迎欢迎热烈欢迎\n换行测试\n超链接:<a href=\"http://www.baidu.com\">Hello World</a>"); massMessage.setContent("测试群发消息\n欢迎欢迎热烈欢迎\n换行测试\n超链接:<a href=\"http://www.baidu.com\">Hello World</a>");
massMessage.setGroup_id(wxService.groupGet().get(0).getId()); massMessage.setGroupId(wxService.groupGet().get(0).getId());
WxMassSendResult massResult = wxService.massGroupMessageSend(massMessage); WxMassSendResult massResult = wxService.massGroupMessageSend(massMessage);
Assert.assertNotNull(massResult); Assert.assertNotNull(massResult);
Assert.assertNotNull(massResult.getMsg_id()); Assert.assertNotNull(massResult.getMsgId());
} }
@Test(dataProvider="massMessages") @Test(dataProvider="massMessages")
public void testMediaMassGroupMessageSend(String massMsgType, String mediaId) throws WxErrorException, IOException { public void testMediaMassGroupMessageSend(String massMsgType, String mediaId) throws WxErrorException, IOException {
WxMassGroupMessage massMessage = new WxMassGroupMessage(); WxMassGroupMessage massMessage = new WxMassGroupMessage();
massMessage.setMsgtype(massMsgType); massMessage.setMsgtype(massMsgType);
massMessage.setMedia_id(mediaId); massMessage.setMediaId(mediaId);
massMessage.setGroup_id(wxService.groupGet().get(0).getId()); massMessage.setGroupId(wxService.groupGet().get(0).getId());
WxMassSendResult massResult = wxService.massGroupMessageSend(massMessage); WxMassSendResult massResult = wxService.massGroupMessageSend(massMessage);
Assert.assertNotNull(massResult); Assert.assertNotNull(massResult);
Assert.assertNotNull(massResult.getMsg_id()); Assert.assertNotNull(massResult.getMsgId());
} }
@DataProvider @DataProvider
@ -96,17 +96,17 @@ public class WxMassMessageAPITest {
InputStream inputStream = ClassLoader.getSystemResourceAsStream("mm.mp4"); InputStream inputStream = ClassLoader.getSystemResourceAsStream("mm.mp4");
WxMediaUploadResult uploadMediaRes = wxService.mediaUpload(WxConsts.MEDIA_VIDEO, WxConsts.FILE_MP4, inputStream); WxMediaUploadResult uploadMediaRes = wxService.mediaUpload(WxConsts.MEDIA_VIDEO, WxConsts.FILE_MP4, inputStream);
Assert.assertNotNull(uploadMediaRes); Assert.assertNotNull(uploadMediaRes);
Assert.assertNotNull(uploadMediaRes.getMedia_id()); Assert.assertNotNull(uploadMediaRes.getMediaId());
// 把视频变成可被群发的媒体 // 把视频变成可被群发的媒体
WxMassVideo video = new WxMassVideo(); WxMassVideo video = new WxMassVideo();
video.setTitle("测试标题"); video.setTitle("测试标题");
video.setDescription("测试描述"); video.setDescription("测试描述");
video.setMedia_id(uploadMediaRes.getMedia_id()); video.setMediaId(uploadMediaRes.getMediaId());
WxMassUploadResult uploadResult = wxService.massVideoUpload(video); WxMassUploadResult uploadResult = wxService.massVideoUpload(video);
Assert.assertNotNull(uploadResult); Assert.assertNotNull(uploadResult);
Assert.assertNotNull(uploadResult.getMedia_id()); Assert.assertNotNull(uploadResult.getMediaId());
messages[0] = new Object[] { WxConsts.MASS_MSG_VIDEO, uploadResult.getMedia_id() }; messages[0] = new Object[] { WxConsts.MASS_MSG_VIDEO, uploadResult.getMediaId() };
} }
/** /**
* 图片素材 * 图片素材
@ -115,8 +115,8 @@ public class WxMassMessageAPITest {
InputStream inputStream = ClassLoader.getSystemResourceAsStream("mm.jpeg"); InputStream inputStream = ClassLoader.getSystemResourceAsStream("mm.jpeg");
WxMediaUploadResult uploadMediaRes = wxService.mediaUpload(WxConsts.MEDIA_IMAGE, WxConsts.FILE_JPG, inputStream); WxMediaUploadResult uploadMediaRes = wxService.mediaUpload(WxConsts.MEDIA_IMAGE, WxConsts.FILE_JPG, inputStream);
Assert.assertNotNull(uploadMediaRes); Assert.assertNotNull(uploadMediaRes);
Assert.assertNotNull(uploadMediaRes.getMedia_id()); Assert.assertNotNull(uploadMediaRes.getMediaId());
messages[1] = new Object[] { WxConsts.MASS_MSG_IMAGE, uploadMediaRes.getMedia_id() }; messages[1] = new Object[] { WxConsts.MASS_MSG_IMAGE, uploadMediaRes.getMediaId() };
} }
/** /**
* 语音素材 * 语音素材
@ -125,8 +125,8 @@ public class WxMassMessageAPITest {
InputStream inputStream = ClassLoader.getSystemResourceAsStream("mm.mp3"); InputStream inputStream = ClassLoader.getSystemResourceAsStream("mm.mp3");
WxMediaUploadResult uploadMediaRes = wxService.mediaUpload(WxConsts.MEDIA_VOICE, WxConsts.FILE_MP3, inputStream); WxMediaUploadResult uploadMediaRes = wxService.mediaUpload(WxConsts.MEDIA_VOICE, WxConsts.FILE_MP3, inputStream);
Assert.assertNotNull(uploadMediaRes); Assert.assertNotNull(uploadMediaRes);
Assert.assertNotNull(uploadMediaRes.getMedia_id()); Assert.assertNotNull(uploadMediaRes.getMediaId());
messages[2] = new Object[] { WxConsts.MASS_MSG_VOICE, uploadMediaRes.getMedia_id() }; messages[2] = new Object[] { WxConsts.MASS_MSG_VOICE, uploadMediaRes.getMediaId() };
} }
/** /**
* 图文素材 * 图文素材
@ -136,30 +136,30 @@ public class WxMassMessageAPITest {
InputStream inputStream = ClassLoader.getSystemResourceAsStream("mm.jpeg"); InputStream inputStream = ClassLoader.getSystemResourceAsStream("mm.jpeg");
WxMediaUploadResult uploadMediaRes = wxService.mediaUpload(WxConsts.MEDIA_IMAGE, WxConsts.FILE_JPG, inputStream); WxMediaUploadResult uploadMediaRes = wxService.mediaUpload(WxConsts.MEDIA_IMAGE, WxConsts.FILE_JPG, inputStream);
Assert.assertNotNull(uploadMediaRes); Assert.assertNotNull(uploadMediaRes);
Assert.assertNotNull(uploadMediaRes.getMedia_id()); Assert.assertNotNull(uploadMediaRes.getMediaId());
// 上传图文消息 // 上传图文消息
WxMassNews news = new WxMassNews(); WxMassNews news = new WxMassNews();
WxMassNewsArticle article1 = new WxMassNewsArticle(); WxMassNewsArticle article1 = new WxMassNewsArticle();
article1.setTitle("标题1"); article1.setTitle("标题1");
article1.setContent("内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1"); article1.setContent("内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1内容1");
article1.setThumb_media_id(uploadMediaRes.getMedia_id()); article1.setThumbMediaId(uploadMediaRes.getMediaId());
news.addArticle(article1); news.addArticle(article1);
WxMassNewsArticle article2 = new WxMassNewsArticle(); WxMassNewsArticle article2 = new WxMassNewsArticle();
article2.setTitle("标题2"); article2.setTitle("标题2");
article2.setContent("内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2"); article2.setContent("内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2内容2");
article2.setThumb_media_id(uploadMediaRes.getMedia_id()); article2.setThumbMediaId(uploadMediaRes.getMediaId());
article2.setShow_cover_pic(true); article2.setShowCoverPic(true);
article2.setAuthor("作者2"); article2.setAuthor("作者2");
article2.setContent_source_url("www.baidu.com"); article2.setContentSourceUrl("www.baidu.com");
article2.setDigest("摘要2"); article2.setDigest("摘要2");
news.addArticle(article2); news.addArticle(article2);
WxMassUploadResult massUploadResult = wxService.massNewsUpload(news); WxMassUploadResult massUploadResult = wxService.massNewsUpload(news);
Assert.assertNotNull(massUploadResult); Assert.assertNotNull(massUploadResult);
Assert.assertNotNull(uploadMediaRes.getMedia_id()); Assert.assertNotNull(uploadMediaRes.getMediaId());
messages[3] = new Object[] { WxConsts.MASS_MSG_NEWS, massUploadResult.getMedia_id() }; messages[3] = new Object[] { WxConsts.MASS_MSG_NEWS, massUploadResult.getMediaId() };
} }
return messages; return messages;
} }

View File

@ -34,14 +34,14 @@ public class WxMediaAPITest {
InputStream inputStream = ClassLoader.getSystemResourceAsStream(fileName); InputStream inputStream = ClassLoader.getSystemResourceAsStream(fileName);
WxMediaUploadResult res = wxService.mediaUpload(mediaType, fileType, inputStream); WxMediaUploadResult res = wxService.mediaUpload(mediaType, fileType, inputStream);
Assert.assertNotNull(res.getType()); Assert.assertNotNull(res.getType());
Assert.assertNotNull(res.getCreated_at()); Assert.assertNotNull(res.getCreatedAt());
Assert.assertTrue(res.getMedia_id() != null || res.getThumb_media_id() != null); Assert.assertTrue(res.getMediaId() != null || res.getThumbMediaId() != null);
if (res.getMedia_id() != null) { if (res.getMediaId() != null) {
media_ids.add(res.getMedia_id()); media_ids.add(res.getMediaId());
} }
if (res.getThumb_media_id() != null) { if (res.getThumbMediaId() != null) {
media_ids.add(res.getThumb_media_id()); media_ids.add(res.getThumbMediaId());
} }
} }

View File

@ -56,9 +56,9 @@ public class WxMenuAPITest {
WxMenuButton button3 = new WxMenuButton(); WxMenuButton button3 = new WxMenuButton();
button3.setName("菜单"); button3.setName("菜单");
menu.getButton().add(button1); menu.getButtons().add(button1);
menu.getButton().add(button2); menu.getButtons().add(button2);
menu.getButton().add(button3); menu.getButtons().add(button3);
WxMenuButton button31 = new WxMenuButton(); WxMenuButton button31 = new WxMenuButton();
button31.setType(WxConsts.BUTTON_VIEW); button31.setType(WxConsts.BUTTON_VIEW);
@ -75,9 +75,9 @@ public class WxMenuAPITest {
button33.setName("赞一下我们"); button33.setName("赞一下我们");
button33.setKey("V1001_GOOD"); button33.setKey("V1001_GOOD");
button3.getSub_button().add(button31); button3.getSubButtons().add(button31);
button3.getSub_button().add(button32); button3.getSubButtons().add(button32);
button3.getSub_button().add(button33); button3.getSubButtons().add(button33);
return new Object[][] { return new Object[][] {
new Object[] { new Object[] {

View File

@ -71,7 +71,6 @@ public class WxMessageRouterTest {
router.rule().handler(new WxMessageHandler() { router.rule().handler(new WxMessageHandler() {
@Override @Override
public WxXmlOutMessage handle(WxXmlMessage wxMessage, Map<String, Object> context) { public WxXmlOutMessage handle(WxXmlMessage wxMessage, Map<String, Object> context) {
System.out.println(wxMessage.toString());
return null; return null;
} }
}).end(); }).end();

View File

@ -39,7 +39,7 @@ public class WxUserAPITest {
Assert.assertNotNull(wxUserList); Assert.assertNotNull(wxUserList);
Assert.assertFalse(wxUserList.getCount() == -1); Assert.assertFalse(wxUserList.getCount() == -1);
Assert.assertFalse(wxUserList.getTotal() == -1); Assert.assertFalse(wxUserList.getTotal() == -1);
Assert.assertFalse(wxUserList.getOpenids().size() == -1); Assert.assertFalse(wxUserList.getOpenIds().size() == -1);
} }
public void testGroupQueryUserGroup() throws WxErrorException { public void testGroupQueryUserGroup() throws WxErrorException {

View File

@ -1,6 +1,5 @@
package me.chanjar.weixin.bean; package me.chanjar.weixin.bean;
import me.chanjar.weixin.bean.WxAccessToken;
import org.testng.Assert; import org.testng.Assert;
import org.testng.annotations.Test; import org.testng.annotations.Test;
@ -11,8 +10,8 @@ public class WxAccessTokenTest {
String json = "{\"access_token\":\"ACCESS_TOKEN\",\"expires_in\":7200}"; String json = "{\"access_token\":\"ACCESS_TOKEN\",\"expires_in\":7200}";
WxAccessToken wxError = WxAccessToken.fromJson(json); WxAccessToken wxError = WxAccessToken.fromJson(json);
Assert.assertEquals(wxError.getAccess_token(), "ACCESS_TOKEN"); Assert.assertEquals(wxError.getAccessToken(), "ACCESS_TOKEN");
Assert.assertTrue(wxError.getExpires_in() == 7200); Assert.assertTrue(wxError.getExpiresIn() == 7200);
} }

View File

@ -1,6 +1,5 @@
package me.chanjar.weixin.bean; package me.chanjar.weixin.bean;
import me.chanjar.weixin.bean.WxCustomMessage;
import org.testng.Assert; import org.testng.Assert;
import org.testng.annotations.Test; import org.testng.annotations.Test;
@ -12,8 +11,8 @@ public class WxCustomMessageTest {
public void testTextReply() { public void testTextReply() {
WxCustomMessage reply = new WxCustomMessage(); WxCustomMessage reply = new WxCustomMessage();
reply.setTouser("OPENID"); reply.setToUser("OPENID");
reply.setMsgtype(WxConsts.CUSTOM_MSG_TEXT); reply.setMsgType(WxConsts.CUSTOM_MSG_TEXT);
reply.setContent("sfsfdsdf"); reply.setContent("sfsfdsdf");
Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"text\",\"text\":{\"content\":\"sfsfdsdf\"}}"); Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"text\",\"text\":{\"content\":\"sfsfdsdf\"}}");
} }
@ -25,9 +24,9 @@ public class WxCustomMessageTest {
public void testImageReply() { public void testImageReply() {
WxCustomMessage reply = new WxCustomMessage(); WxCustomMessage reply = new WxCustomMessage();
reply.setTouser("OPENID"); reply.setToUser("OPENID");
reply.setMsgtype(WxConsts.CUSTOM_MSG_IMAGE); reply.setMsgType(WxConsts.CUSTOM_MSG_IMAGE);
reply.setMedia_id("MEDIA_ID"); reply.setMediaId("MEDIA_ID");
Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"image\",\"image\":{\"media_id\":\"MEDIA_ID\"}}"); Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"image\",\"image\":{\"media_id\":\"MEDIA_ID\"}}");
} }
@ -38,9 +37,9 @@ public class WxCustomMessageTest {
public void testVoiceReply() { public void testVoiceReply() {
WxCustomMessage reply = new WxCustomMessage(); WxCustomMessage reply = new WxCustomMessage();
reply.setTouser("OPENID"); reply.setToUser("OPENID");
reply.setMsgtype(WxConsts.CUSTOM_MSG_VOICE); reply.setMsgType(WxConsts.CUSTOM_MSG_VOICE);
reply.setMedia_id("MEDIA_ID"); reply.setMediaId("MEDIA_ID");
Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"voice\",\"voice\":{\"media_id\":\"MEDIA_ID\"}}"); Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"voice\",\"voice\":{\"media_id\":\"MEDIA_ID\"}}");
} }
@ -51,10 +50,10 @@ public class WxCustomMessageTest {
public void testVideoReply() { public void testVideoReply() {
WxCustomMessage reply = new WxCustomMessage(); WxCustomMessage reply = new WxCustomMessage();
reply.setTouser("OPENID"); reply.setToUser("OPENID");
reply.setMsgtype(WxConsts.CUSTOM_MSG_VIDEO); reply.setMsgType(WxConsts.CUSTOM_MSG_VIDEO);
reply.setMedia_id("MEDIA_ID"); reply.setMediaId("MEDIA_ID");
reply.setThumb_media_id("MEDIA_ID"); reply.setThumbMediaId("MEDIA_ID");
reply.setTitle("TITLE"); reply.setTitle("TITLE");
reply.setDescription("DESCRIPTION"); reply.setDescription("DESCRIPTION");
Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"video\",\"video\":{\"media_id\":\"MEDIA_ID\",\"thumb_media_id\":\"MEDIA_ID\",\"title\":\"TITLE\",\"description\":\"DESCRIPTION\"}}"); Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"video\",\"video\":{\"media_id\":\"MEDIA_ID\",\"thumb_media_id\":\"MEDIA_ID\",\"title\":\"TITLE\",\"description\":\"DESCRIPTION\"}}");
@ -67,13 +66,13 @@ public class WxCustomMessageTest {
public void testMusicReply() { public void testMusicReply() {
WxCustomMessage reply = new WxCustomMessage(); WxCustomMessage reply = new WxCustomMessage();
reply.setTouser("OPENID"); reply.setToUser("OPENID");
reply.setMsgtype(WxConsts.CUSTOM_MSG_MUSIC); reply.setMsgType(WxConsts.CUSTOM_MSG_MUSIC);
reply.setThumb_media_id("MEDIA_ID"); reply.setThumbMediaId("MEDIA_ID");
reply.setDescription("DESCRIPTION"); reply.setDescription("DESCRIPTION");
reply.setTitle("TITLE"); reply.setTitle("TITLE");
reply.setMusicurl("MUSIC_URL"); reply.setMusicUrl("MUSIC_URL");
reply.setHqmusicurl("HQ_MUSIC_URL"); reply.setHqMusicUrl("HQ_MUSIC_URL");
Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"music\",\"music\":{\"title\":\"TITLE\",\"description\":\"DESCRIPTION\",\"thumb_media_id\":\"MEDIA_ID\",\"musicurl\":\"MUSIC_URL\",\"hqmusicurl\":\"HQ_MUSIC_URL\"}}"); Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"music\",\"music\":{\"title\":\"TITLE\",\"description\":\"DESCRIPTION\",\"thumb_media_id\":\"MEDIA_ID\",\"musicurl\":\"MUSIC_URL\",\"hqmusicurl\":\"HQ_MUSIC_URL\"}}");
} }
@ -84,26 +83,26 @@ public class WxCustomMessageTest {
.thumbMediaId("MEDIA_ID") .thumbMediaId("MEDIA_ID")
.description("DESCRIPTION") .description("DESCRIPTION")
.musicUrl("MUSIC_URL") .musicUrl("MUSIC_URL")
.hqmusicUrl("HQ_MUSIC_URL") .hqMusicUrl("HQ_MUSIC_URL")
.build(); .build();
Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"music\",\"music\":{\"title\":\"TITLE\",\"description\":\"DESCRIPTION\",\"thumb_media_id\":\"MEDIA_ID\",\"musicurl\":\"MUSIC_URL\",\"hqmusicurl\":\"HQ_MUSIC_URL\"}}"); Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"music\",\"music\":{\"title\":\"TITLE\",\"description\":\"DESCRIPTION\",\"thumb_media_id\":\"MEDIA_ID\",\"musicurl\":\"MUSIC_URL\",\"hqmusicurl\":\"HQ_MUSIC_URL\"}}");
} }
public void testNewsReply() { public void testNewsReply() {
WxCustomMessage reply = new WxCustomMessage(); WxCustomMessage reply = new WxCustomMessage();
reply.setTouser("OPENID"); reply.setToUser("OPENID");
reply.setMsgtype(WxConsts.CUSTOM_MSG_NEWS); reply.setMsgType(WxConsts.CUSTOM_MSG_NEWS);
WxArticle article1 = new WxArticle(); WxArticle article1 = new WxArticle();
article1.setUrl("URL"); article1.setUrl("URL");
article1.setPicurl("PIC_URL"); article1.setPicUrl("PIC_URL");
article1.setDescription("Is Really A Happy Day"); article1.setDescription("Is Really A Happy Day");
article1.setTitle("Happy Day"); article1.setTitle("Happy Day");
reply.getArticles().add(article1); reply.getArticles().add(article1);
WxArticle article2 = new WxArticle(); WxArticle article2 = new WxArticle();
article2.setUrl("URL"); article2.setUrl("URL");
article2.setPicurl("PIC_URL"); article2.setPicUrl("PIC_URL");
article2.setDescription("Is Really A Happy Day"); article2.setDescription("Is Really A Happy Day");
article2.setTitle("Happy Day"); article2.setTitle("Happy Day");
reply.getArticles().add(article2); reply.getArticles().add(article2);
@ -115,13 +114,13 @@ public class WxCustomMessageTest {
public void testNewsBuild() { public void testNewsBuild() {
WxArticle article1 = new WxArticle(); WxArticle article1 = new WxArticle();
article1.setUrl("URL"); article1.setUrl("URL");
article1.setPicurl("PIC_URL"); article1.setPicUrl("PIC_URL");
article1.setDescription("Is Really A Happy Day"); article1.setDescription("Is Really A Happy Day");
article1.setTitle("Happy Day"); article1.setTitle("Happy Day");
WxArticle article2 = new WxArticle(); WxArticle article2 = new WxArticle();
article2.setUrl("URL"); article2.setUrl("URL");
article2.setPicurl("PIC_URL"); article2.setPicUrl("PIC_URL");
article2.setDescription("Is Really A Happy Day"); article2.setDescription("Is Really A Happy Day");
article2.setTitle("Happy Day"); article2.setTitle("Happy Day");

View File

@ -12,8 +12,8 @@ public class WxErrorTest {
String json = "{ \"errcode\": 40003, \"errmsg\": \"invalid openid\" }"; String json = "{ \"errcode\": 40003, \"errmsg\": \"invalid openid\" }";
WxError wxError = WxError.fromJson(json); WxError wxError = WxError.fromJson(json);
Assert.assertTrue(wxError.getErrcode() == 40003); Assert.assertTrue(wxError.getErrorCode() == 40003);
Assert.assertEquals(wxError.getErrmsg(), "invalid openid"); Assert.assertEquals(wxError.getErrorMsg(), "invalid openid");
} }
@ -21,8 +21,8 @@ public class WxErrorTest {
String json = "{ \"errcode\": 40003, \"errmsg\": \"invalid openid\", \"media_id\": \"12323423dsfafsf232f\" }"; String json = "{ \"errcode\": 40003, \"errmsg\": \"invalid openid\", \"media_id\": \"12323423dsfafsf232f\" }";
WxError wxError = WxError.fromJson(json); WxError wxError = WxError.fromJson(json);
Assert.assertTrue(wxError.getErrcode() == 40003); Assert.assertTrue(wxError.getErrorCode() == 40003);
Assert.assertEquals(wxError.getErrmsg(), "invalid openid"); Assert.assertEquals(wxError.getErrorMsg(), "invalid openid");
} }
@ -30,8 +30,8 @@ public class WxErrorTest {
String json = "{\"access_token\":\"ACCESS_TOKEN\",\"expires_in\":7200}"; String json = "{\"access_token\":\"ACCESS_TOKEN\",\"expires_in\":7200}";
WxError wxError = WxError.fromJson(json); WxError wxError = WxError.fromJson(json);
Assert.assertTrue(wxError.getErrcode() == 0); Assert.assertTrue(wxError.getErrorCode() == 0);
Assert.assertEquals(wxError.getErrmsg(), null); Assert.assertEquals(wxError.getErrorMsg(), null);
} }

View File

@ -1,6 +1,5 @@
package me.chanjar.weixin.bean; package me.chanjar.weixin.bean;
import me.chanjar.weixin.bean.WxMenu;
import org.testng.Assert; import org.testng.Assert;
import org.testng.annotations.DataProvider; import org.testng.annotations.DataProvider;
import org.testng.annotations.Test; import org.testng.annotations.Test;
@ -13,7 +12,7 @@ public class WxMenuTest {
@Test(dataProvider="wxReturnMenu") @Test(dataProvider="wxReturnMenu")
public void testFromJson(String json) { public void testFromJson(String json) {
WxMenu menu = WxMenu.fromJson(json); WxMenu menu = WxMenu.fromJson(json);
Assert.assertEquals(menu.getButton().size(), 3); Assert.assertEquals(menu.getButtons().size(), 3);
} }
@Test(dataProvider="wxPushMenu") @Test(dataProvider="wxPushMenu")
@ -32,9 +31,9 @@ public class WxMenuTest {
WxMenuButton button3 = new WxMenuButton(); WxMenuButton button3 = new WxMenuButton();
button3.setName("菜单"); button3.setName("菜单");
menu.getButton().add(button1); menu.getButtons().add(button1);
menu.getButton().add(button2); menu.getButtons().add(button2);
menu.getButton().add(button3); menu.getButtons().add(button3);
WxMenuButton button31 = new WxMenuButton(); WxMenuButton button31 = new WxMenuButton();
button31.setType("view"); button31.setType("view");
@ -51,9 +50,9 @@ public class WxMenuTest {
button33.setName("赞一下我们"); button33.setName("赞一下我们");
button33.setKey("V1001_GOOD"); button33.setKey("V1001_GOOD");
button3.getSub_button().add(button31); button3.getSubButtons().add(button31);
button3.getSub_button().add(button32); button3.getSubButtons().add(button32);
button3.getSub_button().add(button33); button3.getSubButtons().add(button33);
Assert.assertEquals(menu.toJson(), json); Assert.assertEquals(menu.toJson(), json);
} }

View File

@ -64,8 +64,8 @@ public class WxXmlMessageTest {
Assert.assertEquals(wxMessage.getMediaId(), "media_id"); Assert.assertEquals(wxMessage.getMediaId(), "media_id");
Assert.assertEquals(wxMessage.getFormat(), "Format"); Assert.assertEquals(wxMessage.getFormat(), "Format");
Assert.assertEquals(wxMessage.getThumbMediaId(), "thumb_media_id"); Assert.assertEquals(wxMessage.getThumbMediaId(), "thumb_media_id");
Assert.assertEquals(wxMessage.getLocation_X(), new Double(23.134521d)); Assert.assertEquals(wxMessage.getLocationX(), new Double(23.134521d));
Assert.assertEquals(wxMessage.getLocation_Y(), new Double(113.358803d)); Assert.assertEquals(wxMessage.getLocationY(), new Double(113.358803d));
Assert.assertEquals(wxMessage.getScale(), new Double(20)); Assert.assertEquals(wxMessage.getScale(), new Double(20));
Assert.assertEquals(wxMessage.getLabel(), "位置信息"); Assert.assertEquals(wxMessage.getLabel(), "位置信息");
Assert.assertEquals(wxMessage.getDescription(), "公众平台官网链接"); Assert.assertEquals(wxMessage.getDescription(), "公众平台官网链接");
@ -81,8 +81,8 @@ public class WxXmlMessageTest {
Assert.assertEquals(wxMessage.getScanCodeInfo().getScanResult(), "1"); Assert.assertEquals(wxMessage.getScanCodeInfo().getScanResult(), "1");
Assert.assertEquals(wxMessage.getSendPicsInfo().getCount(), new Long(1l)); Assert.assertEquals(wxMessage.getSendPicsInfo().getCount(), new Long(1l));
Assert.assertEquals(wxMessage.getSendPicsInfo().getPicList().get(0).getPicMd5Sum(), "1b5f7c23b5bf75682a53e7b6d163e185"); Assert.assertEquals(wxMessage.getSendPicsInfo().getPicList().get(0).getPicMd5Sum(), "1b5f7c23b5bf75682a53e7b6d163e185");
Assert.assertEquals(wxMessage.getSendLocationInfo().getLocation_X(), "23"); Assert.assertEquals(wxMessage.getSendLocationInfo().getLocationX(), "23");
Assert.assertEquals(wxMessage.getSendLocationInfo().getLocation_Y(), "113"); Assert.assertEquals(wxMessage.getSendLocationInfo().getLocationY(), "113");
Assert.assertEquals(wxMessage.getSendLocationInfo().getScale(), "15"); Assert.assertEquals(wxMessage.getSendLocationInfo().getScale(), "15");
Assert.assertEquals(wxMessage.getSendLocationInfo().getLabel(), " 广州市海珠区客村艺苑路 106号"); Assert.assertEquals(wxMessage.getSendLocationInfo().getLabel(), " 广州市海珠区客村艺苑路 106号");
Assert.assertEquals(wxMessage.getSendLocationInfo().getPoiname(), "wo de poi"); Assert.assertEquals(wxMessage.getSendLocationInfo().getPoiname(), "wo de poi");

View File

@ -1,7 +1,5 @@
package me.chanjar.weixin.bean; package me.chanjar.weixin.bean;
import me.chanjar.weixin.bean.WxXmlOutMessage;
import me.chanjar.weixin.bean.WxXmlOutMusicMessage;
import org.testng.Assert; import org.testng.Assert;
import org.testng.annotations.Test; import org.testng.annotations.Test;
@ -12,7 +10,7 @@ public class WxXmlOutIMusicMessageTest {
WxXmlOutMusicMessage m = new WxXmlOutMusicMessage(); WxXmlOutMusicMessage m = new WxXmlOutMusicMessage();
m.setTitle("title"); m.setTitle("title");
m.setDescription("ddfff"); m.setDescription("ddfff");
m.setHQMusicUrl("hQMusicUrl"); m.setHqMusicUrl("hQMusicUrl");
m.setMusicUrl("musicUrl"); m.setMusicUrl("musicUrl");
m.setThumbMediaId("thumbMediaId"); m.setThumbMediaId("thumbMediaId");
m.setCreateTime(1122l); m.setCreateTime(1122l);
@ -43,7 +41,7 @@ public class WxXmlOutIMusicMessageTest {
.touser("toUser") .touser("toUser")
.title("title") .title("title")
.description("ddfff") .description("ddfff")
.hqmusicUrl("hQMusicUrl") .hqMusicUrl("hQMusicUrl")
.musicUrl("musicUrl") .musicUrl("musicUrl")
.thumbMediaId("thumbMediaId") .thumbMediaId("thumbMediaId")
.build(); .build();