1
0
mirror of synced 2025-12-20 23:58:05 +08:00

重构客服消息相关命名,替换不合理的命名:CustomMessage -> KefuMessage

This commit is contained in:
Binary Wang
2016-10-25 12:05:50 +08:00
parent 585cee0fd5
commit 912ef62841
21 changed files with 125 additions and 137 deletions

View File

@@ -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.joda.time.DateTime;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
@@ -15,7 +16,6 @@ import me.chanjar.weixin.common.api.WxConsts;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.mp.api.ApiTestModule;
import me.chanjar.weixin.mp.api.WxXmlMpInMemoryConfigStorage;
import me.chanjar.weixin.mp.bean.WxMpCustomMessage;
import me.chanjar.weixin.mp.bean.kefu.request.WxMpKfAccountRequest;
import me.chanjar.weixin.mp.bean.kefu.result.WxMpKfInfo;
import me.chanjar.weixin.mp.bean.kefu.result.WxMpKfList;
@@ -40,26 +40,26 @@ public class WxMpKefuServiceImplTest {
public void testSendCustomMessage() 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.setContent(
"欢迎欢迎,热烈欢迎\n换行测试\n超链接:<a href=\"http://www.baidu.com\">Hello World</a>");
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超链接:<a href=\"http://www.baidu.com\">Hello World</a>");
this.wxService.getKefuService().customMessageSend(message);
this.wxService.getKefuService().sendKefuMessage(message);
}
public void testKfList() throws WxErrorException {

View File

@@ -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 {
"<KfAccount><![CDATA[test1@test]]></KfAccount>" +
"</TransInfo>" +
"</xml>";
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 = "<xml>" +
"<ToUserName><![CDATA[touser]]></ToUserName>" +
@@ -67,4 +67,4 @@ public class WxMpXmlOutTransferCustomerServiceMessageTest {
System.out.println(m.toXml());
Assert.assertEquals(m.toXml().replaceAll("\\s", ""), expected.replaceAll("\\s", ""));
}
}
}

View File

@@ -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\"}]}}");
}
}

View File

@@ -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);
}
}

View File

@@ -17,7 +17,7 @@
<test name="Bean_Test">
<classes>
<class name="me.chanjar.weixin.mp.bean.WxMpCustomMessageTest" />
<class name="me.chanjar.weixin.mp.bean.kefu.WxMpKefuMessageTest" />
<class name="me.chanjar.weixin.mp.bean.WxMpXmlMessageTest" />
<class name="me.chanjar.weixin.mp.bean.WxMpXmlOutImageMessageTest" />
<class name="me.chanjar.weixin.mp.bean.WxXmlOutMusicMessageTest" />