From 912ef628412b1a8e965eaccd88ba46f04094ec88 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Tue, 25 Oct 2016 12:05:50 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E5=AE=A2=E6=9C=8D=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E7=9B=B8=E5=85=B3=E5=91=BD=E5=90=8D=EF=BC=8C=E6=9B=BF?= =?UTF-8?q?=E6=8D=A2=E4=B8=8D=E5=90=88=E7=90=86=E7=9A=84=E5=91=BD=E5=90=8D?= =?UTF-8?q?=EF=BC=9ACustomMessage=20->=20KefuMessage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weixin/mp/api/WxMpKefuService.java | 17 ++--- .../mp/api/impl/WxMpKefuServiceImpl.java | 4 +- ...ava => WxMpXmlOutTransferKefuMessage.java} | 6 +- .../mp/bean/custombuilder/BaseBuilder.java | 6 +- .../mp/bean/custombuilder/ImageBuilder.java | 8 +-- .../mp/bean/custombuilder/MusicBuilder.java | 8 +-- .../mp/bean/custombuilder/NewsBuilder.java | 14 ++--- .../mp/bean/custombuilder/TextBuilder.java | 8 +-- .../mp/bean/custombuilder/VideoBuilder.java | 8 +-- .../mp/bean/custombuilder/VoiceBuilder.java | 8 +-- .../mp/bean/custombuilder/WxCardBuilder.java | 8 +-- .../WxMpKefuMessage.java} | 16 ++--- .../TransferCustomerServiceBuilder.java | 12 ++-- .../weixin/mp/util/json/WxMpGsonBuilder.java | 4 +- ...r.java => WxMpKefuMessageGsonAdapter.java} | 21 +++---- .../mp/util/xml/XStreamTransformer.java | 8 +-- .../mp/api/impl/WxMpKefuServiceImplTest.java | 10 +-- ...=> WxMpXmlOutTransferKefuMessageTest.java} | 10 +-- .../WxMpKefuMessageTest.java} | 62 +++++++++---------- .../mp/demo/DemoGuessNumberHandler.java | 22 +++---- weixin-java-mp/src/test/resources/testng.xml | 2 +- 21 files changed, 125 insertions(+), 137 deletions(-) rename weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/{WxMpXmlOutTransferCustomerServiceMessage.java => WxMpXmlOutTransferKefuMessage.java} (87%) rename weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/{WxMpCustomMessage.java => kefu/WxMpKefuMessage.java} (89%) rename weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/{WxMpCustomMessageGsonAdapter.java => WxMpKefuMessageGsonAdapter.java} (89%) rename weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/{WxMpXmlOutTransferCustomerServiceMessageTest.java => WxMpXmlOutTransferKefuMessageTest.java} (84%) rename weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/{WxMpCustomMessageTest.java => kefu/WxMpKefuMessageTest.java} (80%) diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpKefuService.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpKefuService.java index fc678b42..5bad7da2 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpKefuService.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpKefuService.java @@ -1,17 +1,12 @@ package me.chanjar.weixin.mp.api; -import java.io.File; -import java.util.Date; - import me.chanjar.weixin.common.exception.WxErrorException; -import me.chanjar.weixin.mp.bean.WxMpCustomMessage; +import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; import me.chanjar.weixin.mp.bean.kefu.request.WxMpKfAccountRequest; -import me.chanjar.weixin.mp.bean.kefu.result.WxMpKfList; -import me.chanjar.weixin.mp.bean.kefu.result.WxMpKfMsgList; -import me.chanjar.weixin.mp.bean.kefu.result.WxMpKfOnlineList; -import me.chanjar.weixin.mp.bean.kefu.result.WxMpKfSessionGetResult; -import me.chanjar.weixin.mp.bean.kefu.result.WxMpKfSessionList; -import me.chanjar.weixin.mp.bean.kefu.result.WxMpKfSessionWaitCaseList; +import me.chanjar.weixin.mp.bean.kefu.result.*; + +import java.io.File; +import java.util.Date; /** * 客服接口 , @@ -29,7 +24,7 @@ public interface WxMpKefuService { * 详情请见: 发送客服消息 * */ - boolean customMessageSend(WxMpCustomMessage message) throws WxErrorException; + boolean sendKefuMessage(WxMpKefuMessage message) throws WxErrorException; //*******************客服管理接口***********************// diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpKefuServiceImpl.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpKefuServiceImpl.java index e83c17ac..09a68adf 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpKefuServiceImpl.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpKefuServiceImpl.java @@ -3,6 +3,7 @@ package me.chanjar.weixin.mp.api.impl; import java.io.File; import java.util.Date; +import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -14,7 +15,6 @@ import me.chanjar.weixin.common.exception.WxErrorException; import me.chanjar.weixin.common.util.http.MediaUploadRequestExecutor; import me.chanjar.weixin.mp.api.WxMpKefuService; import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.WxMpCustomMessage; import me.chanjar.weixin.mp.bean.kefu.request.WxMpKfAccountRequest; import me.chanjar.weixin.mp.bean.kefu.request.WxMpKfSessionRequest; import me.chanjar.weixin.mp.bean.kefu.result.WxMpKfList; @@ -41,7 +41,7 @@ public class WxMpKefuServiceImpl implements WxMpKefuService { } @Override - public boolean customMessageSend(WxMpCustomMessage message) + public boolean sendKefuMessage(WxMpKefuMessage message) throws WxErrorException { String url = "https://api.weixin.qq.com/cgi-bin/message/custom/send"; String responseContent = this.wxMpService.post(url, message.toJson()); diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferCustomerServiceMessage.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferKefuMessage.java similarity index 87% rename from weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferCustomerServiceMessage.java rename to weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferKefuMessage.java index a1a48bbe..3022e70d 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferCustomerServiceMessage.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferKefuMessage.java @@ -6,13 +6,13 @@ import me.chanjar.weixin.common.api.WxConsts; import me.chanjar.weixin.common.util.xml.XStreamCDataConverter; @XStreamAlias("xml") -public class WxMpXmlOutTransferCustomerServiceMessage extends WxMpXmlOutMessage { +public class WxMpXmlOutTransferKefuMessage extends WxMpXmlOutMessage { private static final long serialVersionUID = 1850903037285841322L; - + @XStreamAlias("TransInfo") protected TransInfo transInfo; - public WxMpXmlOutTransferCustomerServiceMessage() { + public WxMpXmlOutTransferKefuMessage() { this.msgType = WxConsts.CUSTOM_MSG_TRANSFER_CUSTOMER_SERVICE; } diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/BaseBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/BaseBuilder.java index 18bf81f9..911e3f62 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/BaseBuilder.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/BaseBuilder.java @@ -1,6 +1,6 @@ package me.chanjar.weixin.mp.bean.custombuilder; -import me.chanjar.weixin.mp.bean.WxMpCustomMessage; +import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; public class BaseBuilder { protected String msgType; @@ -11,8 +11,8 @@ public class BaseBuilder { return (T) this; } - public WxMpCustomMessage build() { - WxMpCustomMessage m = new WxMpCustomMessage(); + public WxMpKefuMessage build() { + WxMpKefuMessage m = new WxMpKefuMessage(); m.setMsgType(this.msgType); m.setToUser(this.toUser); return m; diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/ImageBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/ImageBuilder.java index 1fb5363c..85855d25 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/ImageBuilder.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/ImageBuilder.java @@ -1,12 +1,12 @@ package me.chanjar.weixin.mp.bean.custombuilder; import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.mp.bean.WxMpCustomMessage; +import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; /** * 获得消息builder *
- * 用法: WxMpCustomMessage m = WxMpCustomMessage.IMAGE().mediaId(...).toUser(...).build();
+ * 用法: WxMpKefuMessage m = WxMpKefuMessage.IMAGE().mediaId(...).toUser(...).build();
  * 
* @author chanjarster * @@ -24,8 +24,8 @@ public final class ImageBuilder extends BaseBuilder { } @Override - public WxMpCustomMessage build() { - WxMpCustomMessage m = super.build(); + public WxMpKefuMessage build() { + WxMpKefuMessage m = super.build(); m.setMediaId(this.mediaId); return m; } diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/MusicBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/MusicBuilder.java index 7a9994ad..3555f7a9 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/MusicBuilder.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/MusicBuilder.java @@ -1,12 +1,12 @@ package me.chanjar.weixin.mp.bean.custombuilder; import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.mp.bean.WxMpCustomMessage; +import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; /** * 音乐消息builder *
- * 用法: WxMpCustomMessage m = WxMpCustomMessage.MUSIC()
+ * 用法: WxMpKefuMessage m = WxMpKefuMessage.MUSIC()
  *                      .musicUrl(...)
  *                      .hqMusicUrl(...)
  *                      .title(...)
@@ -53,8 +53,8 @@ public final class MusicBuilder extends BaseBuilder {
   }
 
   @Override
-  public WxMpCustomMessage build() {
-    WxMpCustomMessage m = super.build();
+  public WxMpKefuMessage build() {
+    WxMpKefuMessage m = super.build();
     m.setMusicUrl(this.musicUrl);
     m.setHqMusicUrl(this.hqMusicUrl);
     m.setTitle(this.title);
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/NewsBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/NewsBuilder.java
index ad0efb23..d909eb7d 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/NewsBuilder.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/NewsBuilder.java
@@ -1,7 +1,7 @@
 package me.chanjar.weixin.mp.bean.custombuilder;
 
 import me.chanjar.weixin.common.api.WxConsts;
-import me.chanjar.weixin.mp.bean.WxMpCustomMessage;
+import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -10,27 +10,27 @@ import java.util.List;
  * 图文消息builder
  * 
  * 用法:
- * WxMpCustomMessage m = WxMpCustomMessage.NEWS().addArticle(article).toUser(...).build();
+ * WxMpKefuMessage m = WxMpKefuMessage.NEWS().addArticle(article).toUser(...).build();
  * 
* @author chanjarster * */ public final class NewsBuilder extends BaseBuilder { - private List articles = new ArrayList<>(); - + private List articles = new ArrayList<>(); + public NewsBuilder() { this.msgType = WxConsts.CUSTOM_MSG_NEWS; } - public NewsBuilder addArticle(WxMpCustomMessage.WxArticle article) { + public NewsBuilder addArticle(WxMpKefuMessage.WxArticle article) { this.articles.add(article); return this; } @Override - public WxMpCustomMessage build() { - WxMpCustomMessage m = super.build(); + public WxMpKefuMessage build() { + WxMpKefuMessage m = super.build(); m.setArticles(this.articles); return m; } diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/TextBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/TextBuilder.java index 7f458457..770675f5 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/TextBuilder.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/TextBuilder.java @@ -1,12 +1,12 @@ package me.chanjar.weixin.mp.bean.custombuilder; import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.mp.bean.WxMpCustomMessage; +import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; /** * 文本消息builder *
- * 用法: WxMpCustomMessage m = WxMpCustomMessage.TEXT().content(...).toUser(...).build();
+ * 用法: WxMpKefuMessage m = WxMpKefuMessage.TEXT().content(...).toUser(...).build();
  * 
* @author chanjarster * @@ -24,8 +24,8 @@ public final class TextBuilder extends BaseBuilder { } @Override - public WxMpCustomMessage build() { - WxMpCustomMessage m = super.build(); + public WxMpKefuMessage build() { + WxMpKefuMessage m = super.build(); m.setContent(this.content); return m; } diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/VideoBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/VideoBuilder.java index bda6ef7c..f9740e2f 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/VideoBuilder.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/VideoBuilder.java @@ -1,12 +1,12 @@ package me.chanjar.weixin.mp.bean.custombuilder; import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.mp.bean.WxMpCustomMessage; +import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; /** * 视频消息builder *
- * 用法: WxMpCustomMessage m = WxMpCustomMessage.VOICE()
+ * 用法: WxMpKefuMessage m = WxMpKefuMessage.VOICE()
  *                              .mediaId(...)
  *                              .title(...)
  *                              .thumbMediaId(..)
@@ -48,8 +48,8 @@ public final class VideoBuilder extends BaseBuilder {
   }
 
   @Override
-  public WxMpCustomMessage build() {
-    WxMpCustomMessage m = super.build();
+  public WxMpKefuMessage build() {
+    WxMpKefuMessage m = super.build();
     m.setMediaId(this.mediaId);
     m.setTitle(this.title);
     m.setDescription(this.description);
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/VoiceBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/VoiceBuilder.java
index 867c8aff..7686a56d 100644
--- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/VoiceBuilder.java
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/VoiceBuilder.java
@@ -1,12 +1,12 @@
 package me.chanjar.weixin.mp.bean.custombuilder;
 
 import me.chanjar.weixin.common.api.WxConsts;
-import me.chanjar.weixin.mp.bean.WxMpCustomMessage;
+import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage;
 
 /**
  * 语音消息builder
  * 
- * 用法: WxMpCustomMessage m = WxMpCustomMessage.VOICE().mediaId(...).toUser(...).build();
+ * 用法: WxMpKefuMessage m = WxMpKefuMessage.VOICE().mediaId(...).toUser(...).build();
  * 
* @author chanjarster * @@ -24,8 +24,8 @@ public final class VoiceBuilder extends BaseBuilder { } @Override - public WxMpCustomMessage build() { - WxMpCustomMessage m = super.build(); + public WxMpKefuMessage build() { + WxMpKefuMessage m = super.build(); m.setMediaId(this.mediaId); return m; } diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/WxCardBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/WxCardBuilder.java index 8620cd84..fb5e81c2 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/WxCardBuilder.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/custombuilder/WxCardBuilder.java @@ -1,12 +1,12 @@ package me.chanjar.weixin.mp.bean.custombuilder; import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.mp.bean.WxMpCustomMessage; +import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; /** * 卡券消息builder *
- * 用法: WxMpCustomMessage m = WxMpCustomMessage.WXCARD().cardId(...).toUser(...).build();
+ * 用法: WxMpKefuMessage m = WxMpKefuMessage.WXCARD().cardId(...).toUser(...).build();
  * 
* @author mgcnrx11 * @@ -24,8 +24,8 @@ public final class WxCardBuilder extends BaseBuilder { } @Override - public WxMpCustomMessage build() { - WxMpCustomMessage m = super.build(); + public WxMpKefuMessage build() { + WxMpKefuMessage m = super.build(); m.setCardId(this.cardId); return m; } diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpCustomMessage.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/kefu/WxMpKefuMessage.java similarity index 89% rename from weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpCustomMessage.java rename to weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/kefu/WxMpKefuMessage.java index a7f1670f..7963f53e 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpCustomMessage.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/kefu/WxMpKefuMessage.java @@ -1,24 +1,18 @@ -package me.chanjar.weixin.mp.bean; +package me.chanjar.weixin.mp.bean.kefu; + +import me.chanjar.weixin.mp.bean.custombuilder.*; +import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; import java.io.Serializable; import java.util.ArrayList; import java.util.List; -import me.chanjar.weixin.mp.bean.custombuilder.ImageBuilder; -import me.chanjar.weixin.mp.bean.custombuilder.MusicBuilder; -import me.chanjar.weixin.mp.bean.custombuilder.NewsBuilder; -import me.chanjar.weixin.mp.bean.custombuilder.TextBuilder; -import me.chanjar.weixin.mp.bean.custombuilder.VideoBuilder; -import me.chanjar.weixin.mp.bean.custombuilder.VoiceBuilder; -import me.chanjar.weixin.mp.bean.custombuilder.WxCardBuilder; -import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; - /** * 客服消息 * @author chanjarster * */ -public class WxMpCustomMessage implements Serializable { +public class WxMpKefuMessage implements Serializable { private static final long serialVersionUID = -9196732086954365246L; private String toUser; diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/outxmlbuilder/TransferCustomerServiceBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/outxmlbuilder/TransferCustomerServiceBuilder.java index 87ec3a04..b89e31b4 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/outxmlbuilder/TransferCustomerServiceBuilder.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/outxmlbuilder/TransferCustomerServiceBuilder.java @@ -1,17 +1,17 @@ package me.chanjar.weixin.mp.bean.outxmlbuilder; import me.chanjar.weixin.common.util.StringUtils; -import me.chanjar.weixin.mp.bean.WxMpXmlOutTransferCustomerServiceMessage; +import me.chanjar.weixin.mp.bean.WxMpXmlOutTransferKefuMessage; /** * 客服消息builder *
- * 用法: WxMpCustomMessage m = WxMpXmlOutMessage.TRANSFER_CUSTOMER_SERVICE().content(...).toUser(...).build();
+ * 用法: WxMpKefuMessage m = WxMpXmlOutMessage.TRANSFER_CUSTOMER_SERVICE().content(...).toUser(...).build();
  * 
* * @author chanjarster */ -public final class TransferCustomerServiceBuilder extends BaseBuilder { +public final class TransferCustomerServiceBuilder extends BaseBuilder { private String kfAccount; public TransferCustomerServiceBuilder kfAccount(String kf) { @@ -20,11 +20,11 @@ public final class TransferCustomerServiceBuilder extends BaseBuilder { +public class WxMpKefuMessageGsonAdapter implements JsonSerializer { @Override - public JsonElement serialize(WxMpCustomMessage message, Type typeOfSrc, JsonSerializationContext context) { + public JsonElement serialize(WxMpKefuMessage message, Type typeOfSrc, JsonSerializationContext context) { JsonObject messageJson = new JsonObject(); messageJson.addProperty("touser", message.getToUser()); messageJson.addProperty("msgtype", message.getMsgType()); - + if (WxConsts.CUSTOM_MSG_TEXT.equals(message.getMsgType())) { JsonObject text = new JsonObject(); text.addProperty("content", message.getContent()); @@ -60,11 +59,11 @@ public class WxMpCustomMessageGsonAdapter implements JsonSerializerHello World"); - this.wxService.getKefuService().customMessageSend(message); + this.wxService.getKefuService().sendKefuMessage(message); } public void testSendCustomMessageWithKfAccount() throws WxErrorException { WxXmlMpInMemoryConfigStorage configStorage = (WxXmlMpInMemoryConfigStorage) this.wxService .getWxMpConfigStorage(); - WxMpCustomMessage message = new WxMpCustomMessage(); + WxMpKefuMessage message = new WxMpKefuMessage(); message.setMsgType(WxConsts.CUSTOM_MSG_TEXT); message.setToUser(configStorage.getOpenid()); message.setKfAccount(configStorage.getKfAccount()); message.setContent( "欢迎欢迎,热烈欢迎\n换行测试\n超链接:Hello World"); - this.wxService.getKefuService().customMessageSend(message); + this.wxService.getKefuService().sendKefuMessage(message); } public void testKfList() throws WxErrorException { diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferCustomerServiceMessageTest.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferKefuMessageTest.java similarity index 84% rename from weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferCustomerServiceMessageTest.java rename to weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferKefuMessageTest.java index 012a0986..ad167738 100644 --- a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferCustomerServiceMessageTest.java +++ b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/WxMpXmlOutTransferKefuMessageTest.java @@ -6,10 +6,10 @@ import org.testng.annotations.Test; /** * Created by ben on 2015/12/29. */ -public class WxMpXmlOutTransferCustomerServiceMessageTest { +public class WxMpXmlOutTransferKefuMessageTest { @Test public void test() { - WxMpXmlOutTransferCustomerServiceMessage m = new WxMpXmlOutTransferCustomerServiceMessage(); + WxMpXmlOutTransferKefuMessage m = new WxMpXmlOutTransferKefuMessage(); m.setCreateTime(1399197672L); m.setFromUserName("fromuser"); m.setToUserName("touser"); @@ -32,7 +32,7 @@ public class WxMpXmlOutTransferCustomerServiceMessageTest { "" + "" + ""; - WxMpXmlOutTransferCustomerServiceMessage.TransInfo transInfo = new WxMpXmlOutTransferCustomerServiceMessage.TransInfo(); + WxMpXmlOutTransferKefuMessage.TransInfo transInfo = new WxMpXmlOutTransferKefuMessage.TransInfo(); transInfo.setKfAccount("test1@test"); m.setTransInfo(transInfo); System.out.println(m.toXml()); @@ -41,7 +41,7 @@ public class WxMpXmlOutTransferCustomerServiceMessageTest { @Test public void testBuild() { - WxMpXmlOutTransferCustomerServiceMessage m = WxMpXmlOutMessage.TRANSFER_CUSTOMER_SERVICE().fromUser("fromuser").toUser("touser").build(); + WxMpXmlOutTransferKefuMessage m = WxMpXmlOutMessage.TRANSFER_CUSTOMER_SERVICE().fromUser("fromuser").toUser("touser").build(); m.setCreateTime(1399197672L); String expected = "" + "" + @@ -67,4 +67,4 @@ public class WxMpXmlOutTransferCustomerServiceMessageTest { System.out.println(m.toXml()); Assert.assertEquals(m.toXml().replaceAll("\\s", ""), expected.replaceAll("\\s", "")); } -} \ No newline at end of file +} diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/WxMpCustomMessageTest.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/kefu/WxMpKefuMessageTest.java similarity index 80% rename from weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/WxMpCustomMessageTest.java rename to weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/kefu/WxMpKefuMessageTest.java index aa8de0df..9f19029e 100644 --- a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/WxMpCustomMessageTest.java +++ b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/kefu/WxMpKefuMessageTest.java @@ -1,54 +1,54 @@ -package me.chanjar.weixin.mp.bean; +package me.chanjar.weixin.mp.bean.kefu; import me.chanjar.weixin.common.api.WxConsts; -import me.chanjar.weixin.mp.bean.WxMpCustomMessage.WxArticle; +import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage.WxArticle; import org.testng.Assert; import org.testng.annotations.Test; @Test -public class WxMpCustomMessageTest { +public class WxMpKefuMessageTest { public void testTextReply() { - WxMpCustomMessage reply = new WxMpCustomMessage(); + WxMpKefuMessage reply = new WxMpKefuMessage(); reply.setToUser("OPENID"); reply.setMsgType(WxConsts.CUSTOM_MSG_TEXT); reply.setContent("sfsfdsdf"); Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"text\",\"text\":{\"content\":\"sfsfdsdf\"}}"); } - + public void testTextBuild() { - WxMpCustomMessage reply = WxMpCustomMessage.TEXT().toUser("OPENID").content("sfsfdsdf").build(); + WxMpKefuMessage reply = WxMpKefuMessage.TEXT().toUser("OPENID").content("sfsfdsdf").build(); Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"text\",\"text\":{\"content\":\"sfsfdsdf\"}}"); } - + public void testImageReply() { - WxMpCustomMessage reply = new WxMpCustomMessage(); + WxMpKefuMessage reply = new WxMpKefuMessage(); reply.setToUser("OPENID"); reply.setMsgType(WxConsts.CUSTOM_MSG_IMAGE); reply.setMediaId("MEDIA_ID"); Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"image\",\"image\":{\"media_id\":\"MEDIA_ID\"}}"); } - + public void testImageBuild() { - WxMpCustomMessage reply = WxMpCustomMessage.IMAGE().toUser("OPENID").mediaId("MEDIA_ID").build(); + WxMpKefuMessage reply = WxMpKefuMessage.IMAGE().toUser("OPENID").mediaId("MEDIA_ID").build(); Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"image\",\"image\":{\"media_id\":\"MEDIA_ID\"}}"); } - + public void testVoiceReply() { - WxMpCustomMessage reply = new WxMpCustomMessage(); + WxMpKefuMessage reply = new WxMpKefuMessage(); reply.setToUser("OPENID"); reply.setMsgType(WxConsts.CUSTOM_MSG_VOICE); reply.setMediaId("MEDIA_ID"); Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"voice\",\"voice\":{\"media_id\":\"MEDIA_ID\"}}"); } - + public void testVoiceBuild() { - WxMpCustomMessage reply = WxMpCustomMessage.VOICE().toUser("OPENID").mediaId("MEDIA_ID").build(); + WxMpKefuMessage reply = WxMpKefuMessage.VOICE().toUser("OPENID").mediaId("MEDIA_ID").build(); Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"voice\",\"voice\":{\"media_id\":\"MEDIA_ID\"}}"); } - + public void testVideoReply() { - WxMpCustomMessage reply = new WxMpCustomMessage(); + WxMpKefuMessage reply = new WxMpKefuMessage(); reply.setToUser("OPENID"); reply.setMsgType(WxConsts.CUSTOM_MSG_VIDEO); reply.setMediaId("MEDIA_ID"); @@ -57,14 +57,14 @@ public class WxMpCustomMessageTest { reply.setDescription("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 testVideoBuild() { - WxMpCustomMessage reply = WxMpCustomMessage.VIDEO().toUser("OPENID").title("TITLE").mediaId("MEDIA_ID").thumbMediaId("MEDIA_ID").description("DESCRIPTION").build(); + WxMpKefuMessage reply = WxMpKefuMessage.VIDEO().toUser("OPENID").title("TITLE").mediaId("MEDIA_ID").thumbMediaId("MEDIA_ID").description("DESCRIPTION").build(); 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() { - WxMpCustomMessage reply = new WxMpCustomMessage(); + WxMpKefuMessage reply = new WxMpKefuMessage(); reply.setToUser("OPENID"); reply.setMsgType(WxConsts.CUSTOM_MSG_MUSIC); reply.setThumbMediaId("MEDIA_ID"); @@ -74,9 +74,9 @@ public class WxMpCustomMessageTest { 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() { - WxMpCustomMessage reply = WxMpCustomMessage.MUSIC() + WxMpKefuMessage reply = WxMpKefuMessage.MUSIC() .toUser("OPENID") .title("TITLE") .thumbMediaId("MEDIA_ID") @@ -86,19 +86,19 @@ public class WxMpCustomMessageTest { .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() { - WxMpCustomMessage reply = new WxMpCustomMessage(); + WxMpKefuMessage reply = new WxMpKefuMessage(); reply.setToUser("OPENID"); reply.setMsgType(WxConsts.CUSTOM_MSG_NEWS); - + WxArticle article1 = new WxArticle(); article1.setUrl("URL"); article1.setPicUrl("PIC_URL"); article1.setDescription("Is Really A Happy Day"); article1.setTitle("Happy Day"); reply.getArticles().add(article1); - + WxArticle article2 = new WxArticle(); article2.setUrl("URL"); article2.setPicUrl("PIC_URL"); @@ -106,26 +106,26 @@ public class WxMpCustomMessageTest { article2.setTitle("Happy Day"); reply.getArticles().add(article2); - + Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"news\",\"news\":{\"articles\":[{\"title\":\"Happy Day\",\"description\":\"Is Really A Happy Day\",\"url\":\"URL\",\"picurl\":\"PIC_URL\"},{\"title\":\"Happy Day\",\"description\":\"Is Really A Happy Day\",\"url\":\"URL\",\"picurl\":\"PIC_URL\"}]}}"); } - + public void testNewsBuild() { WxArticle article1 = new WxArticle(); article1.setUrl("URL"); article1.setPicUrl("PIC_URL"); article1.setDescription("Is Really A Happy Day"); article1.setTitle("Happy Day"); - + WxArticle article2 = new WxArticle(); article2.setUrl("URL"); article2.setPicUrl("PIC_URL"); article2.setDescription("Is Really A Happy Day"); article2.setTitle("Happy Day"); - WxMpCustomMessage reply = WxMpCustomMessage.NEWS().toUser("OPENID").addArticle(article1).addArticle(article2).build(); + WxMpKefuMessage reply = WxMpKefuMessage.NEWS().toUser("OPENID").addArticle(article1).addArticle(article2).build(); Assert.assertEquals(reply.toJson(), "{\"touser\":\"OPENID\",\"msgtype\":\"news\",\"news\":{\"articles\":[{\"title\":\"Happy Day\",\"description\":\"Is Really A Happy Day\",\"url\":\"URL\",\"picurl\":\"PIC_URL\"},{\"title\":\"Happy Day\",\"description\":\"Is Really A Happy Day\",\"url\":\"URL\",\"picurl\":\"PIC_URL\"}]}}"); } - + } diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/demo/DemoGuessNumberHandler.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/demo/DemoGuessNumberHandler.java index f35b3b87..604531b1 100644 --- a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/demo/DemoGuessNumberHandler.java +++ b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/demo/DemoGuessNumberHandler.java @@ -10,7 +10,7 @@ import me.chanjar.weixin.common.session.WxSessionManager; import me.chanjar.weixin.mp.api.WxMpMessageHandler; import me.chanjar.weixin.mp.api.WxMpMessageMatcher; import me.chanjar.weixin.mp.api.WxMpService; -import me.chanjar.weixin.mp.bean.WxMpCustomMessage; +import me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessage; import me.chanjar.weixin.mp.bean.WxMpXmlMessage; import me.chanjar.weixin.mp.bean.WxMpXmlOutMessage; @@ -52,19 +52,19 @@ public class DemoGuessNumberHandler implements WxMpMessageHandler, WxMpMessageMa protected void letsGo(WxMpXmlMessage wxMessage, WxMpService wxMpService, WxSessionManager sessionManager) throws WxErrorException { WxSession session = sessionManager.getSession(wxMessage.getFromUser()); if (session.getAttribute("guessing") == null) { - WxMpCustomMessage m = WxMpCustomMessage + WxMpKefuMessage m = WxMpKefuMessage .TEXT() .toUser(wxMessage.getFromUser()) .content("请猜一个100以内的数字") .build(); - wxMpService.getKefuService().customMessageSend(m); + wxMpService.getKefuService().sendKefuMessage(m); } else { - WxMpCustomMessage m = WxMpCustomMessage + WxMpKefuMessage m = WxMpKefuMessage .TEXT() .toUser(wxMessage.getFromUser()) .content("放弃了吗?那请重新猜一个100以内的数字") .build(); - wxMpService.getKefuService().customMessageSend(m); + wxMpService.getKefuService().sendKefuMessage(m); } session.setAttribute("guessing", Boolean.TRUE); @@ -87,28 +87,28 @@ public class DemoGuessNumberHandler implements WxMpMessageHandler, WxMpMessageMa int answer = (Integer) session.getAttribute("number"); int guessNumber = Integer.valueOf(wxMessage.getContent()); if (guessNumber < answer) { - WxMpCustomMessage m = WxMpCustomMessage + WxMpKefuMessage m = WxMpKefuMessage .TEXT() .toUser(wxMessage.getFromUser()) .content("小了") .build(); - wxMpService.getKefuService().customMessageSend(m); + wxMpService.getKefuService().sendKefuMessage(m); } else if (guessNumber > answer) { - WxMpCustomMessage m = WxMpCustomMessage + WxMpKefuMessage m = WxMpKefuMessage .TEXT() .toUser(wxMessage.getFromUser()) .content("大了") .build(); - wxMpService.getKefuService().customMessageSend(m); + wxMpService.getKefuService().sendKefuMessage(m); } else { - WxMpCustomMessage m = WxMpCustomMessage + WxMpKefuMessage m = WxMpKefuMessage .TEXT() .toUser(wxMessage.getFromUser()) .content("Bingo!") .build(); session.removeAttribute("guessing"); - wxMpService.getKefuService().customMessageSend(m); + wxMpService.getKefuService().sendKefuMessage(m); } } diff --git a/weixin-java-mp/src/test/resources/testng.xml b/weixin-java-mp/src/test/resources/testng.xml index 6d5310ce..addf7be4 100644 --- a/weixin-java-mp/src/test/resources/testng.xml +++ b/weixin-java-mp/src/test/resources/testng.xml @@ -17,7 +17,7 @@ - +