From fd8e02a81a208066332a70c8b7317f63cad75217 Mon Sep 17 00:00:00 2001 From: JCLee <452415615@qq.com> Date: Fri, 31 Dec 2021 15:04:07 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20#2476=E3=80=90=E5=85=AC=E4=BC=97?= =?UTF-8?q?=E5=8F=B7=E3=80=91=E5=AE=A2=E6=9C=8D=E6=B6=88=E6=81=AF=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E8=8D=89=E7=A8=BF=E7=AE=B1=E5=9B=BE=E6=96=87=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chanjar/weixin/common/api/WxConsts.java | 5 +++ .../weixin/mp/bean/kefu/WxMpKefuMessage.java | 9 +++++ .../mp/builder/kefu/MpNewsArticleBuilder.java | 33 +++++++++++++++++++ .../util/json/WxMpKefuMessageGsonAdapter.java | 5 +++ .../mp/bean/kefu/WxMpKefuMessageTest.java | 9 +++++ 5 files changed, 61 insertions(+) create mode 100644 weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/kefu/MpNewsArticleBuilder.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 01b1d3648..b6b94a764 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 @@ -126,6 +126,11 @@ public class WxConsts { * 模板卡片消息. */ public static final String TEMPLATE_CARD = "template_card"; + + /** + * 发送图文消息(点击跳转到图文消息页面)使用通过 “发布” 系列接口得到的 article_id(草稿箱功能上线后不再支持客服接口中带 media_id 的 mpnews 类型的图文消息) + */ + public static final String MP_NEWS_ARTICLE = "mpnewsarticle"; } /** diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/kefu/WxMpKefuMessage.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/kefu/WxMpKefuMessage.java index 37beb77e7..7ac8bee4f 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/kefu/WxMpKefuMessage.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/kefu/WxMpKefuMessage.java @@ -37,6 +37,7 @@ public class WxMpKefuMessage implements Serializable { private String headContent; private String tailContent; private List articles = new ArrayList<>(); + private String mpNewsArticleId; /** * 菜单消息里的菜单内容. @@ -113,6 +114,13 @@ public class WxMpKefuMessage implements Serializable { return new MiniProgramPageBuilder(); } + /** + * 发送图文消息(点击跳转到图文消息页面)使用通过 “发布” 系列接口得到的 article_id(草稿箱功能上线后不再支持客服接口中带 media_id 的 mpnews 类型的图文消息) + */ + public static MpNewsArticleBuilder MPNEWSARTICLE() { + return new MpNewsArticleBuilder(); + } + /** *
    * 请使用
@@ -127,6 +135,7 @@ public class WxMpKefuMessage implements Serializable {
    * {@link WxConsts.KefuMsgType#MINIPROGRAMPAGE}
    * {@link WxConsts.KefuMsgType#TASKCARD}
    * {@link WxConsts.KefuMsgType#MSGMENU}
+   * {@link WxConsts.KefuMsgType#MP_NEWS_ARTICLE}
    * 
*/ public void setMsgType(String msgType) { diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/kefu/MpNewsArticleBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/kefu/MpNewsArticleBuilder.java new file mode 100644 index 000000000..2d6babcf8 --- /dev/null +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/kefu/MpNewsArticleBuilder.java @@ -0,0 +1,33 @@ +package me.chanjar.weixin.mp.builder.kefu; + +import me.chanjar.weixin.common.api.WxConsts; +import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; + +/** + * 图文消息builder + *
+ * 用法:
+ * WxMpKefuMessage m = WxMpKefuMessage.MPNEWSARTICLE().articleId("xxxxx").toUser(...).build();
+ * 
+ * + * @author JCLee + */ +public final class MpNewsArticleBuilder extends BaseBuilder{ + private String articleId; + + public MpNewsArticleBuilder() { + this.msgType = WxConsts.KefuMsgType.MP_NEWS_ARTICLE; + } + + public MpNewsArticleBuilder articleId(String articleId) { + this.articleId = articleId; + return this; + } + + @Override + public WxMpKefuMessage build() { + WxMpKefuMessage m = super.build(); + m.setMpNewsArticleId(this.articleId); + return m; + } +} diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpKefuMessageGsonAdapter.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpKefuMessageGsonAdapter.java index 679f8db1a..c4b124452 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpKefuMessageGsonAdapter.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpKefuMessageGsonAdapter.java @@ -96,6 +96,11 @@ public class WxMpKefuMessageGsonAdapter implements JsonSerializer