Procházet zdrojové kódy

被动响应消息测试

master
Daniel Qian před 10 roky
rodič
revize
b69aa77fbc
26 změnil soubory, kde provedl 104 přidání a 102 odebrání
  1. +2
    -2
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/api/WxCpMessageHandler.java
  2. +5
    -5
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/api/WxCpMessageRouter.java
  3. +13
    -2
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxCpXmlMessage.java
  4. +2
    -2
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutImageMessage.java
  5. +2
    -2
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutMessage.java
  6. +2
    -2
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutMewsMessage.java
  7. +2
    -2
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutMusicMessage.java
  8. +2
    -2
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutTextMessage.java
  9. +2
    -2
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutVideoMessage.java
  10. +2
    -2
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutVoiceMessage.java
  11. +2
    -2
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/outxmlbuilder/BaseBuilder.java
  12. +4
    -4
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/outxmlbuilder/ImageBuilder.java
  13. +4
    -4
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/outxmlbuilder/MusicBuilder.java
  14. +5
    -5
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/outxmlbuilder/NewsBuilder.java
  15. +4
    -4
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/outxmlbuilder/TextBuilder.java
  16. +4
    -4
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/outxmlbuilder/VideoBuilder.java
  17. +4
    -4
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/outxmlbuilder/VoiceBuilder.java
  18. +7
    -8
      weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/util/xml/XmlTransformer.java
  19. +3
    -4
      weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/api/WxCpMessageRouterTest.java
  20. +3
    -5
      weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutImageMessageTest.java
  21. +3
    -5
      weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutMusicMessageTest.java
  22. +5
    -7
      weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutNewsMessageTest.java
  23. +3
    -5
      weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutTextMessageTest.java
  24. +3
    -5
      weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutVideoMessageTest.java
  25. +3
    -5
      weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutVoiceMessageTest.java
  26. +13
    -8
      weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/demo/WxCpTestServlet.java

+ 2
- 2
weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/api/WxCpMessageHandler.java Zobrazit soubor

@@ -3,7 +3,7 @@ package me.chanjar.weixin.enterprise.api;
import java.util.Map;

import me.chanjar.weixin.enterprise.bean.WxCpXmlMessage;
import me.chanjar.weixin.enterprise.bean.WxXmlOutMessage;
import me.chanjar.weixin.enterprise.bean.WxCpXmlOutMessage;

/**
* 处理微信推送消息的处理器接口
@@ -18,6 +18,6 @@ public interface WxCpMessageHandler {
* @param context 上下文,如果handler或interceptor之间有信息要传递,可以用这个
* @return xml格式的消息,如果在异步规则里处理的话,可以返回null
*/
public WxXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context);
public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context);
}

+ 5
- 5
weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/api/WxCpMessageRouter.java Zobrazit soubor

@@ -9,7 +9,7 @@ import java.util.concurrent.Executors;
import java.util.regex.Pattern;

import me.chanjar.weixin.enterprise.bean.WxCpXmlMessage;
import me.chanjar.weixin.enterprise.bean.WxXmlOutMessage;
import me.chanjar.weixin.enterprise.bean.WxCpXmlOutMessage;

/**
* <pre>
@@ -57,7 +57,7 @@ public class WxCpMessageRouter {
* 处理微信消息
* @param wxMessage
*/
public WxXmlOutMessage route(final WxCpXmlMessage wxMessage) {
public WxCpXmlOutMessage route(final WxCpXmlMessage wxMessage) {
final List<Rule> matchRules = new ArrayList<Rule>();
// 收集匹配的规则
for (final Rule rule : rules) {
@@ -86,7 +86,7 @@ public class WxCpMessageRouter {
return null;
}
WxXmlOutMessage res = null;
WxCpXmlOutMessage res = null;
for (final Rule rule : matchRules) {
// 返回最后一个匹配规则的结果
res = rule.service(wxMessage);
@@ -270,7 +270,7 @@ public class WxCpMessageRouter {
* @param wxMessage
* @return true 代表继续执行别的router,false 代表停止执行别的router
*/
protected WxXmlOutMessage service(WxCpXmlMessage wxMessage) {
protected WxCpXmlOutMessage service(WxCpXmlMessage wxMessage) {
Map<String, Object> context = new HashMap<String, Object>();
// 如果拦截器不通过
for (WxCpMessageInterceptor interceptor : this.interceptors) {
@@ -280,7 +280,7 @@ public class WxCpMessageRouter {
}
// 交给handler处理
WxXmlOutMessage res = null;
WxCpXmlOutMessage res = null;
for (WxCpMessageHandler handler : this.handlers) {
// 返回最后handler的结果
res = handler.handle(wxMessage, context);


+ 13
- 2
weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxCpXmlMessage.java Zobrazit soubor

@@ -34,6 +34,9 @@ public class WxCpXmlMessage {
// 以下都是微信推送过来的消息的xml的element所对应的属性
///////////////////////

@XmlElement(name="AgentID")
private Integer agentId;

@XmlElement(name = "ToUserName")
@XmlJavaTypeAdapter(AdapterCDATA.class)
private String toUserName;
@@ -161,6 +164,14 @@ public class WxCpXmlMessage {
@XmlElement(name = "SendLocationInfo")
private SendLocationInfo sendLocationInfo = new SendLocationInfo();

public Integer getAgentId() {
return agentId;
}

public void setAgentId(Integer agentId) {
this.agentId = agentId;
}

public String getToUserName() {
return toUserName;
}
@@ -380,7 +391,7 @@ public class WxCpXmlMessage {
this.fromUserName = fromUserName;
}

public static WxCpXmlMessage fromXml(String xml) {
protected static WxCpXmlMessage fromXml(String xml) {
try {
return XmlTransformer.fromXml(WxCpXmlMessage.class, xml);
} catch (JAXBException e) {
@@ -388,7 +399,7 @@ public class WxCpXmlMessage {
}
}

public static WxCpXmlMessage fromXml(InputStream is) {
protected static WxCpXmlMessage fromXml(InputStream is) {
try {
return XmlTransformer.fromXml(WxCpXmlMessage.class, is);
} catch (JAXBException e) {


weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxXmlOutImageMessage.java → weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutImageMessage.java Zobrazit soubor

@@ -11,13 +11,13 @@ import me.chanjar.weixin.enterprise.util.xml.MediaIdMarshaller;

@XmlRootElement(name = "xml")
@XmlAccessorType(XmlAccessType.FIELD)
public class WxXmlOutImageMessage extends WxXmlOutMessage {
public class WxCpXmlOutImageMessage extends WxCpXmlOutMessage {
@XmlElement(name="Image")
@XmlJavaTypeAdapter(MediaIdMarshaller.class)
private String mediaId;

public WxXmlOutImageMessage() {
public WxCpXmlOutImageMessage() {
this.msgType = WxConsts.XML_MSG_IMAGE;
}

weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxXmlOutMessage.java → weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutMessage.java Zobrazit soubor

@@ -20,7 +20,7 @@ import me.chanjar.weixin.enterprise.util.xml.XmlTransformer;

@XmlRootElement(name = "xml")
@XmlAccessorType(XmlAccessType.FIELD)
public class WxXmlOutMessage {
public class WxCpXmlOutMessage {

@XmlElement(name="ToUserName")
@XmlJavaTypeAdapter(AdapterCDATA.class)
@@ -69,7 +69,7 @@ public class WxXmlOutMessage {
this.msgType = msgType;
}
public String toXml() {
protected String toXml() {
try {
return XmlTransformer.toXml((Class)this.getClass(), this);
} catch (JAXBException e) {

weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxXmlOutMewsMessage.java → weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutMewsMessage.java Zobrazit soubor

@@ -15,7 +15,7 @@ import me.chanjar.weixin.enterprise.util.xml.AdapterCDATA;

@XmlRootElement(name = "xml")
@XmlAccessorType(XmlAccessType.FIELD)
public class WxXmlOutMewsMessage extends WxXmlOutMessage {
public class WxCpXmlOutMewsMessage extends WxCpXmlOutMessage {

@XmlElement(name = "ArticleCount")
protected int articleCount;
@@ -24,7 +24,7 @@ public class WxXmlOutMewsMessage extends WxXmlOutMessage {
@XmlElement(name = "item")
protected final List<Item> articles = new ArrayList<Item>();
public WxXmlOutMewsMessage() {
public WxCpXmlOutMewsMessage() {
this.msgType = WxConsts.XML_MSG_NEWS;
}


weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxXmlOutMusicMessage.java → weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutMusicMessage.java Zobrazit soubor

@@ -11,12 +11,12 @@ import me.chanjar.weixin.enterprise.util.xml.AdapterCDATA;

@XmlRootElement(name = "xml")
@XmlAccessorType(XmlAccessType.FIELD)
public class WxXmlOutMusicMessage extends WxXmlOutMessage {
public class WxCpXmlOutMusicMessage extends WxCpXmlOutMessage {

@XmlElement(name = "Music")
protected final Music music = new Music();

public WxXmlOutMusicMessage() {
public WxCpXmlOutMusicMessage() {
this.msgType = WxConsts.XML_MSG_MUSIC;
}


weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxXmlOutTextMessage.java → weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutTextMessage.java Zobrazit soubor

@@ -11,13 +11,13 @@ import me.chanjar.weixin.enterprise.util.xml.AdapterCDATA;

@XmlRootElement(name = "xml")
@XmlAccessorType(XmlAccessType.FIELD)
public class WxXmlOutTextMessage extends WxXmlOutMessage {
public class WxCpXmlOutTextMessage extends WxCpXmlOutMessage {
@XmlElement(name="Content")
@XmlJavaTypeAdapter(AdapterCDATA.class)
private String content;

public WxXmlOutTextMessage() {
public WxCpXmlOutTextMessage() {
this.msgType = WxConsts.XML_MSG_TEXT;
}

weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxXmlOutVideoMessage.java → weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutVideoMessage.java Zobrazit soubor

@@ -11,12 +11,12 @@ import me.chanjar.weixin.enterprise.util.xml.AdapterCDATA;

@XmlRootElement(name = "xml")
@XmlAccessorType(XmlAccessType.FIELD)
public class WxXmlOutVideoMessage extends WxXmlOutMessage {
public class WxCpXmlOutVideoMessage extends WxCpXmlOutMessage {

@XmlElement(name = "Video")
protected final Video video = new Video();

public WxXmlOutVideoMessage() {
public WxCpXmlOutVideoMessage() {
this.msgType = WxConsts.XML_MSG_VIDEO;
}


weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxXmlOutVoiceMessage.java → weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutVoiceMessage.java Zobrazit soubor

@@ -11,13 +11,13 @@ import me.chanjar.weixin.enterprise.util.xml.MediaIdMarshaller;

@XmlRootElement(name = "xml")
@XmlAccessorType(XmlAccessType.FIELD)
public class WxXmlOutVoiceMessage extends WxXmlOutMessage {
public class WxCpXmlOutVoiceMessage extends WxCpXmlOutMessage {
@XmlElement(name="Voice")
@XmlJavaTypeAdapter(MediaIdMarshaller.class)
private String mediaId;

public WxXmlOutVoiceMessage() {
public WxCpXmlOutVoiceMessage() {
this.msgType = WxConsts.XML_MSG_VOICE;
}

+ 2
- 2
weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/outxmlbuilder/BaseBuilder.java Zobrazit soubor

@@ -1,6 +1,6 @@
package me.chanjar.weixin.enterprise.bean.outxmlbuilder;

import me.chanjar.weixin.enterprise.bean.WxXmlOutMessage;
import me.chanjar.weixin.enterprise.bean.WxCpXmlOutMessage;

public abstract class BaseBuilder<BuilderType, ValueType> {
@@ -20,7 +20,7 @@ public abstract class BaseBuilder<BuilderType, ValueType> {

public abstract ValueType build();
public void setCommon(WxXmlOutMessage m) {
public void setCommon(WxCpXmlOutMessage m) {
m.setToUserName(this.toUserName);
m.setFromUserName(this.fromUserName);
m.setCreateTime(System.currentTimeMillis() / 1000l);


+ 4
- 4
weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/outxmlbuilder/ImageBuilder.java Zobrazit soubor

@@ -1,12 +1,12 @@
package me.chanjar.weixin.enterprise.bean.outxmlbuilder;

import me.chanjar.weixin.enterprise.bean.WxXmlOutImageMessage;
import me.chanjar.weixin.enterprise.bean.WxCpXmlOutImageMessage;

/**
* 图片消息builder
* @author Daniel Qian
*/
public final class ImageBuilder extends BaseBuilder<ImageBuilder, WxXmlOutImageMessage> {
public final class ImageBuilder extends BaseBuilder<ImageBuilder, WxCpXmlOutImageMessage> {

private String mediaId;

@@ -15,8 +15,8 @@ public final class ImageBuilder extends BaseBuilder<ImageBuilder, WxXmlOutImageM
return this;
}

public WxXmlOutImageMessage build() {
WxXmlOutImageMessage m = new WxXmlOutImageMessage();
public WxCpXmlOutImageMessage build() {
WxCpXmlOutImageMessage m = new WxCpXmlOutImageMessage();
setCommon(m);
m.setMediaId(this.mediaId);
return m;


+ 4
- 4
weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/outxmlbuilder/MusicBuilder.java Zobrazit soubor

@@ -1,13 +1,13 @@
package me.chanjar.weixin.enterprise.bean.outxmlbuilder;

import me.chanjar.weixin.enterprise.bean.WxXmlOutMusicMessage;
import me.chanjar.weixin.enterprise.bean.WxCpXmlOutMusicMessage;

/**
* 音乐消息builder
*
* @author Daniel Qian
*/
public final class MusicBuilder extends BaseBuilder<MusicBuilder, WxXmlOutMusicMessage> {
public final class MusicBuilder extends BaseBuilder<MusicBuilder, WxCpXmlOutMusicMessage> {

private String title;
private String description;
@@ -40,8 +40,8 @@ public final class MusicBuilder extends BaseBuilder<MusicBuilder, WxXmlOutMusicM
return this;
}

public WxXmlOutMusicMessage build() {
WxXmlOutMusicMessage m = new WxXmlOutMusicMessage();
public WxCpXmlOutMusicMessage build() {
WxCpXmlOutMusicMessage m = new WxCpXmlOutMusicMessage();
setCommon(m);
m.setTitle(title);
m.setDescription(description);


+ 5
- 5
weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/outxmlbuilder/NewsBuilder.java Zobrazit soubor

@@ -3,14 +3,14 @@ package me.chanjar.weixin.enterprise.bean.outxmlbuilder;
import java.util.ArrayList;
import java.util.List;

import me.chanjar.weixin.enterprise.bean.WxXmlOutMewsMessage;
import me.chanjar.weixin.enterprise.bean.WxXmlOutMewsMessage.Item;
import me.chanjar.weixin.enterprise.bean.WxCpXmlOutMewsMessage;
import me.chanjar.weixin.enterprise.bean.WxCpXmlOutMewsMessage.Item;

/**
* 图文消息builder
* @author Daniel Qian
*/
public final class NewsBuilder extends BaseBuilder<NewsBuilder, WxXmlOutMewsMessage> {
public final class NewsBuilder extends BaseBuilder<NewsBuilder, WxCpXmlOutMewsMessage> {

protected final List<Item> articles = new ArrayList<Item>();
@@ -19,8 +19,8 @@ public final class NewsBuilder extends BaseBuilder<NewsBuilder, WxXmlOutMewsMess
return this;
}
public WxXmlOutMewsMessage build() {
WxXmlOutMewsMessage m = new WxXmlOutMewsMessage();
public WxCpXmlOutMewsMessage build() {
WxCpXmlOutMewsMessage m = new WxCpXmlOutMewsMessage();
for(Item item : articles) {
m.addArticle(item);
}


+ 4
- 4
weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/outxmlbuilder/TextBuilder.java Zobrazit soubor

@@ -1,13 +1,13 @@
package me.chanjar.weixin.enterprise.bean.outxmlbuilder;

import me.chanjar.weixin.enterprise.bean.WxXmlOutTextMessage;
import me.chanjar.weixin.enterprise.bean.WxCpXmlOutTextMessage;

/**
* 文本消息builder
* @author Daniel Qian
*
*/
public final class TextBuilder extends BaseBuilder<TextBuilder, WxXmlOutTextMessage> {
public final class TextBuilder extends BaseBuilder<TextBuilder, WxCpXmlOutTextMessage> {
private String content;

public TextBuilder content(String content) {
@@ -15,8 +15,8 @@ public final class TextBuilder extends BaseBuilder<TextBuilder, WxXmlOutTextMess
return this;
}

public WxXmlOutTextMessage build() {
WxXmlOutTextMessage m = new WxXmlOutTextMessage();
public WxCpXmlOutTextMessage build() {
WxCpXmlOutTextMessage m = new WxCpXmlOutTextMessage();
setCommon(m);
m.setContent(this.content);
return m;


+ 4
- 4
weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/outxmlbuilder/VideoBuilder.java Zobrazit soubor

@@ -1,13 +1,13 @@
package me.chanjar.weixin.enterprise.bean.outxmlbuilder;

import me.chanjar.weixin.enterprise.bean.WxXmlOutVideoMessage;
import me.chanjar.weixin.enterprise.bean.WxCpXmlOutVideoMessage;

/**
* 视频消息builder
* @author Daniel Qian
*
*/
public final class VideoBuilder extends BaseBuilder<VideoBuilder, WxXmlOutVideoMessage> {
public final class VideoBuilder extends BaseBuilder<VideoBuilder, WxCpXmlOutVideoMessage> {

private String mediaId;
private String title;
@@ -26,8 +26,8 @@ public final class VideoBuilder extends BaseBuilder<VideoBuilder, WxXmlOutVideoM
return this;
}
public WxXmlOutVideoMessage build() {
WxXmlOutVideoMessage m = new WxXmlOutVideoMessage();
public WxCpXmlOutVideoMessage build() {
WxCpXmlOutVideoMessage m = new WxCpXmlOutVideoMessage();
setCommon(m);
m.setTitle(title);
m.setDescription(description);


+ 4
- 4
weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/bean/outxmlbuilder/VoiceBuilder.java Zobrazit soubor

@@ -1,12 +1,12 @@
package me.chanjar.weixin.enterprise.bean.outxmlbuilder;

import me.chanjar.weixin.enterprise.bean.WxXmlOutVoiceMessage;
import me.chanjar.weixin.enterprise.bean.WxCpXmlOutVoiceMessage;

/**
* 语音消息builder
* @author Daniel Qian
*/
public final class VoiceBuilder extends BaseBuilder<VoiceBuilder, WxXmlOutVoiceMessage> {
public final class VoiceBuilder extends BaseBuilder<VoiceBuilder, WxCpXmlOutVoiceMessage> {

private String mediaId;

@@ -15,8 +15,8 @@ public final class VoiceBuilder extends BaseBuilder<VoiceBuilder, WxXmlOutVoiceM
return this;
}
public WxXmlOutVoiceMessage build() {
WxXmlOutVoiceMessage m = new WxXmlOutVoiceMessage();
public WxCpXmlOutVoiceMessage build() {
WxCpXmlOutVoiceMessage m = new WxCpXmlOutVoiceMessage();
setCommon(m);
m.setMediaId(mediaId);
return m;


+ 7
- 8
weixin-java-enterprise/src/main/java/me/chanjar/weixin/enterprise/util/xml/XmlTransformer.java Zobrazit soubor

@@ -8,7 +8,6 @@ import java.io.Writer;

import javax.xml.bind.*;

import me.chanjar.weixin.enterprise.bean.*;
import me.chanjar.weixin.enterprise.bean.*;
import org.xml.sax.InputSource;

@@ -78,13 +77,13 @@ public class XmlTransformer {
*/
try {
return JAXBContext.newInstance(
WxXmlOutMessage.class,
WxXmlOutImageMessage.class,
WxXmlOutMewsMessage.class,
WxXmlOutMusicMessage.class,
WxXmlOutTextMessage.class,
WxXmlOutVideoMessage.class,
WxXmlOutVoiceMessage.class,
WxCpXmlOutMessage.class,
WxCpXmlOutImageMessage.class,
WxCpXmlOutMewsMessage.class,
WxCpXmlOutMusicMessage.class,
WxCpXmlOutTextMessage.class,
WxCpXmlOutVideoMessage.class,
WxCpXmlOutVoiceMessage.class,
WxCpXmlMessage.class);
} catch (JAXBException e) {
throw new RuntimeException(e);


+ 3
- 4
weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/api/WxCpMessageRouterTest.java Zobrazit soubor

@@ -3,12 +3,11 @@ package me.chanjar.weixin.enterprise.api;
import java.util.Map;

import me.chanjar.weixin.enterprise.bean.WxCpXmlMessage;
import me.chanjar.weixin.enterprise.bean.WxCpXmlOutMessage;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

import me.chanjar.weixin.enterprise.bean.WxXmlOutMessage;

/**
* 测试消息路由器
* @author Daniel Qian
@@ -67,7 +66,7 @@ public class WxCpMessageRouterTest {
final WxCpMessageRouter router = new WxCpMessageRouter();
router.rule().handler(new WxCpMessageHandler() {
@Override
public WxXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context) {
public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context) {
return null;
}
}).end();
@@ -149,7 +148,7 @@ public class WxCpMessageRouterTest {
}

@Override
public WxXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context) {
public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context) {
sb.append(this.echoStr).append(',');
return null;
}


weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxXmlOutImageMessageTest.java → weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutImageMessageTest.java Zobrazit soubor

@@ -1,15 +1,13 @@
package me.chanjar.weixin.enterprise.bean;

import me.chanjar.weixin.enterprise.bean.WxXmlOutImageMessage;
import me.chanjar.weixin.enterprise.bean.WxXmlOutMessage;
import org.testng.Assert;
import org.testng.annotations.Test;

@Test
public class WxXmlOutImageMessageTest {
public class WxCpXmlOutImageMessageTest {

public void test() {
WxXmlOutImageMessage m = new WxXmlOutImageMessage();
WxCpXmlOutImageMessage m = new WxCpXmlOutImageMessage();
m.setMediaId("ddfefesfsdfef");
m.setCreateTime(1122l);
m.setFromUserName("from");
@@ -28,7 +26,7 @@ public class WxXmlOutImageMessageTest {
}
public void testBuild() {
WxXmlOutImageMessage m = WxXmlOutMessage.IMAGE().mediaId("ddfefesfsdfef").fromUser("from").toUser("to").build();
WxCpXmlOutImageMessage m = WxCpXmlOutMessage.IMAGE().mediaId("ddfefesfsdfef").fromUser("from").toUser("to").build();
String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>"
+ "<xml>"
+ "<ToUserName><![CDATA[to]]></ToUserName>"

weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxXmlOutMusicMessageTest.java → weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutMusicMessageTest.java Zobrazit soubor

@@ -1,15 +1,13 @@
package me.chanjar.weixin.enterprise.bean;

import me.chanjar.weixin.enterprise.bean.WxXmlOutMessage;
import me.chanjar.weixin.enterprise.bean.WxXmlOutMusicMessage;
import org.testng.Assert;
import org.testng.annotations.Test;

@Test
public class WxXmlOutMusicMessageTest {
public class WxCpXmlOutMusicMessageTest {

public void test() {
WxXmlOutMusicMessage m = new WxXmlOutMusicMessage();
WxCpXmlOutMusicMessage m = new WxCpXmlOutMusicMessage();
m.setTitle("title");
m.setDescription("ddfff");
m.setHqMusicUrl("hQMusicUrl");
@@ -38,7 +36,7 @@ public class WxXmlOutMusicMessageTest {
}
public void testBuild() {
WxXmlOutMusicMessage m = WxXmlOutMessage.MUSIC()
WxCpXmlOutMusicMessage m = WxCpXmlOutMessage.MUSIC()
.fromUser("fromUser")
.toUser("toUser")
.title("title")

weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxXmlOutNewsMessageTest.java → weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutNewsMessageTest.java Zobrazit soubor

@@ -1,20 +1,18 @@
package me.chanjar.weixin.enterprise.bean;

import me.chanjar.weixin.enterprise.bean.WxXmlOutMessage;
import me.chanjar.weixin.enterprise.bean.WxXmlOutMewsMessage;
import org.testng.Assert;
import org.testng.annotations.Test;

@Test
public class WxXmlOutNewsMessageTest {
public class WxCpXmlOutNewsMessageTest {

public void test() {
WxXmlOutMewsMessage m = new WxXmlOutMewsMessage();
WxCpXmlOutMewsMessage m = new WxCpXmlOutMewsMessage();
m.setCreateTime(1122l);
m.setFromUserName("fromUser");
m.setToUserName("toUser");
WxXmlOutMewsMessage.Item item = new WxXmlOutMewsMessage.Item();
WxCpXmlOutMewsMessage.Item item = new WxCpXmlOutMewsMessage.Item();
item.setDescription("description");
item.setPicUrl("picUrl");
item.setTitle("title");
@@ -48,13 +46,13 @@ public class WxXmlOutNewsMessageTest {
}
public void testBuild() {
WxXmlOutMewsMessage.Item item = new WxXmlOutMewsMessage.Item();
WxCpXmlOutMewsMessage.Item item = new WxCpXmlOutMewsMessage.Item();
item.setDescription("description");
item.setPicUrl("picUrl");
item.setTitle("title");
item.setUrl("url");
WxXmlOutMewsMessage m = WxXmlOutMessage.NEWS()
WxCpXmlOutMewsMessage m = WxCpXmlOutMessage.NEWS()
.fromUser("fromUser")
.toUser("toUser")
.addArticle(item)

weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxXmlOutTextMessageTest.java → weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutTextMessageTest.java Zobrazit soubor

@@ -1,15 +1,13 @@
package me.chanjar.weixin.enterprise.bean;

import me.chanjar.weixin.enterprise.bean.WxXmlOutMessage;
import me.chanjar.weixin.enterprise.bean.WxXmlOutTextMessage;
import org.testng.Assert;
import org.testng.annotations.Test;

@Test
public class WxXmlOutTextMessageTest {
public class WxCpXmlOutTextMessageTest {

public void test() {
WxXmlOutTextMessage m = new WxXmlOutTextMessage();
WxCpXmlOutTextMessage m = new WxCpXmlOutTextMessage();
m.setContent("content");
m.setCreateTime(1122l);
m.setFromUserName("from");
@@ -28,7 +26,7 @@ public class WxXmlOutTextMessageTest {
}
public void testBuild() {
WxXmlOutTextMessage m = WxXmlOutMessage.TEXT().content("content").fromUser("from").toUser("to").build();
WxCpXmlOutTextMessage m = WxCpXmlOutMessage.TEXT().content("content").fromUser("from").toUser("to").build();
String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>"
+ "<xml>"
+ "<ToUserName><![CDATA[to]]></ToUserName>"

weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxXmlOutVideoMessageTest.java → weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutVideoMessageTest.java Zobrazit soubor

@@ -1,15 +1,13 @@
package me.chanjar.weixin.enterprise.bean;

import me.chanjar.weixin.enterprise.bean.WxXmlOutMessage;
import me.chanjar.weixin.enterprise.bean.WxXmlOutVideoMessage;
import org.testng.Assert;
import org.testng.annotations.Test;

@Test
public class WxXmlOutVideoMessageTest {
public class WxCpXmlOutVideoMessageTest {

public void test() {
WxXmlOutVideoMessage m = new WxXmlOutVideoMessage();
WxCpXmlOutVideoMessage m = new WxCpXmlOutVideoMessage();
m.setMediaId("media_id");
m.setTitle("title");
m.setDescription("ddfff");
@@ -34,7 +32,7 @@ public class WxXmlOutVideoMessageTest {
}
public void testBuild() {
WxXmlOutVideoMessage m = WxXmlOutMessage.VIDEO()
WxCpXmlOutVideoMessage m = WxCpXmlOutMessage.VIDEO()
.mediaId("media_id")
.fromUser("fromUser")
.toUser("toUser")

weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxXmlOutVoiceMessageTest.java → weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/bean/WxCpXmlOutVoiceMessageTest.java Zobrazit soubor

@@ -1,15 +1,13 @@
package me.chanjar.weixin.enterprise.bean;

import me.chanjar.weixin.enterprise.bean.WxXmlOutMessage;
import me.chanjar.weixin.enterprise.bean.WxXmlOutVoiceMessage;
import org.testng.Assert;
import org.testng.annotations.Test;

@Test
public class WxXmlOutVoiceMessageTest {
public class WxCpXmlOutVoiceMessageTest {

public void test() {
WxXmlOutVoiceMessage m = new WxXmlOutVoiceMessage();
WxCpXmlOutVoiceMessage m = new WxCpXmlOutVoiceMessage();
m.setMediaId("ddfefesfsdfef");
m.setCreateTime(1122l);
m.setFromUserName("from");
@@ -28,7 +26,7 @@ public class WxXmlOutVoiceMessageTest {
}
public void testBuild() {
WxXmlOutVoiceMessage m = WxXmlOutMessage.VOICE().mediaId("ddfefesfsdfef").fromUser("from").toUser("to").build();
WxCpXmlOutVoiceMessage m = WxCpXmlOutMessage.VOICE().mediaId("ddfefesfsdfef").fromUser("from").toUser("to").build();
String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>"
+ "<xml>"
+ "<ToUserName><![CDATA[to]]></ToUserName>"

+ 13
- 8
weixin-java-enterprise/src/test/java/me/chanjar/weixin/enterprise/demo/WxCpTestServlet.java Zobrazit soubor

@@ -2,10 +2,9 @@ package me.chanjar.weixin.enterprise.demo;

import me.chanjar.weixin.enterprise.api.*;
import me.chanjar.weixin.enterprise.bean.WxCpXmlMessage;
import me.chanjar.weixin.enterprise.bean.WxXmlOutMessage;
import me.chanjar.weixin.enterprise.bean.WxXmlOutTextMessage;
import me.chanjar.weixin.enterprise.bean.WxCpXmlOutMessage;
import me.chanjar.weixin.enterprise.bean.WxCpXmlOutTextMessage;
import me.chanjar.weixin.enterprise.util.crypto.WxCryptUtil;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;

import javax.servlet.ServletException;
@@ -38,10 +37,13 @@ public class WxCpTestServlet extends HttpServlet {
wxCpService.setWxCpConfigStorage(config);

WxCpMessageHandler handler = new WxCpMessageHandler() {
@Override public WxXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context) {
WxXmlOutTextMessage m
= WxXmlOutMessage.TEXT().content("测试加密消息").fromUser(wxMessage.getToUserName())
.toUser(wxMessage.getFromUserName()).build();
@Override public WxCpXmlOutMessage handle(WxCpXmlMessage wxMessage, Map<String, Object> context) {
WxCpXmlOutTextMessage m = WxCpXmlOutMessage
.TEXT()
.content("测试加密消息")
.fromUser(wxMessage.getToUserName())
.toUser(wxMessage.getFromUserName())
.build();
return m;
}
};
@@ -85,8 +87,11 @@ public class WxCpTestServlet extends HttpServlet {

WxCpXmlMessage inMessage = WxCpXmlMessage.fromEncryptedXml(request.getInputStream(), wxCpConfigStorage, timestamp, nonce, msgSignature);

// WxXmlOutMessage outMessage = wxCpMessageRouter.route(inMessage);
WxCpXmlOutMessage outMessage = wxCpMessageRouter.route(inMessage);

if (outMessage != null) {
response.getWriter().write(outMessage.toEncryptedXml(wxCpConfigStorage));
}

return;
}


Načítá se…
Zrušit
Uložit