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 b2966213b..ceb62cdfc 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 81d919ecd..06f6bbd32 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 342a4b36a..57eee1b77 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