mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-11-03 13:51:44 +08:00
添加对客服消息发送(点击跳转到图文消息页面) 图文消息的支持 #67
This commit is contained in:
@ -1,29 +1,21 @@
|
||||
package me.chanjar.weixin.mp.api.impl;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Date;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
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.kefu.WxMpKefuMessage;
|
||||
import me.chanjar.weixin.mp.bean.kefu.request.WxMpKfAccountRequest;
|
||||
import me.chanjar.weixin.mp.bean.kefu.result.*;
|
||||
import org.joda.time.DateTime;
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.DataProvider;
|
||||
import org.testng.annotations.Guice;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
|
||||
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.kefu.request.WxMpKfAccountRequest;
|
||||
import me.chanjar.weixin.mp.bean.kefu.result.WxMpKfInfo;
|
||||
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 java.io.File;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 测试客服相关接口
|
||||
@ -37,7 +29,18 @@ public class WxMpKefuServiceImplTest {
|
||||
@Inject
|
||||
protected WxMpServiceImpl wxService;
|
||||
|
||||
public void testSendCustomMessage() throws WxErrorException {
|
||||
public void testSendKefuMpNewsMessage() throws WxErrorException {
|
||||
WxXmlMpInMemoryConfigStorage configStorage = (WxXmlMpInMemoryConfigStorage) this.wxService
|
||||
.getWxMpConfigStorage();
|
||||
WxMpKefuMessage message = new WxMpKefuMessage();
|
||||
message.setMsgType(WxConsts.CUSTOM_MSG_MPNEWS);
|
||||
message.setToUser(configStorage.getOpenid());
|
||||
message.setMpNewsMediaId("52R6dL2FxDpM9N1rCY3sYBqHwq-L7K_lz1sPI71idMg");
|
||||
|
||||
this.wxService.getKefuService().sendKefuMessage(message);
|
||||
}
|
||||
|
||||
public void testSendKefuMessage() throws WxErrorException {
|
||||
WxXmlMpInMemoryConfigStorage configStorage = (WxXmlMpInMemoryConfigStorage) this.wxService
|
||||
.getWxMpConfigStorage();
|
||||
WxMpKefuMessage message = new WxMpKefuMessage();
|
||||
@ -49,7 +52,7 @@ public class WxMpKefuServiceImplTest {
|
||||
this.wxService.getKefuService().sendKefuMessage(message);
|
||||
}
|
||||
|
||||
public void testSendCustomMessageWithKfAccount() throws WxErrorException {
|
||||
public void testSendKefuMessageWithKfAccount() throws WxErrorException {
|
||||
WxXmlMpInMemoryConfigStorage configStorage = (WxXmlMpInMemoryConfigStorage) this.wxService
|
||||
.getWxMpConfigStorage();
|
||||
WxMpKefuMessage message = new WxMpKefuMessage();
|
||||
|
||||
@ -98,41 +98,40 @@ public class WxMpMaterialServiceImplTest {
|
||||
|
||||
@Test(dependsOnMethods = {"testUploadMaterial"})
|
||||
public void testAddNews() throws WxErrorException {
|
||||
|
||||
// 单图文消息
|
||||
WxMpMaterialNews wxMpMaterialNewsSingle = new WxMpMaterialNews();
|
||||
WxMpMaterialNews.WxMpMaterialNewsArticle mpMaterialNewsArticleSingle = new WxMpMaterialNews.WxMpMaterialNewsArticle();
|
||||
mpMaterialNewsArticleSingle.setAuthor("author");
|
||||
mpMaterialNewsArticleSingle.setThumbMediaId(this.thumbMediaId);
|
||||
mpMaterialNewsArticleSingle.setTitle("single title");
|
||||
mpMaterialNewsArticleSingle.setContent("single content");
|
||||
mpMaterialNewsArticleSingle.setContentSourceUrl("content url");
|
||||
mpMaterialNewsArticleSingle.setShowCoverPic(true);
|
||||
mpMaterialNewsArticleSingle.setDigest("single news");
|
||||
wxMpMaterialNewsSingle.addArticle(mpMaterialNewsArticleSingle);
|
||||
WxMpMaterialNews.WxMpMaterialNewsArticle article = new WxMpMaterialNews.WxMpMaterialNewsArticle();
|
||||
article.setAuthor("author");
|
||||
article.setThumbMediaId(this.thumbMediaId);
|
||||
article.setTitle("single title");
|
||||
article.setContent("single content");
|
||||
article.setContentSourceUrl("content url");
|
||||
article.setShowCoverPic(true);
|
||||
article.setDigest("single news");
|
||||
wxMpMaterialNewsSingle.addArticle(article);
|
||||
|
||||
// 多图文消息
|
||||
WxMpMaterialNews wxMpMaterialNewsMultiple = new WxMpMaterialNews();
|
||||
WxMpMaterialNews.WxMpMaterialNewsArticle wxMpMaterialNewsArticleMultiple1 = new WxMpMaterialNews.WxMpMaterialNewsArticle();
|
||||
wxMpMaterialNewsArticleMultiple1.setAuthor("author1");
|
||||
wxMpMaterialNewsArticleMultiple1.setThumbMediaId(this.thumbMediaId);
|
||||
wxMpMaterialNewsArticleMultiple1.setTitle("multi title1");
|
||||
wxMpMaterialNewsArticleMultiple1.setContent("content 1");
|
||||
wxMpMaterialNewsArticleMultiple1.setContentSourceUrl("content url");
|
||||
wxMpMaterialNewsArticleMultiple1.setShowCoverPic(true);
|
||||
wxMpMaterialNewsArticleMultiple1.setDigest("");
|
||||
WxMpMaterialNews.WxMpMaterialNewsArticle article1 = new WxMpMaterialNews.WxMpMaterialNewsArticle();
|
||||
article1.setAuthor("author1");
|
||||
article1.setThumbMediaId(this.thumbMediaId);
|
||||
article1.setTitle("multi title1");
|
||||
article1.setContent("content 1");
|
||||
article1.setContentSourceUrl("content url");
|
||||
article1.setShowCoverPic(true);
|
||||
article1.setDigest("");
|
||||
|
||||
WxMpMaterialNews.WxMpMaterialNewsArticle wxMpMaterialNewsArticleMultiple2 = new WxMpMaterialNews.WxMpMaterialNewsArticle();
|
||||
wxMpMaterialNewsArticleMultiple2.setAuthor("author2");
|
||||
wxMpMaterialNewsArticleMultiple2.setThumbMediaId(this.thumbMediaId);
|
||||
wxMpMaterialNewsArticleMultiple2.setTitle("multi title2");
|
||||
wxMpMaterialNewsArticleMultiple2.setContent("content 2");
|
||||
wxMpMaterialNewsArticleMultiple2.setContentSourceUrl("content url");
|
||||
wxMpMaterialNewsArticleMultiple2.setShowCoverPic(true);
|
||||
wxMpMaterialNewsArticleMultiple2.setDigest("");
|
||||
WxMpMaterialNews.WxMpMaterialNewsArticle article2 = new WxMpMaterialNews.WxMpMaterialNewsArticle();
|
||||
article2.setAuthor("author2");
|
||||
article2.setThumbMediaId(this.thumbMediaId);
|
||||
article2.setTitle("multi title2");
|
||||
article2.setContent("content 2");
|
||||
article2.setContentSourceUrl("content url");
|
||||
article2.setShowCoverPic(true);
|
||||
article2.setDigest("");
|
||||
|
||||
wxMpMaterialNewsMultiple.addArticle(wxMpMaterialNewsArticleMultiple1);
|
||||
wxMpMaterialNewsMultiple.addArticle(wxMpMaterialNewsArticleMultiple2);
|
||||
wxMpMaterialNewsMultiple.addArticle(article1);
|
||||
wxMpMaterialNewsMultiple.addArticle(article2);
|
||||
|
||||
WxMpMaterialUploadResult resSingle = this.wxService.getMaterialService().materialNewsUpload(wxMpMaterialNewsSingle);
|
||||
this.singleNewsMediaId = resSingle.getMediaId();
|
||||
@ -268,6 +267,7 @@ public class WxMpMaterialServiceImplTest {
|
||||
|
||||
// 以下为media接口的测试
|
||||
private List<String> mediaIdsToDownload = new ArrayList<>();
|
||||
|
||||
@Test(dataProvider="mediaFiles")
|
||||
public void testUploadMedia(String mediaType, String fileType, String fileName) throws WxErrorException, IOException {
|
||||
try(InputStream inputStream = ClassLoader.getSystemResourceAsStream(fileName)){
|
||||
|
||||
Reference in New Issue
Block a user