From 2a439a6690333e8451bdbc2c42d29c341d46a7fa Mon Sep 17 00:00:00 2001 From: Daniel Qian Date: Tue, 10 Feb 2015 14:10:25 +0800 Subject: [PATCH] =?UTF-8?q?issue=20#107=20=E8=AF=B7=E7=BB=99=E5=AE=9E?= =?UTF-8?q?=E4=BD=93=E7=B1=BB=E5=8A=A0=E4=B8=8ASerializable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/me/chanjar/weixin/common/bean/WxAccessToken.java | 4 +++- .../java/me/chanjar/weixin/common/bean/WxJsapiSignature.java | 4 +++- .../src/main/java/me/chanjar/weixin/common/bean/WxMenu.java | 3 ++- .../java/me/chanjar/weixin/common/bean/result/WxError.java | 4 +++- .../weixin/common/bean/result/WxMediaUploadResult.java | 4 +++- .../src/main/java/me/chanjar/weixin/cp/bean/WxCpDepart.java | 4 +++- .../src/main/java/me/chanjar/weixin/cp/bean/WxCpMessage.java | 3 ++- .../src/main/java/me/chanjar/weixin/cp/bean/WxCpTag.java | 4 +++- .../src/main/java/me/chanjar/weixin/cp/bean/WxCpUser.java | 3 ++- .../main/java/me/chanjar/weixin/cp/bean/WxCpXmlMessage.java | 3 ++- .../java/me/chanjar/weixin/mp/bean/WxMpCustomMessage.java | 3 ++- .../src/main/java/me/chanjar/weixin/mp/bean/WxMpGroup.java | 4 +++- .../java/me/chanjar/weixin/mp/bean/WxMpMassGroupMessage.java | 4 +++- .../src/main/java/me/chanjar/weixin/mp/bean/WxMpMassNews.java | 3 ++- .../me/chanjar/weixin/mp/bean/WxMpMassOpenIdsMessage.java | 3 ++- .../main/java/me/chanjar/weixin/mp/bean/WxMpMassVideo.java | 4 +++- .../java/me/chanjar/weixin/mp/bean/WxMpSemanticQuery.java | 4 +++- .../main/java/me/chanjar/weixin/mp/bean/WxMpTemplateData.java | 4 +++- .../java/me/chanjar/weixin/mp/bean/WxMpTemplateMessage.java | 3 ++- .../main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java | 3 ++- .../java/me/chanjar/weixin/mp/bean/WxMpXmlOutMessage.java | 4 +++- .../me/chanjar/weixin/mp/bean/result/WxMpMassSendResult.java | 4 +++- .../chanjar/weixin/mp/bean/result/WxMpMassUploadResult.java | 4 +++- .../chanjar/weixin/mp/bean/result/WxMpOAuth2AccessToken.java | 4 +++- .../me/chanjar/weixin/mp/bean/result/WxMpQrCodeTicket.java | 4 +++- .../weixin/mp/bean/result/WxMpSemanticQueryResult.java | 4 +++- .../main/java/me/chanjar/weixin/mp/bean/result/WxMpUser.java | 4 +++- 27 files changed, 72 insertions(+), 27 deletions(-) diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/WxAccessToken.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/WxAccessToken.java index 2365daa2..c923e4f6 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/WxAccessToken.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/WxAccessToken.java @@ -2,7 +2,9 @@ package me.chanjar.weixin.common.bean; import me.chanjar.weixin.common.util.json.WxGsonBuilder; -public class WxAccessToken { +import java.io.Serializable; + +public class WxAccessToken implements Serializable { private String accessToken; diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/WxJsapiSignature.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/WxJsapiSignature.java index c01d6c61..af32310a 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/WxJsapiSignature.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/WxJsapiSignature.java @@ -1,9 +1,11 @@ package me.chanjar.weixin.common.bean; +import java.io.Serializable; + /** * jspai signature */ -public class WxJsapiSignature { +public class WxJsapiSignature implements Serializable { private String noncestr; diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/WxMenu.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/WxMenu.java index 70110230..912d47c9 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/WxMenu.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/WxMenu.java @@ -2,6 +2,7 @@ package me.chanjar.weixin.common.bean; import java.io.InputStream; import java.io.InputStreamReader; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -12,7 +13,7 @@ import me.chanjar.weixin.common.util.json.WxGsonBuilder; * @author Daniel Qian * */ -public class WxMenu { +public class WxMenu implements Serializable { private List buttons = new ArrayList(); diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/result/WxError.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/result/WxError.java index 495ede81..e5123707 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/result/WxError.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/result/WxError.java @@ -2,13 +2,15 @@ package me.chanjar.weixin.common.bean.result; import me.chanjar.weixin.common.util.json.WxGsonBuilder; +import java.io.Serializable; + /** * 微信错误码说明 * http://mp.weixin.qq.com/wiki/index.php?title=全局返回码说明 * @author Daniel Qian * */ -public class WxError { +public class WxError implements Serializable { private int errorCode; diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/result/WxMediaUploadResult.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/result/WxMediaUploadResult.java index 1695489a..0ac7fe8a 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/result/WxMediaUploadResult.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/result/WxMediaUploadResult.java @@ -2,7 +2,9 @@ package me.chanjar.weixin.common.bean.result; import me.chanjar.weixin.common.util.json.WxGsonBuilder; -public class WxMediaUploadResult { +import java.io.Serializable; + +public class WxMediaUploadResult implements Serializable { private String type; private String mediaId; diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpDepart.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpDepart.java index 975cd595..04fb46fd 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpDepart.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpDepart.java @@ -2,12 +2,14 @@ package me.chanjar.weixin.cp.bean; import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder; +import java.io.Serializable; + /** * 微信部门 * * @author Daniel Qian */ -public class WxCpDepart { +public class WxCpDepart implements Serializable { private Integer id; private String name; diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpMessage.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpMessage.java index 0f5c4f82..ef645869 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpMessage.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpMessage.java @@ -3,6 +3,7 @@ package me.chanjar.weixin.cp.bean; import me.chanjar.weixin.cp.bean.messagebuilder.*; import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -11,7 +12,7 @@ import java.util.List; * @author Daniel Qian * */ -public class WxCpMessage { +public class WxCpMessage implements Serializable { private String toUser; private String toParty; diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpTag.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpTag.java index a56e9c5c..6c5d42c6 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpTag.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpTag.java @@ -2,10 +2,12 @@ package me.chanjar.weixin.cp.bean; import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder; +import java.io.Serializable; + /** * Created by Daniel Qian */ -public class WxCpTag { +public class WxCpTag implements Serializable { private String id; diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpUser.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpUser.java index 2e8547d2..a5c69c01 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpUser.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpUser.java @@ -2,6 +2,7 @@ package me.chanjar.weixin.cp.bean; import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -10,7 +11,7 @@ import java.util.List; * * @author Daniel Qian */ -public class WxCpUser { +public class WxCpUser implements Serializable { private String userId; private String name; diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpXmlMessage.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpXmlMessage.java index 01317d0f..469bb0bd 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpXmlMessage.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpXmlMessage.java @@ -10,6 +10,7 @@ import org.apache.commons.io.IOUtils; import java.io.IOException; import java.io.InputStream; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -25,7 +26,7 @@ import java.util.List; * @author Daniel Qian */ @XStreamAlias("xml") -public class WxCpXmlMessage { +public class WxCpXmlMessage implements Serializable { /////////////////////// // 以下都是微信推送过来的消息的xml的element所对应的属性 diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpCustomMessage.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpCustomMessage.java index dc3d3baa..a19b79bd 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpCustomMessage.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpCustomMessage.java @@ -3,6 +3,7 @@ package me.chanjar.weixin.mp.bean; import me.chanjar.weixin.mp.bean.custombuilder.*; import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -11,7 +12,7 @@ import java.util.List; * @author chanjarster * */ -public class WxMpCustomMessage { +public class WxMpCustomMessage implements Serializable { private String toUser; private String msgType; diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpGroup.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpGroup.java index cfa5fcb6..9cef8c1b 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpGroup.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpGroup.java @@ -2,12 +2,14 @@ package me.chanjar.weixin.mp.bean; import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; +import java.io.Serializable; + /** * 微信用户分组 * @author chanjarster * */ -public class WxMpGroup { +public class WxMpGroup implements Serializable { private long id = -1; private String name; diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassGroupMessage.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassGroupMessage.java index aa79c43f..b5faef72 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassGroupMessage.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassGroupMessage.java @@ -2,12 +2,14 @@ package me.chanjar.weixin.mp.bean; import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; +import java.io.Serializable; + /** * 分组群发的消息 * * @author chanjarster */ -public class WxMpMassGroupMessage { +public class WxMpMassGroupMessage implements Serializable { private Long groupId; private String msgtype; diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassNews.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassNews.java index f3c67d5a..f7602838 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassNews.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassNews.java @@ -2,6 +2,7 @@ package me.chanjar.weixin.mp.bean; import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -10,7 +11,7 @@ import java.util.List; * @author chanjarster * */ -public class WxMpMassNews { +public class WxMpMassNews implements Serializable { private List articles = new ArrayList(); diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassOpenIdsMessage.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassOpenIdsMessage.java index b542162b..7ef2535c 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassOpenIdsMessage.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassOpenIdsMessage.java @@ -2,6 +2,7 @@ package me.chanjar.weixin.mp.bean; import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -10,7 +11,7 @@ import java.util.List; * * @author chanjarster */ -public class WxMpMassOpenIdsMessage { +public class WxMpMassOpenIdsMessage implements Serializable { private List toUsers = new ArrayList(); private String msgType; diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassVideo.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassVideo.java index 3dc6c5d7..c2f04610 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassVideo.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpMassVideo.java @@ -2,12 +2,14 @@ package me.chanjar.weixin.mp.bean; import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; +import java.io.Serializable; + /** * 群发时用到的视频素材 * * @author chanjarster */ -public class WxMpMassVideo { +public class WxMpMassVideo implements Serializable { private String mediaId; private String title; diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpSemanticQuery.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpSemanticQuery.java index aac3bd10..faf0ec77 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpSemanticQuery.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpSemanticQuery.java @@ -2,6 +2,8 @@ package me.chanjar.weixin.mp.bean; import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; +import java.io.Serializable; + /** * 语义理解查询用对象 * @@ -9,7 +11,7 @@ import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; * * @author Daniel Qian */ -public class WxMpSemanticQuery { +public class WxMpSemanticQuery implements Serializable { private String query; private String category; diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpTemplateData.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpTemplateData.java index e328fe85..51d29e28 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpTemplateData.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpTemplateData.java @@ -1,9 +1,11 @@ package me.chanjar.weixin.mp.bean; +import java.io.Serializable; + /** * @author Daniel Qian */ -public class WxMpTemplateData { +public class WxMpTemplateData implements Serializable { private String name; private String value; diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpTemplateMessage.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpTemplateMessage.java index 91441cd1..aa061e3b 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpTemplateMessage.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpTemplateMessage.java @@ -2,10 +2,11 @@ package me.chanjar.weixin.mp.bean; import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; -public class WxMpTemplateMessage { +public class WxMpTemplateMessage implements Serializable { private String toUser; private String templateId; diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java index 8e7bacf2..8796b110 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlMessage.java @@ -10,6 +10,7 @@ import org.apache.commons.io.IOUtils; import java.io.IOException; import java.io.InputStream; +import java.io.Serializable; import java.util.ArrayList; import java.util.List; @@ -25,7 +26,7 @@ import java.util.List; * @author chanjarster */ @XStreamAlias("xml") -public class WxMpXmlMessage { +public class WxMpXmlMessage implements Serializable { /////////////////////// // 以下都是微信推送过来的消息的xml的element所对应的属性 diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutMessage.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutMessage.java index a7534bde..370d4430 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutMessage.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutMessage.java @@ -8,8 +8,10 @@ import me.chanjar.weixin.mp.bean.outxmlbuilder.*; import me.chanjar.weixin.mp.util.crypto.WxMpCryptUtil; import me.chanjar.weixin.mp.util.xml.XStreamTransformer; +import java.io.Serializable; + @XStreamAlias("xml") -public abstract class WxMpXmlOutMessage { +public abstract class WxMpXmlOutMessage implements Serializable { @XStreamAlias("ToUserName") @XStreamConverter(value=XStreamCDataConverter.class) diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpMassSendResult.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpMassSendResult.java index 9b5df2b8..adf6ebbc 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpMassSendResult.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpMassSendResult.java @@ -2,6 +2,8 @@ package me.chanjar.weixin.mp.bean.result; import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; +import java.io.Serializable; + /** *
  * 群发消息一发送就返回的结果
@@ -13,7 +15,7 @@ import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
  * @author chanjarster
  *
  */
-public class WxMpMassSendResult {
+public class WxMpMassSendResult implements Serializable {
 
   private String errorCode;
   private String errorMsg;
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpMassUploadResult.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpMassUploadResult.java
index e0ed145b..7100c630 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpMassUploadResult.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpMassUploadResult.java
@@ -2,6 +2,8 @@ package me.chanjar.weixin.mp.bean.result;
 
 import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
 
+import java.io.Serializable;
+
 /**
  * 
  * 上传群发用的素材的结果
@@ -10,7 +12,7 @@ import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
  * @author chanjarster
  *
  */
-public class WxMpMassUploadResult {
+public class WxMpMassUploadResult implements Serializable {
 
   private String type;
   private String mediaId;
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpOAuth2AccessToken.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpOAuth2AccessToken.java
index e2d0d1a0..2d6696d4 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpOAuth2AccessToken.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpOAuth2AccessToken.java
@@ -2,7 +2,9 @@ package me.chanjar.weixin.mp.bean.result;
 
 import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
 
-public class WxMpOAuth2AccessToken {
+import java.io.Serializable;
+
+public class WxMpOAuth2AccessToken implements Serializable {
 
   private String accessToken;
 
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpQrCodeTicket.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpQrCodeTicket.java
index bf240c57..562820c3 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpQrCodeTicket.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpQrCodeTicket.java
@@ -2,12 +2,14 @@ package me.chanjar.weixin.mp.bean.result;
 
 import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
 
+import java.io.Serializable;
+
 /**
  * 换取二维码的Ticket
  * 
  * @author chanjarster
  */
-public class WxMpQrCodeTicket {
+public class WxMpQrCodeTicket implements Serializable {
   
   protected String ticket;
   protected int expire_seconds = -1;
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpSemanticQueryResult.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpSemanticQueryResult.java
index a0972c35..936cfbfe 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpSemanticQueryResult.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpSemanticQueryResult.java
@@ -2,6 +2,8 @@ package me.chanjar.weixin.mp.bean.result;
 
 import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
 
+import java.io.Serializable;
+
 /**
  * 语义理解查询结果对象
  *
@@ -9,7 +11,7 @@ import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
  *
  * @author Daniel Qian
  */
-public class WxMpSemanticQueryResult {
+public class WxMpSemanticQueryResult implements Serializable {
 
   private String query;
   private String type;
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpUser.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpUser.java
index e9e1d17d..5223e93e 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpUser.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/result/WxMpUser.java
@@ -2,12 +2,14 @@ package me.chanjar.weixin.mp.bean.result;
 
 import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
 
+import java.io.Serializable;
+
 /**
  * 微信用户信息
  * @author chanjarster
  *
  */
-public class WxMpUser {
+public class WxMpUser implements Serializable {
 
   protected Boolean subscribe;
   protected String openId;