| @@ -80,7 +80,6 @@ public class XmlTransformer { | |||||
| WxCpXmlOutMessage.class, | WxCpXmlOutMessage.class, | ||||
| WxCpXmlOutImageMessage.class, | WxCpXmlOutImageMessage.class, | ||||
| WxCpXmlOutMewsMessage.class, | WxCpXmlOutMewsMessage.class, | ||||
| WxCpXmlOutMusicMessage.class, | |||||
| WxCpXmlOutTextMessage.class, | WxCpXmlOutTextMessage.class, | ||||
| WxCpXmlOutVideoMessage.class, | WxCpXmlOutVideoMessage.class, | ||||
| WxCpXmlOutVoiceMessage.class, | WxCpXmlOutVoiceMessage.class, | ||||
| @@ -3,7 +3,7 @@ package me.chanjar.weixin.enterprise.api; | |||||
| import java.util.HashMap; | import java.util.HashMap; | ||||
| import java.util.Map; | import java.util.Map; | ||||
| public class WxConsts { | |||||
| public class WxCpConsts { | |||||
| /////////////////////// | /////////////////////// | ||||
| // 微信推送过来的消息的类型,和发送给微信xml格式消息的消息类型 | // 微信推送过来的消息的类型,和发送给微信xml格式消息的消息类型 | ||||
| @@ -13,7 +13,6 @@ public class WxConsts { | |||||
| public static final String XML_MSG_VOICE = "voice"; | public static final String XML_MSG_VOICE = "voice"; | ||||
| public static final String XML_MSG_VIDEO = "video"; | public static final String XML_MSG_VIDEO = "video"; | ||||
| public static final String XML_MSG_NEWS = "news"; | public static final String XML_MSG_NEWS = "news"; | ||||
| public static final String XML_MSG_MUSIC = "music"; | |||||
| public static final String XML_MSG_LOCATION = "location"; | public static final String XML_MSG_LOCATION = "location"; | ||||
| public static final String XML_MSG_LINK = "link"; | public static final String XML_MSG_LINK = "link"; | ||||
| public static final String XML_MSG_EVENT = "event"; | public static final String XML_MSG_EVENT = "event"; | ||||
| @@ -25,7 +24,6 @@ public class WxConsts { | |||||
| public static final String CUSTOM_MSG_IMAGE = "image"; | public static final String CUSTOM_MSG_IMAGE = "image"; | ||||
| public static final String CUSTOM_MSG_VOICE = "voice"; | public static final String CUSTOM_MSG_VOICE = "voice"; | ||||
| public static final String CUSTOM_MSG_VIDEO = "video"; | public static final String CUSTOM_MSG_VIDEO = "video"; | ||||
| public static final String CUSTOM_MSG_MUSIC = "music"; | |||||
| public static final String CUSTOM_MSG_NEWS = "news"; | public static final String CUSTOM_MSG_NEWS = "news"; | ||||
| public static final String CUSTOM_MSG_FILE = "file"; | public static final String CUSTOM_MSG_FILE = "file"; | ||||
| @@ -65,8 +65,8 @@ public interface WxCpService { | |||||
| * | * | ||||
| * 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=上传下载多媒体文件 | * 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=上传下载多媒体文件 | ||||
| * </pre> | * </pre> | ||||
| * @param mediaType 媒体类型, 请看{@link WxConsts} | |||||
| * @param fileType 文件类型,请看{@link WxConsts} | |||||
| * @param mediaType 媒体类型, 请看{@link WxCpConsts} | |||||
| * @param fileType 文件类型,请看{@link WxCpConsts} | |||||
| * @param inputStream 输入流 | * @param inputStream 输入流 | ||||
| * @throws WxErrorException | * @throws WxErrorException | ||||
| */ | */ | ||||
| @@ -3,7 +3,6 @@ package me.chanjar.weixin.enterprise.bean; | |||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||
| import java.util.List; | import java.util.List; | ||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.enterprise.bean.messagebuilder.*; | import me.chanjar.weixin.enterprise.bean.messagebuilder.*; | ||||
| import me.chanjar.weixin.enterprise.util.json.WxCpGsonBuilder; | import me.chanjar.weixin.enterprise.util.json.WxCpGsonBuilder; | ||||
| @@ -66,12 +65,12 @@ public class WxCpMessage { | |||||
| /** | /** | ||||
| * <pre> | * <pre> | ||||
| * 请使用 | * 请使用 | ||||
| * {@link WxConsts#CUSTOM_MSG_TEXT} | |||||
| * {@link WxConsts#CUSTOM_MSG_IMAGE} | |||||
| * {@link WxConsts#CUSTOM_MSG_VOICE} | |||||
| * {@link WxConsts#CUSTOM_MSG_MUSIC} | |||||
| * {@link WxConsts#CUSTOM_MSG_VIDEO} | |||||
| * {@link WxConsts#CUSTOM_MSG_NEWS} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#CUSTOM_MSG_TEXT} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#CUSTOM_MSG_IMAGE} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#CUSTOM_MSG_VOICE} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#CUSTOM_MSG_MUSIC} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#CUSTOM_MSG_VIDEO} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#CUSTOM_MSG_NEWS} | |||||
| * </pre> | * </pre> | ||||
| * @param msgType | * @param msgType | ||||
| */ | */ | ||||
| @@ -197,14 +196,6 @@ public class WxCpMessage { | |||||
| return new VideoBuilder(); | return new VideoBuilder(); | ||||
| } | } | ||||
| /** | |||||
| * 获得音乐消息builder | |||||
| * @return | |||||
| */ | |||||
| public static MusicBuilder MUSIC() { | |||||
| return new MusicBuilder(); | |||||
| } | |||||
| /** | /** | ||||
| * 获得图文消息builder | * 获得图文消息builder | ||||
| * @return | * @return | ||||
| @@ -1,7 +1,6 @@ | |||||
| package me.chanjar.weixin.enterprise.bean; | package me.chanjar.weixin.enterprise.bean; | ||||
| import me.chanjar.weixin.enterprise.api.WxCpConfigStorage; | import me.chanjar.weixin.enterprise.api.WxCpConfigStorage; | ||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.common.AdapterCDATA; | import me.chanjar.weixin.common.AdapterCDATA; | ||||
| import me.chanjar.weixin.common.XmlTransformer; | import me.chanjar.weixin.common.XmlTransformer; | ||||
| import me.chanjar.weixin.enterprise.util.crypto.WxCryptUtil; | import me.chanjar.weixin.enterprise.util.crypto.WxCryptUtil; | ||||
| @@ -191,13 +190,13 @@ public class WxCpXmlMessage { | |||||
| /** | /** | ||||
| * <pre> | * <pre> | ||||
| * 当接受用户消息时,可能会获得以下值: | * 当接受用户消息时,可能会获得以下值: | ||||
| * {@link WxConsts#XML_MSG_TEXT} | |||||
| * {@link WxConsts#XML_MSG_IMAGE} | |||||
| * {@link WxConsts#XML_MSG_VOICE} | |||||
| * {@link WxConsts#XML_MSG_VIDEO} | |||||
| * {@link WxConsts#XML_MSG_LOCATION} | |||||
| * {@link WxConsts#XML_MSG_LINK} | |||||
| * {@link WxConsts#XML_MSG_EVENT} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#XML_MSG_TEXT} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#XML_MSG_IMAGE} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#XML_MSG_VOICE} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#XML_MSG_VIDEO} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#XML_MSG_LOCATION} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#XML_MSG_LINK} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#XML_MSG_EVENT} | |||||
| * </pre> | * </pre> | ||||
| * | * | ||||
| * @return | * @return | ||||
| @@ -209,12 +208,12 @@ public class WxCpXmlMessage { | |||||
| /** | /** | ||||
| * <pre> | * <pre> | ||||
| * 当发送消息的时候使用: | * 当发送消息的时候使用: | ||||
| * {@link WxConsts#XML_MSG_TEXT} | |||||
| * {@link WxConsts#XML_MSG_IMAGE} | |||||
| * {@link WxConsts#XML_MSG_VOICE} | |||||
| * {@link WxConsts#XML_MSG_VIDEO} | |||||
| * {@link WxConsts#XML_MSG_NEWS} | |||||
| * {@link WxConsts#XML_MSG_MUSIC} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#XML_MSG_TEXT} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#XML_MSG_IMAGE} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#XML_MSG_VOICE} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#XML_MSG_VIDEO} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#XML_MSG_NEWS} | |||||
| * {@link me.chanjar.weixin.enterprise.api.WxCpConsts#XML_MSG_MUSIC} | |||||
| * </pre> | * </pre> | ||||
| * | * | ||||
| * @param msgType | * @param msgType | ||||
| @@ -6,7 +6,7 @@ import javax.xml.bind.annotation.XmlElement; | |||||
| import javax.xml.bind.annotation.XmlRootElement; | import javax.xml.bind.annotation.XmlRootElement; | ||||
| import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; | import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; | ||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.enterprise.api.WxCpConsts; | |||||
| import me.chanjar.weixin.common.MediaIdMarshaller; | import me.chanjar.weixin.common.MediaIdMarshaller; | ||||
| @XmlRootElement(name = "xml") | @XmlRootElement(name = "xml") | ||||
| @@ -18,7 +18,7 @@ public class WxCpXmlOutImageMessage extends WxCpXmlOutMessage { | |||||
| private String mediaId; | private String mediaId; | ||||
| public WxCpXmlOutImageMessage() { | public WxCpXmlOutImageMessage() { | ||||
| this.msgType = WxConsts.XML_MSG_IMAGE; | |||||
| this.msgType = WxCpConsts.XML_MSG_IMAGE; | |||||
| } | } | ||||
| public String getMediaId() { | public String getMediaId() { | ||||
| @@ -9,7 +9,6 @@ import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; | |||||
| import me.chanjar.weixin.enterprise.api.WxCpConfigStorage; | import me.chanjar.weixin.enterprise.api.WxCpConfigStorage; | ||||
| import me.chanjar.weixin.enterprise.bean.outxmlbuilder.ImageBuilder; | import me.chanjar.weixin.enterprise.bean.outxmlbuilder.ImageBuilder; | ||||
| import me.chanjar.weixin.enterprise.bean.outxmlbuilder.MusicBuilder; | |||||
| import me.chanjar.weixin.enterprise.bean.outxmlbuilder.NewsBuilder; | import me.chanjar.weixin.enterprise.bean.outxmlbuilder.NewsBuilder; | ||||
| import me.chanjar.weixin.enterprise.bean.outxmlbuilder.TextBuilder; | import me.chanjar.weixin.enterprise.bean.outxmlbuilder.TextBuilder; | ||||
| import me.chanjar.weixin.enterprise.bean.outxmlbuilder.VideoBuilder; | import me.chanjar.weixin.enterprise.bean.outxmlbuilder.VideoBuilder; | ||||
| @@ -119,14 +118,6 @@ public class WxCpXmlOutMessage { | |||||
| return new VideoBuilder(); | return new VideoBuilder(); | ||||
| } | } | ||||
| /** | |||||
| * 获得音乐消息builder | |||||
| * @return | |||||
| */ | |||||
| public static MusicBuilder MUSIC() { | |||||
| return new MusicBuilder(); | |||||
| } | |||||
| /** | /** | ||||
| * 获得图文消息builder | * 获得图文消息builder | ||||
| * @return | * @return | ||||
| @@ -10,7 +10,7 @@ import javax.xml.bind.annotation.XmlElementWrapper; | |||||
| import javax.xml.bind.annotation.XmlRootElement; | import javax.xml.bind.annotation.XmlRootElement; | ||||
| import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; | import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; | ||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.enterprise.api.WxCpConsts; | |||||
| import me.chanjar.weixin.common.AdapterCDATA; | import me.chanjar.weixin.common.AdapterCDATA; | ||||
| @XmlRootElement(name = "xml") | @XmlRootElement(name = "xml") | ||||
| @@ -25,7 +25,7 @@ public class WxCpXmlOutMewsMessage extends WxCpXmlOutMessage { | |||||
| protected final List<Item> articles = new ArrayList<Item>(); | protected final List<Item> articles = new ArrayList<Item>(); | ||||
| public WxCpXmlOutMewsMessage() { | public WxCpXmlOutMewsMessage() { | ||||
| this.msgType = WxConsts.XML_MSG_NEWS; | |||||
| this.msgType = WxCpConsts.XML_MSG_NEWS; | |||||
| } | } | ||||
| public int getArticleCount() { | public int getArticleCount() { | ||||
| @@ -1,129 +0,0 @@ | |||||
| package me.chanjar.weixin.enterprise.bean; | |||||
| import javax.xml.bind.annotation.XmlAccessType; | |||||
| import javax.xml.bind.annotation.XmlAccessorType; | |||||
| import javax.xml.bind.annotation.XmlElement; | |||||
| import javax.xml.bind.annotation.XmlRootElement; | |||||
| import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; | |||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.common.AdapterCDATA; | |||||
| @XmlRootElement(name = "xml") | |||||
| @XmlAccessorType(XmlAccessType.FIELD) | |||||
| public class WxCpXmlOutMusicMessage extends WxCpXmlOutMessage { | |||||
| @XmlElement(name = "Music") | |||||
| protected final Music music = new Music(); | |||||
| public WxCpXmlOutMusicMessage() { | |||||
| this.msgType = WxConsts.XML_MSG_MUSIC; | |||||
| } | |||||
| public String getTitle() { | |||||
| return music.getTitle(); | |||||
| } | |||||
| public void setTitle(String title) { | |||||
| music.setTitle(title); | |||||
| } | |||||
| public String getDescription() { | |||||
| return music.getDescription(); | |||||
| } | |||||
| public void setDescription(String description) { | |||||
| music.setDescription(description); | |||||
| } | |||||
| public String getThumbMediaId() { | |||||
| return music.getThumbMediaId(); | |||||
| } | |||||
| public void setThumbMediaId(String thumbMediaId) { | |||||
| music.setThumbMediaId(thumbMediaId); | |||||
| } | |||||
| public String getMusicUrl() { | |||||
| return music.getMusicUrl(); | |||||
| } | |||||
| public void setMusicUrl(String musicUrl) { | |||||
| music.setMusicUrl(musicUrl); | |||||
| } | |||||
| public String getHqMusicUrl() { | |||||
| return music.getHqMusicUrl(); | |||||
| } | |||||
| public void setHqMusicUrl(String hqMusicUrl) { | |||||
| music.setHqMusicUrl(hqMusicUrl); | |||||
| } | |||||
| @XmlRootElement(name = "Music") | |||||
| @XmlAccessorType(XmlAccessType.FIELD) | |||||
| private static class Music { | |||||
| @XmlElement(name = "Title") | |||||
| @XmlJavaTypeAdapter(AdapterCDATA.class) | |||||
| private String title; | |||||
| @XmlElement(name = "Description") | |||||
| @XmlJavaTypeAdapter(AdapterCDATA.class) | |||||
| private String description; | |||||
| @XmlElement(name="ThumbMediaId") | |||||
| @XmlJavaTypeAdapter(AdapterCDATA.class) | |||||
| private String thumbMediaId; | |||||
| @XmlElement(name="MusicUrl") | |||||
| @XmlJavaTypeAdapter(AdapterCDATA.class) | |||||
| private String musicUrl; | |||||
| @XmlElement(name="HQMusicUrl") | |||||
| @XmlJavaTypeAdapter(AdapterCDATA.class) | |||||
| private String hqMusicUrl; | |||||
| public String getTitle() { | |||||
| return title; | |||||
| } | |||||
| public void setTitle(String title) { | |||||
| this.title = title; | |||||
| } | |||||
| public String getDescription() { | |||||
| return description; | |||||
| } | |||||
| public void setDescription(String description) { | |||||
| this.description = description; | |||||
| } | |||||
| public String getThumbMediaId() { | |||||
| return thumbMediaId; | |||||
| } | |||||
| public void setThumbMediaId(String thumbMediaId) { | |||||
| this.thumbMediaId = thumbMediaId; | |||||
| } | |||||
| public String getMusicUrl() { | |||||
| return musicUrl; | |||||
| } | |||||
| public void setMusicUrl(String musicUrl) { | |||||
| this.musicUrl = musicUrl; | |||||
| } | |||||
| public String getHqMusicUrl() { | |||||
| return hqMusicUrl; | |||||
| } | |||||
| public void setHqMusicUrl(String hqMusicUrl) { | |||||
| this.hqMusicUrl = hqMusicUrl; | |||||
| } | |||||
| } | |||||
| } | |||||
| @@ -6,7 +6,7 @@ import javax.xml.bind.annotation.XmlElement; | |||||
| import javax.xml.bind.annotation.XmlRootElement; | import javax.xml.bind.annotation.XmlRootElement; | ||||
| import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; | import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; | ||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.enterprise.api.WxCpConsts; | |||||
| import me.chanjar.weixin.common.AdapterCDATA; | import me.chanjar.weixin.common.AdapterCDATA; | ||||
| @XmlRootElement(name = "xml") | @XmlRootElement(name = "xml") | ||||
| @@ -18,7 +18,7 @@ public class WxCpXmlOutTextMessage extends WxCpXmlOutMessage { | |||||
| private String content; | private String content; | ||||
| public WxCpXmlOutTextMessage() { | public WxCpXmlOutTextMessage() { | ||||
| this.msgType = WxConsts.XML_MSG_TEXT; | |||||
| this.msgType = WxCpConsts.XML_MSG_TEXT; | |||||
| } | } | ||||
| public String getContent() { | public String getContent() { | ||||
| @@ -6,7 +6,7 @@ import javax.xml.bind.annotation.XmlElement; | |||||
| import javax.xml.bind.annotation.XmlRootElement; | import javax.xml.bind.annotation.XmlRootElement; | ||||
| import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; | import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; | ||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.enterprise.api.WxCpConsts; | |||||
| import me.chanjar.weixin.common.AdapterCDATA; | import me.chanjar.weixin.common.AdapterCDATA; | ||||
| @XmlRootElement(name = "xml") | @XmlRootElement(name = "xml") | ||||
| @@ -17,7 +17,7 @@ public class WxCpXmlOutVideoMessage extends WxCpXmlOutMessage { | |||||
| protected final Video video = new Video(); | protected final Video video = new Video(); | ||||
| public WxCpXmlOutVideoMessage() { | public WxCpXmlOutVideoMessage() { | ||||
| this.msgType = WxConsts.XML_MSG_VIDEO; | |||||
| this.msgType = WxCpConsts.XML_MSG_VIDEO; | |||||
| } | } | ||||
| public String getMediaId() { | public String getMediaId() { | ||||
| @@ -6,7 +6,7 @@ import javax.xml.bind.annotation.XmlElement; | |||||
| import javax.xml.bind.annotation.XmlRootElement; | import javax.xml.bind.annotation.XmlRootElement; | ||||
| import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; | import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; | ||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.enterprise.api.WxCpConsts; | |||||
| import me.chanjar.weixin.common.MediaIdMarshaller; | import me.chanjar.weixin.common.MediaIdMarshaller; | ||||
| @XmlRootElement(name = "xml") | @XmlRootElement(name = "xml") | ||||
| @@ -18,7 +18,7 @@ public class WxCpXmlOutVoiceMessage extends WxCpXmlOutMessage { | |||||
| private String mediaId; | private String mediaId; | ||||
| public WxCpXmlOutVoiceMessage() { | public WxCpXmlOutVoiceMessage() { | ||||
| this.msgType = WxConsts.XML_MSG_VOICE; | |||||
| this.msgType = WxCpConsts.XML_MSG_VOICE; | |||||
| } | } | ||||
| public String getMediaId() { | public String getMediaId() { | ||||
| @@ -1,6 +1,6 @@ | |||||
| package me.chanjar.weixin.enterprise.bean.messagebuilder; | package me.chanjar.weixin.enterprise.bean.messagebuilder; | ||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.enterprise.api.WxCpConsts; | |||||
| import me.chanjar.weixin.enterprise.bean.WxCpMessage; | import me.chanjar.weixin.enterprise.bean.WxCpMessage; | ||||
| /** | /** | ||||
| @@ -15,7 +15,7 @@ public final class FileBuilder extends BaseBuilder<FileBuilder> { | |||||
| private String mediaId; | private String mediaId; | ||||
| public FileBuilder() { | public FileBuilder() { | ||||
| this.msgType = WxConsts.CUSTOM_MSG_FILE; | |||||
| this.msgType = WxCpConsts.CUSTOM_MSG_FILE; | |||||
| } | } | ||||
| public FileBuilder mediaId(String media_id) { | public FileBuilder mediaId(String media_id) { | ||||
| @@ -1,6 +1,6 @@ | |||||
| package me.chanjar.weixin.enterprise.bean.messagebuilder; | package me.chanjar.weixin.enterprise.bean.messagebuilder; | ||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.enterprise.api.WxCpConsts; | |||||
| import me.chanjar.weixin.enterprise.bean.WxCpMessage; | import me.chanjar.weixin.enterprise.bean.WxCpMessage; | ||||
| /** | /** | ||||
| @@ -15,7 +15,7 @@ public final class ImageBuilder extends BaseBuilder<ImageBuilder> { | |||||
| private String mediaId; | private String mediaId; | ||||
| public ImageBuilder() { | public ImageBuilder() { | ||||
| this.msgType = WxConsts.CUSTOM_MSG_IMAGE; | |||||
| this.msgType = WxCpConsts.CUSTOM_MSG_IMAGE; | |||||
| } | } | ||||
| public ImageBuilder mediaId(String media_id) { | public ImageBuilder mediaId(String media_id) { | ||||
| @@ -1,64 +0,0 @@ | |||||
| package me.chanjar.weixin.enterprise.bean.messagebuilder; | |||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.enterprise.bean.WxCpMessage; | |||||
| /** | |||||
| * 音乐消息builder | |||||
| * <pre> | |||||
| * 用法: WxCustomMessage m = WxCustomMessage.MUSIC() | |||||
| * .musicUrl(...) | |||||
| * .hqMusicUrl(...) | |||||
| * .title(...) | |||||
| * .thumbMediaId(..) | |||||
| * .description(..) | |||||
| * .toUser(...) | |||||
| * .build(); | |||||
| * </pre> | |||||
| */ | |||||
| public final class MusicBuilder extends BaseBuilder<MusicBuilder> { | |||||
| private String title; | |||||
| private String description; | |||||
| private String thumbMediaId; | |||||
| private String musicUrl; | |||||
| private String hqMusicUrl; | |||||
| public MusicBuilder() { | |||||
| this.msgType = WxConsts.CUSTOM_MSG_MUSIC; | |||||
| } | |||||
| public MusicBuilder musicUrl(String musicurl) { | |||||
| this.musicUrl = musicurl; | |||||
| return this; | |||||
| } | |||||
| public MusicBuilder hqMusicUrl(String hqMusicurl) { | |||||
| this.hqMusicUrl = hqMusicurl; | |||||
| return this; | |||||
| } | |||||
| public MusicBuilder title(String title) { | |||||
| this.title = title; | |||||
| return this; | |||||
| } | |||||
| public MusicBuilder description(String description) { | |||||
| this.description = description; | |||||
| return this; | |||||
| } | |||||
| public MusicBuilder thumbMediaId(String thumb_media_id) { | |||||
| this.thumbMediaId = thumb_media_id; | |||||
| return this; | |||||
| } | |||||
| public WxCpMessage build() { | |||||
| WxCpMessage m = super.build(); | |||||
| m.setMusicUrl(this.musicUrl); | |||||
| m.setHqMusicUrl(this.hqMusicUrl); | |||||
| m.setTitle(title); | |||||
| m.setDescription(description); | |||||
| m.setThumbMediaId(thumbMediaId); | |||||
| return m; | |||||
| } | |||||
| } | |||||
| @@ -3,7 +3,7 @@ package me.chanjar.weixin.enterprise.bean.messagebuilder; | |||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||
| import java.util.List; | import java.util.List; | ||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.enterprise.api.WxCpConsts; | |||||
| import me.chanjar.weixin.enterprise.bean.WxCpMessage; | import me.chanjar.weixin.enterprise.bean.WxCpMessage; | ||||
| /** | /** | ||||
| @@ -20,7 +20,7 @@ public final class NewsBuilder extends BaseBuilder<NewsBuilder> { | |||||
| private List<WxCpMessage.WxArticle> articles = new ArrayList<WxCpMessage.WxArticle>(); | private List<WxCpMessage.WxArticle> articles = new ArrayList<WxCpMessage.WxArticle>(); | ||||
| public NewsBuilder() { | public NewsBuilder() { | ||||
| this.msgType = WxConsts.CUSTOM_MSG_NEWS; | |||||
| this.msgType = WxCpConsts.CUSTOM_MSG_NEWS; | |||||
| } | } | ||||
| public NewsBuilder addArticle(WxCpMessage.WxArticle article) { | public NewsBuilder addArticle(WxCpMessage.WxArticle article) { | ||||
| @@ -1,6 +1,6 @@ | |||||
| package me.chanjar.weixin.enterprise.bean.messagebuilder; | package me.chanjar.weixin.enterprise.bean.messagebuilder; | ||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.enterprise.api.WxCpConsts; | |||||
| import me.chanjar.weixin.enterprise.bean.WxCpMessage; | import me.chanjar.weixin.enterprise.bean.WxCpMessage; | ||||
| /** | /** | ||||
| @@ -15,7 +15,7 @@ public final class TextBuilder extends BaseBuilder<TextBuilder> { | |||||
| private String content; | private String content; | ||||
| public TextBuilder() { | public TextBuilder() { | ||||
| this.msgType = WxConsts.CUSTOM_MSG_TEXT; | |||||
| this.msgType = WxCpConsts.CUSTOM_MSG_TEXT; | |||||
| } | } | ||||
| public TextBuilder content(String content) { | public TextBuilder content(String content) { | ||||
| @@ -1,6 +1,6 @@ | |||||
| package me.chanjar.weixin.enterprise.bean.messagebuilder; | package me.chanjar.weixin.enterprise.bean.messagebuilder; | ||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.enterprise.api.WxCpConsts; | |||||
| import me.chanjar.weixin.enterprise.bean.WxCpMessage; | import me.chanjar.weixin.enterprise.bean.WxCpMessage; | ||||
| /** | /** | ||||
| @@ -24,7 +24,7 @@ public final class VideoBuilder extends BaseBuilder<VideoBuilder> { | |||||
| private String thumbMediaId; | private String thumbMediaId; | ||||
| public VideoBuilder() { | public VideoBuilder() { | ||||
| this.msgType = WxConsts.CUSTOM_MSG_VIDEO; | |||||
| this.msgType = WxCpConsts.CUSTOM_MSG_VIDEO; | |||||
| } | } | ||||
| public VideoBuilder mediaId(String mediaId) { | public VideoBuilder mediaId(String mediaId) { | ||||
| @@ -1,6 +1,6 @@ | |||||
| package me.chanjar.weixin.enterprise.bean.messagebuilder; | package me.chanjar.weixin.enterprise.bean.messagebuilder; | ||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.enterprise.api.WxCpConsts; | |||||
| import me.chanjar.weixin.enterprise.bean.WxCpMessage; | import me.chanjar.weixin.enterprise.bean.WxCpMessage; | ||||
| /** | /** | ||||
| @@ -15,7 +15,7 @@ public final class VoiceBuilder extends BaseBuilder<VoiceBuilder> { | |||||
| private String mediaId; | private String mediaId; | ||||
| public VoiceBuilder() { | public VoiceBuilder() { | ||||
| this.msgType = WxConsts.CUSTOM_MSG_VOICE; | |||||
| this.msgType = WxCpConsts.CUSTOM_MSG_VOICE; | |||||
| } | } | ||||
| public VoiceBuilder mediaId(String media_id) { | public VoiceBuilder mediaId(String media_id) { | ||||
| @@ -1,54 +0,0 @@ | |||||
| package me.chanjar.weixin.enterprise.bean.outxmlbuilder; | |||||
| import me.chanjar.weixin.enterprise.bean.WxCpXmlOutMusicMessage; | |||||
| /** | |||||
| * 音乐消息builder | |||||
| * | |||||
| * @author Daniel Qian | |||||
| */ | |||||
| public final class MusicBuilder extends BaseBuilder<MusicBuilder, WxCpXmlOutMusicMessage> { | |||||
| private String title; | |||||
| private String description; | |||||
| private String hqMusicUrl; | |||||
| private String musicUrl; | |||||
| private String thumbMediaId; | |||||
| public MusicBuilder title(String title) { | |||||
| this.title = title; | |||||
| return this; | |||||
| } | |||||
| public MusicBuilder description(String description) { | |||||
| this.description = description; | |||||
| return this; | |||||
| } | |||||
| public MusicBuilder hqMusicUrl(String hqMusicUrl) { | |||||
| this.hqMusicUrl = hqMusicUrl; | |||||
| return this; | |||||
| } | |||||
| public MusicBuilder musicUrl(String musicUrl) { | |||||
| this.musicUrl = musicUrl; | |||||
| return this; | |||||
| } | |||||
| public MusicBuilder thumbMediaId(String thumbMediaId) { | |||||
| this.thumbMediaId = thumbMediaId; | |||||
| return this; | |||||
| } | |||||
| public WxCpXmlOutMusicMessage build() { | |||||
| WxCpXmlOutMusicMessage m = new WxCpXmlOutMusicMessage(); | |||||
| setCommon(m); | |||||
| m.setTitle(title); | |||||
| m.setDescription(description); | |||||
| m.setHqMusicUrl(hqMusicUrl); | |||||
| m.setMusicUrl(musicUrl); | |||||
| m.setThumbMediaId(thumbMediaId); | |||||
| return m; | |||||
| } | |||||
| } | |||||
| @@ -10,7 +10,7 @@ package me.chanjar.weixin.enterprise.util.json; | |||||
| import java.lang.reflect.Type; | import java.lang.reflect.Type; | ||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.enterprise.api.WxCpConsts; | |||||
| import me.chanjar.weixin.enterprise.bean.WxCpMessage; | import me.chanjar.weixin.enterprise.bean.WxCpMessage; | ||||
| import com.google.gson.JsonArray; | import com.google.gson.JsonArray; | ||||
| @@ -41,31 +41,31 @@ public class WxCpMessageGsonAdapter implements JsonSerializer<WxCpMessage> { | |||||
| if (StringUtils.isNotBlank(message.getToTag())) { | if (StringUtils.isNotBlank(message.getToTag())) { | ||||
| messageJson.addProperty("totag", message.getToUser()); | messageJson.addProperty("totag", message.getToUser()); | ||||
| } | } | ||||
| if (WxConsts.CUSTOM_MSG_TEXT.equals(message.getMsgType())) { | |||||
| if (WxCpConsts.CUSTOM_MSG_TEXT.equals(message.getMsgType())) { | |||||
| JsonObject text = new JsonObject(); | JsonObject text = new JsonObject(); | ||||
| text.addProperty("content", message.getContent()); | text.addProperty("content", message.getContent()); | ||||
| messageJson.add("text", text); | messageJson.add("text", text); | ||||
| } | } | ||||
| if (WxConsts.CUSTOM_MSG_IMAGE.equals(message.getMsgType())) { | |||||
| if (WxCpConsts.CUSTOM_MSG_IMAGE.equals(message.getMsgType())) { | |||||
| JsonObject image = new JsonObject(); | JsonObject image = new JsonObject(); | ||||
| image.addProperty("media_id", message.getMediaId()); | image.addProperty("media_id", message.getMediaId()); | ||||
| messageJson.add("image", image); | messageJson.add("image", image); | ||||
| } | } | ||||
| if (WxConsts.CUSTOM_MSG_FILE.equals(message.getMsgType())) { | |||||
| if (WxCpConsts.CUSTOM_MSG_FILE.equals(message.getMsgType())) { | |||||
| JsonObject image = new JsonObject(); | JsonObject image = new JsonObject(); | ||||
| image.addProperty("media_id", message.getMediaId()); | image.addProperty("media_id", message.getMediaId()); | ||||
| messageJson.add("file", image); | messageJson.add("file", image); | ||||
| } | } | ||||
| if (WxConsts.CUSTOM_MSG_VOICE.equals(message.getMsgType())) { | |||||
| if (WxCpConsts.CUSTOM_MSG_VOICE.equals(message.getMsgType())) { | |||||
| JsonObject voice = new JsonObject(); | JsonObject voice = new JsonObject(); | ||||
| voice.addProperty("media_id", message.getMediaId()); | voice.addProperty("media_id", message.getMediaId()); | ||||
| messageJson.add("voice", voice); | messageJson.add("voice", voice); | ||||
| } | } | ||||
| if (WxConsts.CUSTOM_MSG_VIDEO.equals(message.getMsgType())) { | |||||
| if (WxCpConsts.CUSTOM_MSG_VIDEO.equals(message.getMsgType())) { | |||||
| JsonObject video = new JsonObject(); | JsonObject video = new JsonObject(); | ||||
| video.addProperty("media_id", message.getMediaId()); | video.addProperty("media_id", message.getMediaId()); | ||||
| video.addProperty("thumb_media_id", message.getThumbMediaId()); | video.addProperty("thumb_media_id", message.getThumbMediaId()); | ||||
| @@ -74,17 +74,7 @@ public class WxCpMessageGsonAdapter implements JsonSerializer<WxCpMessage> { | |||||
| messageJson.add("video", video); | messageJson.add("video", video); | ||||
| } | } | ||||
| if (WxConsts.CUSTOM_MSG_MUSIC.equals(message.getMsgType())) { | |||||
| JsonObject music = new JsonObject(); | |||||
| music.addProperty("title", message.getTitle()); | |||||
| music.addProperty("description", message.getDescription()); | |||||
| music.addProperty("thumb_media_id", message.getThumbMediaId()); | |||||
| music.addProperty("musicurl", message.getMusicUrl()); | |||||
| music.addProperty("hqmusicurl", message.getHqMusicUrl()); | |||||
| messageJson.add("music", music); | |||||
| } | |||||
| if (WxConsts.CUSTOM_MSG_NEWS.equals(message.getMsgType())) { | |||||
| if (WxCpConsts.CUSTOM_MSG_NEWS.equals(message.getMsgType())) { | |||||
| JsonArray articleJsonArray = new JsonArray(); | JsonArray articleJsonArray = new JsonArray(); | ||||
| for (WxCpMessage.WxArticle article : message.getArticles()) { | for (WxCpMessage.WxArticle article : message.getArticles()) { | ||||
| JsonObject articleJson = new JsonObject(); | JsonObject articleJson = new JsonObject(); | ||||
| @@ -24,7 +24,7 @@ public class WxCpMessageAPITest { | |||||
| ApiTestModule.WxXmlCpConfigStorage configStorage = (ApiTestModule.WxXmlCpConfigStorage) wxService.wxCpConfigStorage; | ApiTestModule.WxXmlCpConfigStorage configStorage = (ApiTestModule.WxXmlCpConfigStorage) wxService.wxCpConfigStorage; | ||||
| WxCpMessage message1 = new WxCpMessage(); | WxCpMessage message1 = new WxCpMessage(); | ||||
| message1.setAgentId(configStorage.getAgentId()); | message1.setAgentId(configStorage.getAgentId()); | ||||
| message1.setMsgType(WxConsts.CUSTOM_MSG_TEXT); | |||||
| message1.setMsgType(WxCpConsts.CUSTOM_MSG_TEXT); | |||||
| message1.setToUser(configStorage.getUserId()); | message1.setToUser(configStorage.getUserId()); | ||||
| message1.setContent("欢迎欢迎,热烈欢迎\n换行测试\n超链接:<a href=\"http://www.baidu.com\">Hello World</a>"); | message1.setContent("欢迎欢迎,热烈欢迎\n换行测试\n超链接:<a href=\"http://www.baidu.com\">Hello World</a>"); | ||||
| wxService.messageSend(message1); | wxService.messageSend(message1); | ||||
| @@ -21,21 +21,21 @@ public class WxCpMessageRouterTest { | |||||
| router | router | ||||
| .rule() | .rule() | ||||
| .async(async) | .async(async) | ||||
| .msgType(WxConsts.XML_MSG_TEXT).event(WxConsts.EVT_CLICK).eventKey("KEY_1").content("CONTENT_1") | |||||
| .msgType(WxCpConsts.XML_MSG_TEXT).event(WxCpConsts.EVT_CLICK).eventKey("KEY_1").content("CONTENT_1") | |||||
| .handler(new WxEchoCpMessageHandler(sb, "COMBINE_4")) | .handler(new WxEchoCpMessageHandler(sb, "COMBINE_4")) | ||||
| .end() | .end() | ||||
| .rule() | .rule() | ||||
| .async(async) | .async(async) | ||||
| .msgType(WxConsts.XML_MSG_TEXT).event(WxConsts.EVT_CLICK).eventKey("KEY_1") | |||||
| .msgType(WxCpConsts.XML_MSG_TEXT).event(WxCpConsts.EVT_CLICK).eventKey("KEY_1") | |||||
| .handler(new WxEchoCpMessageHandler(sb, "COMBINE_3")) | .handler(new WxEchoCpMessageHandler(sb, "COMBINE_3")) | ||||
| .end() | .end() | ||||
| .rule() | .rule() | ||||
| .async(async) | .async(async) | ||||
| .msgType(WxConsts.XML_MSG_TEXT).event(WxConsts.EVT_CLICK) | |||||
| .msgType(WxCpConsts.XML_MSG_TEXT).event(WxCpConsts.EVT_CLICK) | |||||
| .handler(new WxEchoCpMessageHandler(sb, "COMBINE_2")) | .handler(new WxEchoCpMessageHandler(sb, "COMBINE_2")) | ||||
| .end() | .end() | ||||
| .rule().async(async).msgType(WxConsts.XML_MSG_TEXT).handler(new WxEchoCpMessageHandler(sb, WxConsts.XML_MSG_TEXT)).end() | |||||
| .rule().async(async).event(WxConsts.EVT_CLICK).handler(new WxEchoCpMessageHandler(sb, WxConsts.EVT_CLICK)).end() | |||||
| .rule().async(async).msgType(WxCpConsts.XML_MSG_TEXT).handler(new WxEchoCpMessageHandler(sb, WxCpConsts.XML_MSG_TEXT)).end() | |||||
| .rule().async(async).event(WxCpConsts.EVT_CLICK).handler(new WxEchoCpMessageHandler(sb, WxCpConsts.EVT_CLICK)).end() | |||||
| .rule().async(async).eventKey("KEY_1").handler(new WxEchoCpMessageHandler(sb, "KEY_1")).end() | .rule().async(async).eventKey("KEY_1").handler(new WxEchoCpMessageHandler(sb, "KEY_1")).end() | ||||
| .rule().async(async).content("CONTENT_1").handler(new WxEchoCpMessageHandler(sb, "CONTENT_1")).end() | .rule().async(async).content("CONTENT_1").handler(new WxEchoCpMessageHandler(sb, "CONTENT_1")).end() | ||||
| .rule().async(async).rContent(".*bc.*").handler(new WxEchoCpMessageHandler(sb, "abcd")).end() | .rule().async(async).rContent(".*bc.*").handler(new WxEchoCpMessageHandler(sb, "abcd")).end() | ||||
| @@ -91,10 +91,10 @@ public class WxCpMessageRouterTest { | |||||
| @DataProvider(name="messages-1") | @DataProvider(name="messages-1") | ||||
| public Object[][] messages2() { | public Object[][] messages2() { | ||||
| WxCpXmlMessage message1 = new WxCpXmlMessage(); | WxCpXmlMessage message1 = new WxCpXmlMessage(); | ||||
| message1.setMsgType(WxConsts.XML_MSG_TEXT); | |||||
| message1.setMsgType(WxCpConsts.XML_MSG_TEXT); | |||||
| WxCpXmlMessage message2 = new WxCpXmlMessage(); | WxCpXmlMessage message2 = new WxCpXmlMessage(); | ||||
| message2.setEvent(WxConsts.EVT_CLICK); | |||||
| message2.setEvent(WxCpConsts.EVT_CLICK); | |||||
| WxCpXmlMessage message3 = new WxCpXmlMessage(); | WxCpXmlMessage message3 = new WxCpXmlMessage(); | ||||
| message3.setEventKey("KEY_1"); | message3.setEventKey("KEY_1"); | ||||
| @@ -109,23 +109,23 @@ public class WxCpMessageRouterTest { | |||||
| message6.setContent("abcd"); | message6.setContent("abcd"); | ||||
| WxCpXmlMessage c2 = new WxCpXmlMessage(); | WxCpXmlMessage c2 = new WxCpXmlMessage(); | ||||
| c2.setMsgType(WxConsts.XML_MSG_TEXT); | |||||
| c2.setEvent(WxConsts.EVT_CLICK); | |||||
| c2.setMsgType(WxCpConsts.XML_MSG_TEXT); | |||||
| c2.setEvent(WxCpConsts.EVT_CLICK); | |||||
| WxCpXmlMessage c3 = new WxCpXmlMessage(); | WxCpXmlMessage c3 = new WxCpXmlMessage(); | ||||
| c3.setMsgType(WxConsts.XML_MSG_TEXT); | |||||
| c3.setEvent(WxConsts.EVT_CLICK); | |||||
| c3.setMsgType(WxCpConsts.XML_MSG_TEXT); | |||||
| c3.setEvent(WxCpConsts.EVT_CLICK); | |||||
| c3.setEventKey("KEY_1"); | c3.setEventKey("KEY_1"); | ||||
| WxCpXmlMessage c4 = new WxCpXmlMessage(); | WxCpXmlMessage c4 = new WxCpXmlMessage(); | ||||
| c4.setMsgType(WxConsts.XML_MSG_TEXT); | |||||
| c4.setEvent(WxConsts.EVT_CLICK); | |||||
| c4.setMsgType(WxCpConsts.XML_MSG_TEXT); | |||||
| c4.setEvent(WxCpConsts.EVT_CLICK); | |||||
| c4.setEventKey("KEY_1"); | c4.setEventKey("KEY_1"); | ||||
| c4.setContent("CONTENT_1"); | c4.setContent("CONTENT_1"); | ||||
| return new Object[][] { | return new Object[][] { | ||||
| new Object[] { message1, WxConsts.XML_MSG_TEXT + "," }, | |||||
| new Object[] { message2, WxConsts.EVT_CLICK + "," }, | |||||
| new Object[] { message1, WxCpConsts.XML_MSG_TEXT + "," }, | |||||
| new Object[] { message2, WxCpConsts.EVT_CLICK + "," }, | |||||
| new Object[] { message3, "KEY_1," }, | new Object[] { message3, "KEY_1," }, | ||||
| new Object[] { message4, "CONTENT_1," }, | new Object[] { message4, "CONTENT_1," }, | ||||
| new Object[] { message5, "ALL," }, | new Object[] { message5, "ALL," }, | ||||
| @@ -48,10 +48,10 @@ public class WxMediaAPITest { | |||||
| @DataProvider | @DataProvider | ||||
| public Object[][] uploadMedia() { | public Object[][] uploadMedia() { | ||||
| return new Object[][] { | return new Object[][] { | ||||
| new Object[] { WxConsts.MEDIA_IMAGE, WxConsts.FILE_JPG, "mm.jpeg" }, | |||||
| new Object[] { WxConsts.MEDIA_VOICE, WxConsts.FILE_MP3, "mm.mp3" }, | |||||
| new Object[] { WxConsts.MEDIA_VIDEO, WxConsts.FILE_MP4, "mm.mp4" }, | |||||
| new Object[] { WxConsts.MEDIA_THUMB, WxConsts.FILE_JPG, "mm.jpeg" } | |||||
| new Object[] { WxCpConsts.MEDIA_IMAGE, WxCpConsts.FILE_JPG, "mm.jpeg" }, | |||||
| new Object[] { WxCpConsts.MEDIA_VOICE, WxCpConsts.FILE_MP3, "mm.mp3" }, | |||||
| new Object[] { WxCpConsts.MEDIA_VIDEO, WxCpConsts.FILE_MP4, "mm.mp4" }, | |||||
| new Object[] { WxCpConsts.MEDIA_THUMB, WxCpConsts.FILE_JPG, "mm.jpeg" } | |||||
| }; | }; | ||||
| } | } | ||||
| @@ -44,12 +44,12 @@ public class WxMenuAPITest { | |||||
| public Object[][] getMenu() throws JAXBException { | public Object[][] getMenu() throws JAXBException { | ||||
| WxMenu menu = new WxMenu(); | WxMenu menu = new WxMenu(); | ||||
| WxMenuButton button1 = new WxMenuButton(); | WxMenuButton button1 = new WxMenuButton(); | ||||
| button1.setType(WxConsts.BUTTON_CLICK); | |||||
| button1.setType(WxCpConsts.BUTTON_CLICK); | |||||
| button1.setName("今日歌曲"); | button1.setName("今日歌曲"); | ||||
| button1.setKey("V1001_TODAY_MUSIC"); | button1.setKey("V1001_TODAY_MUSIC"); | ||||
| WxMenuButton button2 = new WxMenuButton(); | WxMenuButton button2 = new WxMenuButton(); | ||||
| button2.setType(WxConsts.BUTTON_CLICK); | |||||
| button2.setType(WxCpConsts.BUTTON_CLICK); | |||||
| button2.setName("歌手简介"); | button2.setName("歌手简介"); | ||||
| button2.setKey("V1001_TODAY_SINGER"); | button2.setKey("V1001_TODAY_SINGER"); | ||||
| @@ -61,17 +61,17 @@ public class WxMenuAPITest { | |||||
| menu.getButtons().add(button3); | menu.getButtons().add(button3); | ||||
| WxMenuButton button31 = new WxMenuButton(); | WxMenuButton button31 = new WxMenuButton(); | ||||
| button31.setType(WxConsts.BUTTON_VIEW); | |||||
| button31.setType(WxCpConsts.BUTTON_VIEW); | |||||
| button31.setName("搜索"); | button31.setName("搜索"); | ||||
| button31.setUrl("http://www.soso.com/"); | button31.setUrl("http://www.soso.com/"); | ||||
| WxMenuButton button32 = new WxMenuButton(); | WxMenuButton button32 = new WxMenuButton(); | ||||
| button32.setType(WxConsts.BUTTON_VIEW); | |||||
| button32.setType(WxCpConsts.BUTTON_VIEW); | |||||
| button32.setName("视频"); | button32.setName("视频"); | ||||
| button32.setUrl("http://v.qq.com/"); | button32.setUrl("http://v.qq.com/"); | ||||
| WxMenuButton button33 = new WxMenuButton(); | WxMenuButton button33 = new WxMenuButton(); | ||||
| button33.setType(WxConsts.BUTTON_CLICK); | |||||
| button33.setType(WxCpConsts.BUTTON_CLICK); | |||||
| button33.setName("赞一下我们"); | button33.setName("赞一下我们"); | ||||
| button33.setKey("V1001_GOOD"); | button33.setKey("V1001_GOOD"); | ||||
| @@ -1,9 +1,9 @@ | |||||
| package me.chanjar.weixin.enterprise.bean; | package me.chanjar.weixin.enterprise.bean; | ||||
| import me.chanjar.weixin.enterprise.api.WxCpConsts; | |||||
| import org.testng.Assert; | import org.testng.Assert; | ||||
| import org.testng.annotations.Test; | import org.testng.annotations.Test; | ||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.enterprise.bean.WxCpMessage.WxArticle; | import me.chanjar.weixin.enterprise.bean.WxCpMessage.WxArticle; | ||||
| @Test | @Test | ||||
| @@ -12,7 +12,7 @@ public class WxCpMessageTest { | |||||
| public void testTextReply() { | public void testTextReply() { | ||||
| WxCpMessage reply = new WxCpMessage(); | WxCpMessage reply = new WxCpMessage(); | ||||
| reply.setToUser("OPENID"); | reply.setToUser("OPENID"); | ||||
| reply.setMsgType(WxConsts.CUSTOM_MSG_TEXT); | |||||
| reply.setMsgType(WxCpConsts.CUSTOM_MSG_TEXT); | |||||
| reply.setContent("sfsfdsdf"); | reply.setContent("sfsfdsdf"); | ||||
| Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"text\",\"text\":{\"content\":\"sfsfdsdf\"}}"); | Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"text\",\"text\":{\"content\":\"sfsfdsdf\"}}"); | ||||
| } | } | ||||
| @@ -25,7 +25,7 @@ public class WxCpMessageTest { | |||||
| public void testImageReply() { | public void testImageReply() { | ||||
| WxCpMessage reply = new WxCpMessage(); | WxCpMessage reply = new WxCpMessage(); | ||||
| reply.setToUser("OPENID"); | reply.setToUser("OPENID"); | ||||
| reply.setMsgType(WxConsts.CUSTOM_MSG_IMAGE); | |||||
| reply.setMsgType(WxCpConsts.CUSTOM_MSG_IMAGE); | |||||
| reply.setMediaId("MEDIA_ID"); | reply.setMediaId("MEDIA_ID"); | ||||
| Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"image\",\"image\":{\"media_id\":\"MEDIA_ID\"}}"); | Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"image\",\"image\":{\"media_id\":\"MEDIA_ID\"}}"); | ||||
| } | } | ||||
| @@ -38,7 +38,7 @@ public class WxCpMessageTest { | |||||
| public void testVoiceReply() { | public void testVoiceReply() { | ||||
| WxCpMessage reply = new WxCpMessage(); | WxCpMessage reply = new WxCpMessage(); | ||||
| reply.setToUser("OPENID"); | reply.setToUser("OPENID"); | ||||
| reply.setMsgType(WxConsts.CUSTOM_MSG_VOICE); | |||||
| reply.setMsgType(WxCpConsts.CUSTOM_MSG_VOICE); | |||||
| reply.setMediaId("MEDIA_ID"); | reply.setMediaId("MEDIA_ID"); | ||||
| Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"voice\",\"voice\":{\"media_id\":\"MEDIA_ID\"}}"); | Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"voice\",\"voice\":{\"media_id\":\"MEDIA_ID\"}}"); | ||||
| } | } | ||||
| @@ -51,7 +51,7 @@ public class WxCpMessageTest { | |||||
| public void testVideoReply() { | public void testVideoReply() { | ||||
| WxCpMessage reply = new WxCpMessage(); | WxCpMessage reply = new WxCpMessage(); | ||||
| reply.setToUser("OPENID"); | reply.setToUser("OPENID"); | ||||
| reply.setMsgType(WxConsts.CUSTOM_MSG_VIDEO); | |||||
| reply.setMsgType(WxCpConsts.CUSTOM_MSG_VIDEO); | |||||
| reply.setMediaId("MEDIA_ID"); | reply.setMediaId("MEDIA_ID"); | ||||
| reply.setThumbMediaId("MEDIA_ID"); | reply.setThumbMediaId("MEDIA_ID"); | ||||
| reply.setTitle("TITLE"); | reply.setTitle("TITLE"); | ||||
| @@ -64,34 +64,10 @@ public class WxCpMessageTest { | |||||
| Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"video\",\"video\":{\"media_id\":\"MEDIA_ID\",\"thumb_media_id\":\"MEDIA_ID\",\"title\":\"TITLE\",\"description\":\"DESCRIPTION\"}}"); | Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"video\",\"video\":{\"media_id\":\"MEDIA_ID\",\"thumb_media_id\":\"MEDIA_ID\",\"title\":\"TITLE\",\"description\":\"DESCRIPTION\"}}"); | ||||
| } | } | ||||
| public void testMusicReply() { | |||||
| WxCpMessage reply = new WxCpMessage(); | |||||
| reply.setToUser("OPENID"); | |||||
| reply.setMsgType(WxConsts.CUSTOM_MSG_MUSIC); | |||||
| reply.setThumbMediaId("MEDIA_ID"); | |||||
| reply.setDescription("DESCRIPTION"); | |||||
| reply.setTitle("TITLE"); | |||||
| reply.setMusicUrl("MUSIC_URL"); | |||||
| reply.setHqMusicUrl("HQ_MUSIC_URL"); | |||||
| Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"music\",\"music\":{\"title\":\"TITLE\",\"description\":\"DESCRIPTION\",\"thumb_media_id\":\"MEDIA_ID\",\"musicurl\":\"MUSIC_URL\",\"hqmusicurl\":\"HQ_MUSIC_URL\"}}"); | |||||
| } | |||||
| public void testMusicBuild() { | |||||
| WxCpMessage reply = WxCpMessage.MUSIC() | |||||
| .toUser("OPENID") | |||||
| .title("TITLE") | |||||
| .thumbMediaId("MEDIA_ID") | |||||
| .description("DESCRIPTION") | |||||
| .musicUrl("MUSIC_URL") | |||||
| .hqMusicUrl("HQ_MUSIC_URL") | |||||
| .build(); | |||||
| Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"music\",\"music\":{\"title\":\"TITLE\",\"description\":\"DESCRIPTION\",\"thumb_media_id\":\"MEDIA_ID\",\"musicurl\":\"MUSIC_URL\",\"hqmusicurl\":\"HQ_MUSIC_URL\"}}"); | |||||
| } | |||||
| public void testNewsReply() { | public void testNewsReply() { | ||||
| WxCpMessage reply = new WxCpMessage(); | WxCpMessage reply = new WxCpMessage(); | ||||
| reply.setToUser("OPENID"); | reply.setToUser("OPENID"); | ||||
| reply.setMsgType(WxConsts.CUSTOM_MSG_NEWS); | |||||
| reply.setMsgType(WxCpConsts.CUSTOM_MSG_NEWS); | |||||
| WxArticle article1 = new WxArticle(); | WxArticle article1 = new WxArticle(); | ||||
| article1.setUrl("URL"); | article1.setUrl("URL"); | ||||
| @@ -1,6 +1,6 @@ | |||||
| package me.chanjar.weixin.enterprise.bean; | package me.chanjar.weixin.enterprise.bean; | ||||
| import me.chanjar.weixin.enterprise.api.WxConsts; | |||||
| import me.chanjar.weixin.enterprise.api.WxCpConsts; | |||||
| import org.testng.Assert; | import org.testng.Assert; | ||||
| import org.testng.annotations.Test; | import org.testng.annotations.Test; | ||||
| @@ -57,7 +57,7 @@ public class WxCpXmlMessageTest { | |||||
| Assert.assertEquals(wxMessage.getToUserName(), "toUser"); | Assert.assertEquals(wxMessage.getToUserName(), "toUser"); | ||||
| Assert.assertEquals(wxMessage.getFromUserName(), "fromUser"); | Assert.assertEquals(wxMessage.getFromUserName(), "fromUser"); | ||||
| Assert.assertEquals(wxMessage.getCreateTime(), new Long(1348831860l)); | Assert.assertEquals(wxMessage.getCreateTime(), new Long(1348831860l)); | ||||
| Assert.assertEquals(wxMessage.getMsgType(), WxConsts.XML_MSG_TEXT); | |||||
| Assert.assertEquals(wxMessage.getMsgType(), WxCpConsts.XML_MSG_TEXT); | |||||
| Assert.assertEquals(wxMessage.getContent(), "this is a test"); | Assert.assertEquals(wxMessage.getContent(), "this is a test"); | ||||
| Assert.assertEquals(wxMessage.getMsgId(), new Long(1234567890123456l)); | Assert.assertEquals(wxMessage.getMsgId(), new Long(1234567890123456l)); | ||||
| Assert.assertEquals(wxMessage.getPicUrl(), "this is a url"); | Assert.assertEquals(wxMessage.getPicUrl(), "this is a url"); | ||||
| @@ -1,74 +0,0 @@ | |||||
| package me.chanjar.weixin.enterprise.bean; | |||||
| import org.testng.Assert; | |||||
| import org.testng.annotations.Test; | |||||
| @Test | |||||
| public class WxCpXmlOutMusicMessageTest { | |||||
| public void test() { | |||||
| WxCpXmlOutMusicMessage m = new WxCpXmlOutMusicMessage(); | |||||
| m.setTitle("title"); | |||||
| m.setDescription("ddfff"); | |||||
| m.setHqMusicUrl("hQMusicUrl"); | |||||
| m.setMusicUrl("musicUrl"); | |||||
| m.setThumbMediaId("thumbMediaId"); | |||||
| m.setCreateTime(1122l); | |||||
| m.setFromUserName("fromUser"); | |||||
| m.setToUserName("toUser"); | |||||
| String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" | |||||
| + "<xml>" | |||||
| + "<ToUserName><![CDATA[toUser]]></ToUserName>" | |||||
| + "<FromUserName><![CDATA[fromUser]]></FromUserName>" | |||||
| + "<CreateTime>1122</CreateTime>" | |||||
| + "<MsgType><![CDATA[music]]></MsgType>" | |||||
| + "<Music>" | |||||
| + " <Title><![CDATA[title]]></Title>" | |||||
| + " <Description><![CDATA[ddfff]]></Description>" | |||||
| + " <ThumbMediaId><![CDATA[thumbMediaId]]></ThumbMediaId>" | |||||
| + " <MusicUrl><![CDATA[musicUrl]]></MusicUrl>" | |||||
| + " <HQMusicUrl><![CDATA[hQMusicUrl]]></HQMusicUrl>" | |||||
| + " </Music>" | |||||
| + "</xml>"; | |||||
| System.out.println(m.toXml()); | |||||
| Assert.assertEquals(m.toXml().replaceAll("\\s", ""), expected.replaceAll("\\s", "")); | |||||
| } | |||||
| public void testBuild() { | |||||
| WxCpXmlOutMusicMessage m = WxCpXmlOutMessage.MUSIC() | |||||
| .fromUser("fromUser") | |||||
| .toUser("toUser") | |||||
| .title("title") | |||||
| .description("ddfff") | |||||
| .hqMusicUrl("hQMusicUrl") | |||||
| .musicUrl("musicUrl") | |||||
| .thumbMediaId("thumbMediaId") | |||||
| .build(); | |||||
| String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>" | |||||
| + "<xml>" | |||||
| + "<ToUserName><![CDATA[toUser]]></ToUserName>" | |||||
| + "<FromUserName><![CDATA[fromUser]]></FromUserName>" | |||||
| + "<CreateTime>1122</CreateTime>" | |||||
| + "<MsgType><![CDATA[music]]></MsgType>" | |||||
| + "<Music>" | |||||
| + " <Title><![CDATA[title]]></Title>" | |||||
| + " <Description><![CDATA[ddfff]]></Description>" | |||||
| + " <ThumbMediaId><![CDATA[thumbMediaId]]></ThumbMediaId>" | |||||
| + " <MusicUrl><![CDATA[musicUrl]]></MusicUrl>" | |||||
| + " <HQMusicUrl><![CDATA[hQMusicUrl]]></HQMusicUrl>" | |||||
| + " </Music>" | |||||
| + "</xml>"; | |||||
| System.out.println(m.toXml()); | |||||
| Assert.assertEquals( | |||||
| m | |||||
| .toXml() | |||||
| .replaceAll("\\s", "") | |||||
| .replaceAll("<CreateTime>.*?</CreateTime>", ""), | |||||
| expected | |||||
| .replaceAll("\\s", "") | |||||
| .replaceAll("<CreateTime>.*?</CreateTime>", "") | |||||
| ); | |||||
| } | |||||
| } | |||||