From b3462243e5492e33708539e5e9124cc7136dc5fa Mon Sep 17 00:00:00 2001 From: billytomato Date: Sun, 14 Jul 2019 14:22:17 +0800 Subject: [PATCH] =?UTF-8?q?#1099=20=E4=BC=98=E5=8C=96=E5=AE=A2=E6=9C=8D?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=8E=A5=E5=8F=A3=E8=8F=9C=E5=8D=95=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weixin/mp/bean/kefu/WxMpKefuMessage.java | 10 ++++- .../mp/builder/kefu/WxMsgMenuBuilder.java | 39 ++++++++++++------- .../util/json/WxMpKefuMessageGsonAdapter.java | 25 ++++++------ .../mp/bean/kefu/WxMpKefuMessageTest.java | 19 ++++++--- 4 files changed, 59 insertions(+), 34 deletions(-) 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 b2966213..ceb62cdf 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 @@ -32,10 +32,10 @@ public class WxMpKefuMessage implements Serializable { private String mpNewsMediaId; private String miniProgramAppId; private String miniProgramPagePath; - private List articles = new ArrayList<>(); - private String headContent; private String tailContent; + private List articles = new ArrayList<>(); + private List list = new ArrayList<>(); /** * 菜单消息里的菜单内容. * 请使用逗号分割的形式将id和content连起来放在数组的里面 @@ -145,4 +145,10 @@ public class WxMpKefuMessage implements Serializable { private String url; private String picUrl; } + + @Data + public static class WxMsgMenu implements Serializable { + private String id; + private String content; + } } diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/kefu/WxMsgMenuBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/kefu/WxMsgMenuBuilder.java index 81d919ec..06f6bbd3 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/kefu/WxMsgMenuBuilder.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/kefu/WxMsgMenuBuilder.java @@ -3,30 +3,37 @@ package me.chanjar.weixin.mp.builder.kefu; import me.chanjar.weixin.common.api.WxConsts; import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + /** - * 卡券消息builder + * 菜单消息builder *
- * 用法: WxMpKefuMessage m = WxMpKefuMessage.WXCARD().cardId(...).toUser(...).build();
+ * 用法:
+ * WxMpKefuMessage m = WxMpKefuMessage.MSGMENU().addList(lists).headContent(headContent).tailContent(tailContent).toUser(...).build();
  * 
* - * @author Binary Wang + * @author billytomato */ public final class WxMsgMenuBuilder extends BaseBuilder { + private List list = new ArrayList<>(); private String headContent; private String tailContent; - private String[] msgMenuList; + public WxMsgMenuBuilder() { this.msgType = WxConsts.KefuMsgType.MSGMENU; } - @Override - public WxMpKefuMessage build() { - WxMpKefuMessage m = super.build(); - m.setHeadContent(this.headContent); - m.setMsgMenuList(this.msgMenuList); - m.setTailContent(this.tailContent); - return m; + public WxMsgMenuBuilder addList(WxMpKefuMessage.WxMsgMenu... list) { + Collections.addAll(this.list, list); + return this; + } + + public WxMsgMenuBuilder list(List list) { + this.list = list; + return this; } public WxMsgMenuBuilder headContent(String headContent) { @@ -39,8 +46,12 @@ public final class WxMsgMenuBuilder extends BaseBuilder { return this; } - public WxMsgMenuBuilder msgMenuList(String... msgMenuList) { - this.msgMenuList = msgMenuList; - return this; + @Override + public WxMpKefuMessage build() { + WxMpKefuMessage m = super.build(); + m.setHeadContent(this.headContent); + m.setTailContent(this.tailContent); + m.setList(this.list); + 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 342a4b36..57eee1b7 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 @@ -81,19 +81,18 @@ public class WxMpKefuMessageGsonAdapter implements JsonSerializer