@@ -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 = ...; | |||||
WxCustomMessage message = WxCustomMessage.TEXT().toUser(openid).content("Hello World").build(); | |||||
String openId = ...; | |||||
WxCustomMessage message = WxCustomMessage.TEXT().toUser(openId).content("Hello World").build(); | |||||
wxService.customMessageSend(message); | wxService.customMessageSend(message); | ||||
``` | ``` |
@@ -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) { | ||||
@@ -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; | ||||
@@ -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() { | |||||
return access_token; | |||||
public String getAccessToken() { | |||||
return accessToken; | |||||
} | } | ||||
public void setAccess_token(String access_token) { | |||||
this.access_token = access_token; | |||||
public void setAccessToken(String accessToken) { | |||||
this.accessToken = accessToken; | |||||
} | } | ||||
public int getExpires_in() { | |||||
return expires_in; | |||||
public int getExpiresIn() { | |||||
return expiresIn; | |||||
} | } | ||||
public void setExpires_in(int expires_in) { | |||||
this.expires_in = expires_in; | |||||
public void setExpiresIn(int expiresIn) { | |||||
this.expiresIn = expiresIn; | |||||
} | } | ||||
public static WxAccessToken fromJson(String json) { | public static WxAccessToken fromJson(String json) { | ||||
@@ -19,25 +19,25 @@ import me.chanjar.weixin.util.json.WxGsonBuilder; | |||||
*/ | */ | ||||
public class WxCustomMessage { | public class WxCustomMessage { | ||||
private String touser; | |||||
private String msgtype; | |||||
private String toUser; | |||||
private String msgType; | |||||
private String content; | private String content; | ||||
private String media_id; | |||||
private String thumb_media_id; | |||||
private String mediaId; | |||||
private String thumbMediaId; | |||||
private String title; | private String title; | ||||
private String description; | private String description; | ||||
private String musicurl; | |||||
private String hqmusicurl; | |||||
private String musicUrl; | |||||
private String hqMusicUrl; | |||||
private List<WxArticle> articles = new ArrayList<WxArticle>(); | private List<WxArticle> articles = new ArrayList<WxArticle>(); | ||||
public String getTouser() { | |||||
return touser; | |||||
public String getToUser() { | |||||
return toUser; | |||||
} | } | ||||
public void setTouser(String touser) { | |||||
this.touser = touser; | |||||
public void setToUser(String toUser) { | |||||
this.toUser = toUser; | |||||
} | } | ||||
public String getMsgtype() { | |||||
return msgtype; | |||||
public String getMsgType() { | |||||
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) { | |||||
this.msgtype = msgtype; | |||||
public void setMsgType(String 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() { | |||||
return media_id; | |||||
public String getMediaId() { | |||||
return mediaId; | |||||
} | } | ||||
public void setMedia_id(String media_id) { | |||||
this.media_id = media_id; | |||||
public void setMediaId(String mediaId) { | |||||
this.mediaId = mediaId; | |||||
} | } | ||||
public String getThumb_media_id() { | |||||
return thumb_media_id; | |||||
public String getThumbMediaId() { | |||||
return thumbMediaId; | |||||
} | } | ||||
public void setThumb_media_id(String thumb_media_id) { | |||||
this.thumb_media_id = thumb_media_id; | |||||
public void setThumbMediaId(String thumbMediaId) { | |||||
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() { | |||||
return musicurl; | |||||
public String getMusicUrl() { | |||||
return musicUrl; | |||||
} | } | ||||
public void setMusicurl(String musicurl) { | |||||
this.musicurl = musicurl; | |||||
public void setMusicUrl(String musicUrl) { | |||||
this.musicUrl = musicUrl; | |||||
} | } | ||||
public String getHqmusicurl() { | |||||
return hqmusicurl; | |||||
public String getHqMusicUrl() { | |||||
return hqMusicUrl; | |||||
} | } | ||||
public void setHqmusicurl(String hqmusicurl) { | |||||
this.hqmusicurl = hqmusicurl; | |||||
public void setHqMusicUrl(String 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() { | |||||
return picurl; | |||||
public String getPicUrl() { | |||||
return picUrl; | |||||
} | } | ||||
public void setPicurl(String picurl) { | |||||
this.picurl = picurl; | |||||
public void setPicUrl(String picUrl) { | |||||
this.picUrl = picUrl; | |||||
} | } | ||||
} | } | ||||
@@ -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() { | |||||
return media_id; | |||||
public String getMediaId() { | |||||
return mediaId; | |||||
} | } | ||||
public void setMedia_id(String media_id) { | |||||
this.media_id = media_id; | |||||
public void setMediaId(String mediaId) { | |||||
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() { | |||||
return group_id; | |||||
public long getGroupId() { | |||||
return groupId; | |||||
} | } | ||||
public void setGroup_id(long group_id) { | |||||
this.group_id = group_id; | |||||
public void setGroupId(long groupId) { | |||||
this.groupId = groupId; | |||||
} | } | ||||
} | } |
@@ -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() { | |||||
return thumb_media_id; | |||||
public String getThumbMediaId() { | |||||
return thumbMediaId; | |||||
} | } | ||||
public void setThumb_media_id(String thumb_media_id) { | |||||
this.thumb_media_id = thumb_media_id; | |||||
public void setThumbMediaId(String thumbMediaId) { | |||||
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() { | |||||
return content_source_url; | |||||
public String getContentSourceUrl() { | |||||
return contentSourceUrl; | |||||
} | } | ||||
public void setContent_source_url(String content_source_url) { | |||||
this.content_source_url = content_source_url; | |||||
public void setContentSourceUrl(String contentSourceUrl) { | |||||
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() { | |||||
return show_cover_pic; | |||||
public boolean isShowCoverPic() { | |||||
return showCoverPic; | |||||
} | } | ||||
public void setShow_cover_pic(boolean show_cover_pic) { | |||||
this.show_cover_pic = show_cover_pic; | |||||
public void setShowCoverPic(boolean showCoverPic) { | |||||
this.showCoverPic = showCoverPic; | |||||
} | } | ||||
} | } | ||||
@@ -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 String msgtype; | |||||
private List<String> toUsers = new ArrayList<String>(); | |||||
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() { | |||||
return msgtype; | |||||
public String getMsgType() { | |||||
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) { | |||||
this.msgtype = msgtype; | |||||
public void setMsgType(String 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() { | |||||
return media_id; | |||||
public String getMediaId() { | |||||
return mediaId; | |||||
} | } | ||||
public void setMedia_id(String media_id) { | |||||
this.media_id = media_id; | |||||
public void setMediaId(String mediaId) { | |||||
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() { | |||||
return touser; | |||||
public List<String> getToUsers() { | |||||
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); | |||||
} | } | ||||
} | } |
@@ -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() { | |||||
return media_id; | |||||
public String getMediaId() { | |||||
return mediaId; | |||||
} | } | ||||
public void setMedia_id(String media_id) { | |||||
this.media_id = media_id; | |||||
public void setMediaId(String mediaId) { | |||||
this.mediaId = mediaId; | |||||
} | } | ||||
public String toJson() { | public String toJson() { | ||||
@@ -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() { | |||||
return button; | |||||
public List<WxMenuButton> getButtons() { | |||||
return buttons; | |||||
} | } | ||||
public void setButton(List<WxMenuButton> button) { | |||||
this.button = button; | |||||
public void setButtons(List<WxMenuButton> buttons) { | |||||
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() { | |||||
return sub_button; | |||||
public List<WxMenuButton> getSubButtons() { | |||||
return subButtons; | |||||
} | } | ||||
public void setSub_button(List<WxMenuButton> sub_button) { | |||||
this.sub_button = sub_button; | |||||
public void setSubButtons(List<WxMenuButton> subButtons) { | |||||
this.subButtons = subButtons; | |||||
} | } | ||||
} | } | ||||
@@ -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() { | |||||
return Location_X; | |||||
public Double getLocationX() { | |||||
return locationX; | |||||
} | } | ||||
public void setLocation_X(Double location_X) { | |||||
Location_X = location_X; | |||||
public void setLocationX(Double locationX) { | |||||
this.locationX = locationX; | |||||
} | } | ||||
public Double getLocation_Y() { | |||||
return Location_Y; | |||||
public Double getLocationY() { | |||||
return locationY; | |||||
} | } | ||||
public void setLocation_Y(Double location_Y) { | |||||
Location_Y = location_Y; | |||||
public void setLocationY(Double locationY) { | |||||
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() { | |||||
return Location_X; | |||||
public String getLocationX() { | |||||
return locationX; | |||||
} | } | ||||
public void setLocation_X(String location_X) { | |||||
Location_X = location_X; | |||||
public void setLocationX(String locationX) { | |||||
this.locationX = locationX; | |||||
} | } | ||||
public String getLocation_Y() { | |||||
return Location_Y; | |||||
public String getLocationY() { | |||||
return locationY; | |||||
} | } | ||||
public void setLocation_Y(String location_Y) { | |||||
Location_Y = location_Y; | |||||
public void setLocationY(String locationY) { | |||||
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; | |||||
} | } | ||||
} | } | ||||
@@ -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; | |||||
} | } | ||||
} | } |
@@ -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() { | ||||
@@ -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.ArticleCount = this.Articles.size(); | |||||
this.articles.add(item); | |||||
this.articleCount = this.articles.size(); | |||||
} | } | ||||
public List<Item> getArticles() { | public List<Item> getArticles() { | ||||
return Articles; | |||||
return articles; | |||||
} | } | ||||
@@ -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() { | |||||
return music.getHQMusicUrl(); | |||||
public String getHqMusicUrl() { | |||||
return music.getHqMusicUrl(); | |||||
} | } | ||||
public void setHQMusicUrl(String hQMusicUrl) { | |||||
music.setHQMusicUrl(hQMusicUrl); | |||||
public void setHqMusicUrl(String 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() { | |||||
return HQMusicUrl; | |||||
public String getHqMusicUrl() { | |||||
return hqMusicUrl; | |||||
} | } | ||||
public void setHQMusicUrl(String hQMusicUrl) { | |||||
HQMusicUrl = hQMusicUrl; | |||||
public void setHqMusicUrl(String hqMusicUrl) { | |||||
this.hqMusicUrl = hqMusicUrl; | |||||
} | } | ||||
} | } | ||||
@@ -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; | |||||
} | } | ||||
@@ -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; | |||||
} | } | ||||
} | } | ||||
@@ -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; | |||||
} | } | ||||
} | } |
@@ -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.setTouser(this.toUser); | |||||
m.setMsgType(this.msgType); | |||||
m.setToUser(this.toUser); | |||||
return m; | return m; | ||||
} | } | ||||
} | } |
@@ -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; | ||||
} | } | ||||
} | } |
@@ -7,10 +7,10 @@ import me.chanjar.weixin.bean.WxCustomMessage; | |||||
* 音乐消息builder | * 音乐消息builder | ||||
* <pre> | * <pre> | ||||
* 用法: WxCustomMessage m = WxCustomMessage.MUSIC() | * 用法: WxCustomMessage m = WxCustomMessage.MUSIC() | ||||
* .musicurl(...) | |||||
* .hqmusicurl(...) | |||||
* .musicUrl(...) | |||||
* .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 musicurl; | |||||
private String hqmusicurl; | |||||
private String thumbMediaId; | |||||
private String musicUrl; | |||||
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) { | |||||
this.hqmusicurl = hqmusicurl; | |||||
public MusicBuilder hqMusicUrl(String 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.setHqmusicurl(this.hqmusicurl); | |||||
m.setMusicUrl(this.musicUrl); | |||||
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; | ||||
} | } | ||||
} | } |
@@ -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) { | ||||
@@ -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) { | ||||
@@ -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) { | |||||
this.media_id = media_id; | |||||
public VideoBuilder mediaId(String mediaId) { | |||||
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; | ||||
} | } | ||||
} | } |
@@ -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; | ||||
} | } | ||||
} | } |
@@ -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) { | |||||
this.hQMusicUrl = hQMusicUrl; | |||||
public MusicBuilder hqMusicUrl(String 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; | ||||
@@ -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() { | |||||
return errcode; | |||||
public int getErrorCode() { | |||||
return errorCode; | |||||
} | } | ||||
public void setErrcode(int errcode) { | |||||
this.errcode = errcode; | |||||
public void setErrorCode(int errorCode) { | |||||
this.errorCode = errorCode; | |||||
} | } | ||||
public String getErrmsg() { | |||||
return errmsg; | |||||
public String getErrorMsg() { | |||||
return errorMsg; | |||||
} | } | ||||
public void setErrmsg(String errmsg) { | |||||
this.errmsg = errmsg; | |||||
public void setErrorMsg(String errorMsg) { | |||||
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(); | |||||
} | } | ||||
} | } |
@@ -15,32 +15,32 @@ import me.chanjar.weixin.util.json.WxGsonBuilder; | |||||
*/ | */ | ||||
public class WxMassSendResult { | public class WxMassSendResult { | ||||
private String errcode; | |||||
private String errmsg; | |||||
private String msg_id; | |||||
private String errorCode; | |||||
private String errorMsg; | |||||
private String msgId; | |||||
public String getErrcode() { | |||||
return errcode; | |||||
public String getErrorCode() { | |||||
return errorCode; | |||||
} | } | ||||
public void setErrcode(String errcode) { | |||||
this.errcode = errcode; | |||||
public void setErrorCode(String errorCode) { | |||||
this.errorCode = errorCode; | |||||
} | } | ||||
public String getErrmsg() { | |||||
return errmsg; | |||||
public String getErrorMsg() { | |||||
return errorMsg; | |||||
} | } | ||||
public void setErrmsg(String errmsg) { | |||||
this.errmsg = errmsg; | |||||
public void setErrorMsg(String errorMsg) { | |||||
this.errorMsg = errorMsg; | |||||
} | } | ||||
public String getMsg_id() { | |||||
return msg_id; | |||||
public String getMsgId() { | |||||
return msgId; | |||||
} | } | ||||
public void setMsg_id(String msg_id) { | |||||
this.msg_id = msg_id; | |||||
public void setMsgId(String msgId) { | |||||
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 + "]"; | |||||
} | } | ||||
} | } |
@@ -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 long created_at; | |||||
private String mediaId; | |||||
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() { | |||||
return media_id; | |||||
public String getMediaId() { | |||||
return mediaId; | |||||
} | } | ||||
public void setMedia_id(String media_id) { | |||||
this.media_id = media_id; | |||||
public void setMediaId(String mediaId) { | |||||
this.mediaId = mediaId; | |||||
} | } | ||||
public long getCreated_at() { | |||||
return created_at; | |||||
public long getCreatedAt() { | |||||
return createdAt; | |||||
} | } | ||||
public void setCreated_at(long created_at) { | |||||
this.created_at = created_at; | |||||
public void setCreatedAt(long createdAt) { | |||||
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 + "]"; | |||||
} | } | ||||
} | } |
@@ -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 thumb_media_id; | |||||
private long created_at; | |||||
private String mediaId; | |||||
private String thumbMediaId; | |||||
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() { | |||||
return media_id; | |||||
public String getMediaId() { | |||||
return mediaId; | |||||
} | } | ||||
public void setMedia_id(String media_id) { | |||||
this.media_id = media_id; | |||||
public void setMediaId(String mediaId) { | |||||
this.mediaId = mediaId; | |||||
} | } | ||||
public long getCreated_at() { | |||||
return created_at; | |||||
public long getCreatedAt() { | |||||
return createdAt; | |||||
} | } | ||||
public void setCreated_at(long created_at) { | |||||
this.created_at = created_at; | |||||
public void setCreatedAt(long createdAt) { | |||||
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() { | |||||
return thumb_media_id; | |||||
public String getThumbMediaId() { | |||||
return thumbMediaId; | |||||
} | } | ||||
public void setThumb_media_id(String thumb_media_id) { | |||||
this.thumb_media_id = thumb_media_id; | |||||
public void setThumbMediaId(String thumbMediaId) { | |||||
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 | |||||
+ ", created_at=" + created_at + "]"; | |||||
return "WxUploadResult [type=" + type + ", media_id=" + mediaId + ", thumb_media_id=" + thumbMediaId | |||||
+ ", created_at=" + createdAt + "]"; | |||||
} | } | ||||
} | } |
@@ -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 long subscribe_time; | |||||
protected String unionid; | |||||
protected String headImgUrl; | |||||
protected long subscribeTime; | |||||
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() { | |||||
return openid; | |||||
public String getOpenId() { | |||||
return openId; | |||||
} | } | ||||
public void setOpenid(String openid) { | |||||
this.openid = openid; | |||||
public void setOpenId(String 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() { | |||||
return headimgurl; | |||||
public String getHeadImgUrl() { | |||||
return headImgUrl; | |||||
} | } | ||||
public void setHeadimgurl(String headimgurl) { | |||||
this.headimgurl = headimgurl; | |||||
public void setHeadImgUrl(String headImgUrl) { | |||||
this.headImgUrl = headImgUrl; | |||||
} | } | ||||
public long getSubscribe_time() { | |||||
return subscribe_time; | |||||
public long getSubscribeTime() { | |||||
return subscribeTime; | |||||
} | } | ||||
public void setSubscribe_time(long subscribe_time) { | |||||
this.subscribe_time = subscribe_time; | |||||
public void setSubscribeTime(long subscribeTime) { | |||||
this.subscribeTime = subscribeTime; | |||||
} | } | ||||
public String getUnionid() { | |||||
return unionid; | |||||
public String getUnionId() { | |||||
return unionId; | |||||
} | } | ||||
public void setUnionid(String unionid) { | |||||
this.unionid = unionid; | |||||
public void setUnionId(String unionId) { | |||||
this.unionId = unionId; | |||||
} | } | ||||
public static WxUser fromJson(String json) { | public static WxUser fromJson(String json) { | ||||
@@ -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 String next_openid; | |||||
protected List<String> openIds = new ArrayList<String>(); | |||||
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() { | |||||
return openids; | |||||
public List<String> getOpenIds() { | |||||
return openIds; | |||||
} | } | ||||
public void setOpenids(List<String> openids) { | |||||
this.openids = openids; | |||||
public void setOpenIds(List<String> openIds) { | |||||
this.openIds = openIds; | |||||
} | } | ||||
public String getNext_openid() { | |||||
return next_openid; | |||||
public String getNextOpenId() { | |||||
return nextOpenId; | |||||
} | } | ||||
public void setNext_openid(String next_openid) { | |||||
this.next_openid = next_openid; | |||||
public void setNextOpenId(String nextOpenId) { | |||||
this.nextOpenId = nextOpenId; | |||||
} | } | ||||
public static WxUserList fromJson(String json) { | public static WxUserList fromJson(String json) { | ||||
@@ -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); | ||||
@@ -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; | ||||
@@ -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; | ||||
@@ -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; | |||||
} | |||||
} |
@@ -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("msgtype", message.getMsgtype()); | |||||
messageJson.addProperty("touser", message.getToUser()); | |||||
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("thumb_media_id", message.getThumb_media_id()); | |||||
video.addProperty("media_id", message.getMediaId()); | |||||
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("musicurl", message.getMusicurl()); | |||||
music.addProperty("hqmusicurl", message.getHqmusicurl()); | |||||
music.addProperty("thumb_media_id", message.getThumbMediaId()); | |||||
music.addProperty("musicurl", message.getMusicUrl()); | |||||
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); | ||||
@@ -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; | |||||
} | |||||
} |
@@ -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.WxGroup; | |||||
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 me.chanjar.weixin.bean.*; | |||||
import me.chanjar.weixin.bean.result.*; | |||||
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() { | ||||
@@ -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()); | ||||
@@ -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()) { | |||||
articleJson.addProperty("content_source_url", article.getContent_source_url()); | |||||
if (null != article.getContentSourceUrl()) { | |||||
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); | ||||
@@ -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(); | |||||
for (String openId : message.getTouser()) { | |||||
touser.add(new JsonPrimitive(openId)); | |||||
JsonArray toUsers = new JsonArray(); | |||||
for (String openId : message.getToUsers()) { | |||||
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; | ||||
} | } | ||||
@@ -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; | |||||
} | |||||
} |
@@ -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; | |||||
} | |||||
} |
@@ -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; | |||||
} | |||||
} |
@@ -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; | |||||
} | |||||
} |
@@ -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; | ||||
@@ -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; | |||||
} | |||||
} |
@@ -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.setUnionid(GsonHelper.getString(o, "unionid")); | |||||
wxUser.setSubscribeTime(GsonHelper.getLong(o, "subscribe_time")); | |||||
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("男"); | ||||
@@ -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; | ||||
} | } | ||||
@@ -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.setTouser(configStorage.getOpenId()); | |||||
message.setMsgType(WxConsts.CUSTOM_MSG_TEXT); | |||||
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); | ||||
@@ -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.setMedia_id(mediaId); | |||||
massMessage.getTouser().add(configProvider.getOpenId()); | |||||
massMessage.setMsgType(massMsgType); | |||||
massMessage.setMediaId(mediaId); | |||||
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.setGroup_id(wxService.groupGet().get(0).getId()); | |||||
massMessage.setMediaId(mediaId); | |||||
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()); | |||||
messages[0] = new Object[] { WxConsts.MASS_MSG_VIDEO, uploadResult.getMedia_id() }; | |||||
Assert.assertNotNull(uploadResult.getMediaId()); | |||||
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()); | |||||
messages[1] = new Object[] { WxConsts.MASS_MSG_IMAGE, uploadMediaRes.getMedia_id() }; | |||||
Assert.assertNotNull(uploadMediaRes.getMediaId()); | |||||
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()); | |||||
messages[2] = new Object[] { WxConsts.MASS_MSG_VOICE, uploadMediaRes.getMedia_id() }; | |||||
Assert.assertNotNull(uploadMediaRes.getMediaId()); | |||||
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.setShow_cover_pic(true); | |||||
article2.setThumbMediaId(uploadMediaRes.getMediaId()); | |||||
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()); | |||||
messages[3] = new Object[] { WxConsts.MASS_MSG_NEWS, massUploadResult.getMedia_id() }; | |||||
Assert.assertNotNull(uploadMediaRes.getMediaId()); | |||||
messages[3] = new Object[] { WxConsts.MASS_MSG_NEWS, massUploadResult.getMediaId() }; | |||||
} | } | ||||
return messages; | return messages; | ||||
} | } | ||||
@@ -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.assertTrue(res.getMedia_id() != null || res.getThumb_media_id() != null); | |||||
Assert.assertNotNull(res.getCreatedAt()); | |||||
Assert.assertTrue(res.getMediaId() != null || res.getThumbMediaId() != null); | |||||
if (res.getMedia_id() != null) { | |||||
media_ids.add(res.getMedia_id()); | |||||
if (res.getMediaId() != null) { | |||||
media_ids.add(res.getMediaId()); | |||||
} | } | ||||
if (res.getThumb_media_id() != null) { | |||||
media_ids.add(res.getThumb_media_id()); | |||||
if (res.getThumbMediaId() != null) { | |||||
media_ids.add(res.getThumbMediaId()); | |||||
} | } | ||||
} | } | ||||
@@ -56,9 +56,9 @@ public class WxMenuAPITest { | |||||
WxMenuButton button3 = new WxMenuButton(); | WxMenuButton button3 = new WxMenuButton(); | ||||
button3.setName("菜单"); | button3.setName("菜单"); | ||||
menu.getButton().add(button1); | |||||
menu.getButton().add(button2); | |||||
menu.getButton().add(button3); | |||||
menu.getButtons().add(button1); | |||||
menu.getButtons().add(button2); | |||||
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.getSub_button().add(button32); | |||||
button3.getSub_button().add(button33); | |||||
button3.getSubButtons().add(button31); | |||||
button3.getSubButtons().add(button32); | |||||
button3.getSubButtons().add(button33); | |||||
return new Object[][] { | return new Object[][] { | ||||
new Object[] { | new Object[] { | ||||
@@ -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(); | ||||
@@ -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 { | ||||
@@ -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.assertTrue(wxError.getExpires_in() == 7200); | |||||
Assert.assertEquals(wxError.getAccessToken(), "ACCESS_TOKEN"); | |||||
Assert.assertTrue(wxError.getExpiresIn() == 7200); | |||||
} | } | ||||
@@ -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.setMsgtype(WxConsts.CUSTOM_MSG_TEXT); | |||||
reply.setToUser("OPENID"); | |||||
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.setMsgtype(WxConsts.CUSTOM_MSG_IMAGE); | |||||
reply.setMedia_id("MEDIA_ID"); | |||||
reply.setToUser("OPENID"); | |||||
reply.setMsgType(WxConsts.CUSTOM_MSG_IMAGE); | |||||
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.setMsgtype(WxConsts.CUSTOM_MSG_VOICE); | |||||
reply.setMedia_id("MEDIA_ID"); | |||||
reply.setToUser("OPENID"); | |||||
reply.setMsgType(WxConsts.CUSTOM_MSG_VOICE); | |||||
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.setMsgtype(WxConsts.CUSTOM_MSG_VIDEO); | |||||
reply.setMedia_id("MEDIA_ID"); | |||||
reply.setThumb_media_id("MEDIA_ID"); | |||||
reply.setToUser("OPENID"); | |||||
reply.setMsgType(WxConsts.CUSTOM_MSG_VIDEO); | |||||
reply.setMediaId("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.setMsgtype(WxConsts.CUSTOM_MSG_MUSIC); | |||||
reply.setThumb_media_id("MEDIA_ID"); | |||||
reply.setToUser("OPENID"); | |||||
reply.setMsgType(WxConsts.CUSTOM_MSG_MUSIC); | |||||
reply.setThumbMediaId("MEDIA_ID"); | |||||
reply.setDescription("DESCRIPTION"); | reply.setDescription("DESCRIPTION"); | ||||
reply.setTitle("TITLE"); | reply.setTitle("TITLE"); | ||||
reply.setMusicurl("MUSIC_URL"); | |||||
reply.setHqmusicurl("HQ_MUSIC_URL"); | |||||
reply.setMusicUrl("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.setMsgtype(WxConsts.CUSTOM_MSG_NEWS); | |||||
reply.setToUser("OPENID"); | |||||
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"); | ||||
@@ -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.assertEquals(wxError.getErrmsg(), "invalid openid"); | |||||
Assert.assertTrue(wxError.getErrorCode() == 40003); | |||||
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.assertEquals(wxError.getErrmsg(), "invalid openid"); | |||||
Assert.assertTrue(wxError.getErrorCode() == 40003); | |||||
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.assertEquals(wxError.getErrmsg(), null); | |||||
Assert.assertTrue(wxError.getErrorCode() == 0); | |||||
Assert.assertEquals(wxError.getErrorMsg(), null); | |||||
} | } | ||||
@@ -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.getButton().add(button2); | |||||
menu.getButton().add(button3); | |||||
menu.getButtons().add(button1); | |||||
menu.getButtons().add(button2); | |||||
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.getSub_button().add(button32); | |||||
button3.getSub_button().add(button33); | |||||
button3.getSubButtons().add(button31); | |||||
button3.getSubButtons().add(button32); | |||||
button3.getSubButtons().add(button33); | |||||
Assert.assertEquals(menu.toJson(), json); | Assert.assertEquals(menu.toJson(), json); | ||||
} | } | ||||
@@ -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.getLocation_Y(), new Double(113.358803d)); | |||||
Assert.assertEquals(wxMessage.getLocationX(), new Double(23.134521d)); | |||||
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().getLocation_Y(), "113"); | |||||
Assert.assertEquals(wxMessage.getSendLocationInfo().getLocationX(), "23"); | |||||
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"); | ||||
@@ -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(); | ||||