123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- package me.chanjar.weixin.cp.bean;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.List;
- import lombok.Data;
- import me.chanjar.weixin.common.api.WxConsts;
- import me.chanjar.weixin.cp.bean.article.MpnewsArticle;
- import me.chanjar.weixin.cp.bean.article.NewArticle;
- import me.chanjar.weixin.cp.bean.messagebuilder.FileBuilder;
- import me.chanjar.weixin.cp.bean.messagebuilder.ImageBuilder;
- import me.chanjar.weixin.cp.bean.messagebuilder.MarkdownMsgBuilder;
- import me.chanjar.weixin.cp.bean.messagebuilder.MpnewsBuilder;
- import me.chanjar.weixin.cp.bean.messagebuilder.NewsBuilder;
- import me.chanjar.weixin.cp.bean.messagebuilder.TextBuilder;
- import me.chanjar.weixin.cp.bean.messagebuilder.TextCardBuilder;
- import me.chanjar.weixin.cp.bean.messagebuilder.VideoBuilder;
- import me.chanjar.weixin.cp.bean.messagebuilder.VoiceBuilder;
- import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder;
- /**
- * 消息.
- *
- * @author Daniel Qian
- */
- @Data
- public class WxCpMessage implements Serializable {
- private static final long serialVersionUID = -2082278303476631708L;
- private String toUser;
- private String toParty;
- private String toTag;
- private Integer agentId;
- private String msgType;
- private String content;
- private String mediaId;
- private String thumbMediaId;
- private String title;
- private String description;
- private String musicUrl;
- private String hqMusicUrl;
- private String safe;
- private String url;
- private String btnTxt;
- private List<NewArticle> articles = new ArrayList<>();
- private List<MpnewsArticle> mpnewsArticles = new ArrayList<>();
- /**
- * 获得文本消息builder.
- */
- public static TextBuilder TEXT() {
- return new TextBuilder();
- }
- /**
- * 获得文本卡片消息builder.
- */
- public static TextCardBuilder TEXTCARD() {
- return new TextCardBuilder();
- }
- /**
- * 获得图片消息builder.
- */
- public static ImageBuilder IMAGE() {
- return new ImageBuilder();
- }
- /**
- * 获得语音消息builder.
- */
- public static VoiceBuilder VOICE() {
- return new VoiceBuilder();
- }
- /**
- * 获得视频消息builder.
- */
- public static VideoBuilder VIDEO() {
- return new VideoBuilder();
- }
- /**
- * 获得图文消息builder.
- */
- public static NewsBuilder NEWS() {
- return new NewsBuilder();
- }
- /**
- * 获得mpnews图文消息builder.
- */
- public static MpnewsBuilder MPNEWS() {
- return new MpnewsBuilder();
- }
- /**
- * 获得markdown消息builder.
- */
- public static MarkdownMsgBuilder MARKDOWN() {
- return new MarkdownMsgBuilder();
- }
- /**
- * 获得文件消息builder.
- */
- public static FileBuilder FILE() {
- return new FileBuilder();
- }
- /**
- * <pre>
- * 请使用
- * {@link WxConsts.KefuMsgType#TEXT}
- * {@link WxConsts.KefuMsgType#IMAGE}
- * {@link WxConsts.KefuMsgType#VOICE}
- * {@link WxConsts.KefuMsgType#MUSIC}
- * {@link WxConsts.KefuMsgType#VIDEO}
- * {@link WxConsts.KefuMsgType#NEWS}
- * {@link WxConsts.KefuMsgType#MPNEWS}
- * {@link WxConsts.KefuMsgType#MARKDOWN}
- * </pre>
- *
- * @param msgType 消息类型
- */
- public void setMsgType(String msgType) {
- this.msgType = msgType;
- }
- public String toJson() {
- return WxCpGsonBuilder.create().toJson(this);
- }
- }
|