From ad71e3c0f3f437a20d48a165bc9490aecf5f2c00 Mon Sep 17 00:00:00 2001 From: YuJian Date: Sun, 18 Sep 2016 21:30:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8D=A1=E5=88=B8=E7=9A=84?= =?UTF-8?q?=E5=AE=A2=E6=9C=8D=E6=B6=88=E6=81=AF=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. WxCardBuilder用于构建卡券的客服消息; 2. WxMpCustomMessage新作cardId字段及卡券builder; 3. CustomMessageGsonAdapter处理cardId序列化名字; 4. WxConsts新作WXCARD卡券类型。 --- .../chanjar/weixin/common/api/WxConsts.java | 1 + .../weixin/mp/bean/WxMpCustomMessage.java | 49 +++++++++++++------ .../mp/bean/custombuilder/WxCardBuilder.java | 31 ++++++++++++ .../json/WxMpCustomMessageGsonAdapter.java | 6 +++ 4 files changed, 72 insertions(+), 15 deletions(-) create mode 100644 weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/WxCardBuilder.java diff --git a/weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java b/weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java index 46dd11f2..eae90d97 100644 --- a/weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java +++ b/weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java @@ -30,6 +30,7 @@ public class WxConsts { public static final String CUSTOM_MSG_MUSIC = "music"; public static final String CUSTOM_MSG_NEWS = "news"; public static final String CUSTOM_MSG_FILE = "file"; + public static final String CUSTOM_MSG_WXCARD = "wxcard"; public static final String CUSTOM_MSG_TRANSFER_CUSTOMER_SERVICE = "transfer_customer_service"; public static final String CUSTOM_MSG_SAFE_NO = "0"; public static final String CUSTOM_MSG_SAFE_YES = "1"; 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 04eee332..f1ed0fa7 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 @@ -14,7 +14,7 @@ import java.util.List; */ public class WxMpCustomMessage implements Serializable { private static final long serialVersionUID = -9196732086954365246L; - + private String toUser; private String msgType; private String content; @@ -25,8 +25,9 @@ public class WxMpCustomMessage implements Serializable { private String musicUrl; private String hqMusicUrl; private String kfAccount; + private String cardId; private List articles = new ArrayList<>(); - + public String getToUser() { return this.toUser; } @@ -36,7 +37,7 @@ public class WxMpCustomMessage implements Serializable { public String getMsgType() { return this.msgType; } - + /** *
    * 请使用
@@ -46,6 +47,7 @@ public class WxMpCustomMessage implements Serializable {
    * {@link me.chanjar.weixin.common.api.WxConsts#CUSTOM_MSG_MUSIC}
    * {@link me.chanjar.weixin.common.api.WxConsts#CUSTOM_MSG_VIDEO}
    * {@link me.chanjar.weixin.common.api.WxConsts#CUSTOM_MSG_NEWS}
+   * {@link me.chanjar.weixin.common.api.WxConsts#CUSTOM_MSG_WXCARD}
    * 
* @param msgType */ @@ -94,24 +96,33 @@ public class WxMpCustomMessage implements Serializable { public void setHqMusicUrl(String hqMusicUrl) { this.hqMusicUrl = hqMusicUrl; } + + public String getCardId() { + return cardId; + } + + public void setCardId(String cardId) { + this.cardId = cardId; + } + public List getArticles() { return this.articles; } public void setArticles(List articles) { this.articles = articles; } - + public String toJson() { return WxMpGsonBuilder.INSTANCE.create().toJson(this); } - + public static class WxArticle { - + private String title; private String description; private String url; private String picUrl; - + public String getTitle() { return this.title; } @@ -136,9 +147,9 @@ public class WxMpCustomMessage implements Serializable { public void setPicUrl(String picUrl) { this.picUrl = picUrl; } - + } - + /** * 获得文本消息builder */ @@ -159,34 +170,42 @@ public class WxMpCustomMessage implements Serializable { public static VoiceBuilder VOICE() { return new VoiceBuilder(); } - + /** * 获得视频消息builder */ public static VideoBuilder VIDEO() { return new VideoBuilder(); } - + /** * 获得音乐消息builder */ public static MusicBuilder MUSIC() { return new MusicBuilder(); } - + /** * 获得图文消息builder */ public static NewsBuilder NEWS() { return new NewsBuilder(); } - + + + /** + * 获得卡券消息builder + * @return + */ + public static WxCardBuilder WXCARD() { + return new WxCardBuilder(); + } + public String getKfAccount() { return this.kfAccount; } - + public void setKfAccount(String kfAccount) { this.kfAccount = kfAccount; } - } diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/WxCardBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/WxCardBuilder.java new file mode 100644 index 00000000..c7d451ef --- /dev/null +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/WxCardBuilder.java @@ -0,0 +1,31 @@ +package me.chanjar.weixin.mp.bean.custombuilder; + +import me.chanjar.weixin.common.api.WxConsts; +import me.chanjar.weixin.mp.bean.WxMpCustomMessage; + +/** + * 卡券消息builder + *
+ * 用法: WxMpCustomMessage m = WxMpCustomMessage.WXCARD().cardId(...).toUser(...).build();
+ * 
+ * @author mgcnrx11 + * + */ +public final class WxCardBuilder extends BaseBuilder { + private String cardId; + + public WxCardBuilder() { + this.msgType = WxConsts.CUSTOM_MSG_WXCARD; + } + + public WxCardBuilder cardId(String cardId) { + this.cardId = cardId; + return this; + } + + public WxMpCustomMessage build() { + WxMpCustomMessage m = super.build(); + m.setCardId(this.cardId); + return m; + } +} diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpCustomMessageGsonAdapter.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpCustomMessageGsonAdapter.java index 74a2acfe..973966db 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpCustomMessageGsonAdapter.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpCustomMessageGsonAdapter.java @@ -75,6 +75,12 @@ public class WxMpCustomMessageGsonAdapter implements JsonSerializer