@@ -21,7 +21,7 @@ public class WxMpCustomMessageAPITest { | |||
protected WxMpServiceImpl wxService; | |||
public void testSendCustomMessage() throws WxErrorException { | |||
ApiTestModule.WxXmlMpInMemoryConfigStorage configStorage = (ApiTestModule.WxXmlMpInMemoryConfigStorage) wxService.getWxMpConfigStorage(); | |||
ApiTestModule.WxXmlMpInMemoryConfigStorage configStorage = (ApiTestModule.WxXmlMpInMemoryConfigStorage) this.wxService.getWxMpConfigStorage(); | |||
WxMpCustomMessage message = new WxMpCustomMessage(); | |||
message.setMsgType(WxConsts.CUSTOM_MSG_TEXT); | |||
message.setToUser(configStorage.getOpenId()); | |||
@@ -31,7 +31,7 @@ public class WxMpCustomMessageAPITest { | |||
} | |||
public void testSendCustomMessageWithKfAccount() throws WxErrorException { | |||
ApiTestModule.WxXmlMpInMemoryConfigStorage configStorage = (ApiTestModule.WxXmlMpInMemoryConfigStorage) wxService.getWxMpConfigStorage(); | |||
ApiTestModule.WxXmlMpInMemoryConfigStorage configStorage = (ApiTestModule.WxXmlMpInMemoryConfigStorage) this.wxService.getWxMpConfigStorage(); | |||
WxMpCustomMessage message = new WxMpCustomMessage(); | |||
message.setMsgType(WxConsts.CUSTOM_MSG_TEXT); | |||
message.setToUser(configStorage.getOpenId()); | |||
@@ -24,7 +24,7 @@ public class WxMpJsAPITest { | |||
public void testJsapiTicket() throws WxErrorException { | |||
String jsapiTicket = wxService.getJsapiTicket(false); | |||
String jsapiTicket = this.wxService.getJsapiTicket(false); | |||
System.out.println(jsapiTicket); | |||
Assert.assertNotNull(jsapiTicket); | |||
} | |||
@@ -1,6 +1,15 @@ | |||
package me.chanjar.weixin.mp.api; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
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.bean.result.WxMediaUploadResult; | |||
import me.chanjar.weixin.common.exception.WxErrorException; | |||
@@ -11,13 +20,6 @@ import me.chanjar.weixin.mp.bean.WxMpMassOpenIdsMessage; | |||
import me.chanjar.weixin.mp.bean.WxMpMassVideo; | |||
import me.chanjar.weixin.mp.bean.result.WxMpMassSendResult; | |||
import me.chanjar.weixin.mp.bean.result.WxMpMassUploadResult; | |||
import org.testng.Assert; | |||
import org.testng.annotations.DataProvider; | |||
import org.testng.annotations.Guice; | |||
import org.testng.annotations.Test; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
/** | |||
* 测试群发消息 | |||
@@ -34,27 +36,32 @@ public class WxMpMassMessageAPITest { | |||
@Test | |||
public void testTextMassOpenIdsMessageSend() throws WxErrorException { | |||
// 发送群发消息 | |||
ApiTestModule.WxXmlMpInMemoryConfigStorage configProvider = (ApiTestModule.WxXmlMpInMemoryConfigStorage) wxService.getWxMpConfigStorage(); | |||
ApiTestModule.WxXmlMpInMemoryConfigStorage configProvider = (ApiTestModule.WxXmlMpInMemoryConfigStorage) this.wxService | |||
.getWxMpConfigStorage(); | |||
WxMpMassOpenIdsMessage massMessage = new WxMpMassOpenIdsMessage(); | |||
massMessage.setMsgType(WxConsts.MASS_MSG_TEXT); | |||
massMessage.setContent("测试群发消息\n欢迎欢迎,热烈欢迎\n换行测试\n超链接:<a href=\"http://www.baidu.com\">Hello World</a>"); | |||
massMessage.getToUsers().add(configProvider.getOpenId()); | |||
WxMpMassSendResult massResult = wxService.massOpenIdsMessageSend(massMessage); | |||
WxMpMassSendResult massResult = this.wxService | |||
.massOpenIdsMessageSend(massMessage); | |||
Assert.assertNotNull(massResult); | |||
Assert.assertNotNull(massResult.getMsgId()); | |||
} | |||
@Test(dataProvider="massMessages") | |||
public void testMediaMassOpenIdsMessageSend(String massMsgType, String mediaId) throws WxErrorException, IOException { | |||
public void testMediaMassOpenIdsMessageSend(String massMsgType, | |||
String mediaId) throws WxErrorException { | |||
// 发送群发消息 | |||
ApiTestModule.WxXmlMpInMemoryConfigStorage configProvider = (ApiTestModule.WxXmlMpInMemoryConfigStorage) wxService.getWxMpConfigStorage(); | |||
ApiTestModule.WxXmlMpInMemoryConfigStorage configProvider = (ApiTestModule.WxXmlMpInMemoryConfigStorage) this.wxService | |||
.getWxMpConfigStorage(); | |||
WxMpMassOpenIdsMessage massMessage = new WxMpMassOpenIdsMessage(); | |||
massMessage.setMsgType(massMsgType); | |||
massMessage.setMediaId(mediaId); | |||
massMessage.getToUsers().add(configProvider.getOpenId()); | |||
WxMpMassSendResult massResult = wxService.massOpenIdsMessageSend(massMessage); | |||
WxMpMassSendResult massResult = this.wxService | |||
.massOpenIdsMessageSend(massMessage); | |||
Assert.assertNotNull(massResult); | |||
Assert.assertNotNull(massResult.getMsgId()); | |||
} | |||
@@ -64,21 +71,26 @@ public class WxMpMassMessageAPITest { | |||
WxMpMassGroupMessage massMessage = new WxMpMassGroupMessage(); | |||
massMessage.setMsgtype(WxConsts.MASS_MSG_TEXT); | |||
massMessage.setContent("测试群发消息\n欢迎欢迎,热烈欢迎\n换行测试\n超链接:<a href=\"http://www.baidu.com\">Hello World</a>"); | |||
massMessage.setGroupId(wxService.getGroupService().groupGet().get(0).getId()); | |||
massMessage | |||
.setGroupId(this.wxService.getGroupService().groupGet().get(0).getId()); | |||
WxMpMassSendResult massResult = wxService.massGroupMessageSend(massMessage); | |||
WxMpMassSendResult massResult = this.wxService | |||
.massGroupMessageSend(massMessage); | |||
Assert.assertNotNull(massResult); | |||
Assert.assertNotNull(massResult.getMsgId()); | |||
} | |||
@Test(dataProvider="massMessages") | |||
public void testMediaMassGroupMessageSend(String massMsgType, String mediaId) throws WxErrorException, IOException { | |||
public void testMediaMassGroupMessageSend(String massMsgType, String mediaId) | |||
throws WxErrorException { | |||
WxMpMassGroupMessage massMessage = new WxMpMassGroupMessage(); | |||
massMessage.setMsgtype(massMsgType); | |||
massMessage.setMediaId(mediaId); | |||
massMessage.setGroupId(wxService.getGroupService().groupGet().get(0).getId()); | |||
massMessage | |||
.setGroupId(this.wxService.getGroupService().groupGet().get(0).getId()); | |||
WxMpMassSendResult massResult = wxService.massGroupMessageSend(massMessage); | |||
WxMpMassSendResult massResult = this.wxService | |||
.massGroupMessageSend(massMessage); | |||
Assert.assertNotNull(massResult); | |||
Assert.assertNotNull(massResult.getMsgId()); | |||
} | |||
@@ -86,13 +98,15 @@ public class WxMpMassMessageAPITest { | |||
@DataProvider | |||
public Object[][] massMessages() throws WxErrorException, IOException { | |||
Object[][] messages = new Object[4][]; | |||
/* | |||
* 视频素材 | |||
*/ | |||
{ | |||
try (InputStream inputStream = ClassLoader | |||
.getSystemResourceAsStream("mm.mp4")) { | |||
// 上传视频到媒体库 | |||
InputStream inputStream = ClassLoader.getSystemResourceAsStream("mm.mp4"); | |||
WxMediaUploadResult uploadMediaRes = wxService.getMaterialService().mediaUpload(WxConsts.MEDIA_VIDEO, WxConsts.FILE_MP4, inputStream); | |||
WxMediaUploadResult uploadMediaRes = this.wxService.getMaterialService() | |||
.mediaUpload(WxConsts.MEDIA_VIDEO, WxConsts.FILE_MP4, inputStream); | |||
Assert.assertNotNull(uploadMediaRes); | |||
Assert.assertNotNull(uploadMediaRes.getMediaId()); | |||
@@ -101,38 +115,44 @@ public class WxMpMassMessageAPITest { | |||
video.setTitle("测试标题"); | |||
video.setDescription("测试描述"); | |||
video.setMediaId(uploadMediaRes.getMediaId()); | |||
WxMpMassUploadResult uploadResult = wxService.massVideoUpload(video); | |||
WxMpMassUploadResult uploadResult = this.wxService.massVideoUpload(video); | |||
Assert.assertNotNull(uploadResult); | |||
Assert.assertNotNull(uploadResult.getMediaId()); | |||
messages[0] = new Object[] { WxConsts.MASS_MSG_VIDEO, uploadResult.getMediaId() }; | |||
} | |||
/** | |||
* 图片素材 | |||
*/ | |||
{ | |||
InputStream inputStream = ClassLoader.getSystemResourceAsStream("mm.jpeg"); | |||
WxMediaUploadResult uploadMediaRes = wxService.getMaterialService().mediaUpload(WxConsts.MEDIA_IMAGE, WxConsts.FILE_JPG, inputStream); | |||
try (InputStream inputStream = ClassLoader | |||
.getSystemResourceAsStream("mm.jpeg")) { | |||
WxMediaUploadResult uploadMediaRes = this.wxService.getMaterialService() | |||
.mediaUpload(WxConsts.MEDIA_IMAGE, WxConsts.FILE_JPG, inputStream); | |||
Assert.assertNotNull(uploadMediaRes); | |||
Assert.assertNotNull(uploadMediaRes.getMediaId()); | |||
messages[1] = new Object[] { WxConsts.MASS_MSG_IMAGE, uploadMediaRes.getMediaId() }; | |||
} | |||
/** | |||
* 语音素材 | |||
*/ | |||
{ | |||
InputStream inputStream = ClassLoader.getSystemResourceAsStream("mm.mp3"); | |||
WxMediaUploadResult uploadMediaRes = wxService.getMaterialService().mediaUpload(WxConsts.MEDIA_VOICE, WxConsts.FILE_MP3, inputStream); | |||
try (InputStream inputStream = ClassLoader | |||
.getSystemResourceAsStream("mm.mp3")) { | |||
WxMediaUploadResult uploadMediaRes = this.wxService.getMaterialService() | |||
.mediaUpload(WxConsts.MEDIA_VOICE, WxConsts.FILE_MP3, inputStream); | |||
Assert.assertNotNull(uploadMediaRes); | |||
Assert.assertNotNull(uploadMediaRes.getMediaId()); | |||
messages[2] = new Object[] { WxConsts.MASS_MSG_VOICE, uploadMediaRes.getMediaId() }; | |||
} | |||
/** | |||
* 图文素材 | |||
*/ | |||
{ | |||
try (InputStream inputStream = ClassLoader | |||
.getSystemResourceAsStream("mm.jpeg")) { | |||
// 上传照片到媒体库 | |||
InputStream inputStream = ClassLoader.getSystemResourceAsStream("mm.jpeg"); | |||
WxMediaUploadResult uploadMediaRes = wxService.getMaterialService().mediaUpload(WxConsts.MEDIA_IMAGE, WxConsts.FILE_JPG, inputStream); | |||
WxMediaUploadResult uploadMediaRes = this.wxService.getMaterialService() | |||
.mediaUpload(WxConsts.MEDIA_IMAGE, WxConsts.FILE_JPG, inputStream); | |||
Assert.assertNotNull(uploadMediaRes); | |||
Assert.assertNotNull(uploadMediaRes.getMediaId()); | |||
@@ -154,11 +174,13 @@ public class WxMpMassMessageAPITest { | |||
article2.setDigest("摘要2"); | |||
news.addArticle(article2); | |||
WxMpMassUploadResult massUploadResult = wxService.massNewsUpload(news); | |||
WxMpMassUploadResult massUploadResult = this.wxService | |||
.massNewsUpload(news); | |||
Assert.assertNotNull(massUploadResult); | |||
Assert.assertNotNull(uploadMediaRes.getMediaId()); | |||
messages[3] = new Object[] { WxConsts.MASS_MSG_NEWS, massUploadResult.getMediaId() }; | |||
} | |||
return messages; | |||
} | |||
@@ -163,7 +163,7 @@ public class WxMpMessageRouterTest { | |||
@Override | |||
public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService wxMpService, | |||
WxSessionManager sessionManager) { | |||
sb.append(this.echoStr).append(','); | |||
this.sb.append(this.echoStr).append(','); | |||
return null; | |||
} | |||
@@ -23,7 +23,7 @@ public class WxMpMiscAPITest { | |||
@Test | |||
public void testGetCallbackIP() throws WxErrorException { | |||
String[] ipArray = wxService.getCallbackIP(); | |||
String[] ipArray = this.wxService.getCallbackIP(); | |||
System.out.println(Arrays.toString(ipArray)); | |||
Assert.assertNotNull(ipArray); | |||
Assert.assertNotEquals(ipArray.length, 0); | |||
@@ -20,7 +20,7 @@ public class WxMpShortUrlAPITest { | |||
protected WxMpServiceImpl wxService; | |||
public void testShortUrl() throws WxErrorException { | |||
String shortUrl = wxService.shortUrl("www.baidu.com"); | |||
String shortUrl = this.wxService.shortUrl("www.baidu.com"); | |||
Assert.assertNotNull(shortUrl); | |||
} | |||
@@ -42,7 +42,7 @@ public class WxMpCardServiceImplTest { | |||
public void testCreateCardApiSignature() throws Exception { | |||
//app_id, card_id, card_type, code, openid, location_id | |||
String[] param = {"123", cardId, "", code, openid, ""}; | |||
String[] param = {"123", this.cardId, "", this.code, this.openid, ""}; | |||
WxCardApiSignature cardApiSignature = this.wxService.getCardService().createCardApiSignature(param); | |||
assertNotNull(cardApiSignature); | |||
System.out.println(cardApiSignature); | |||
@@ -58,34 +58,34 @@ public class WxMpCardServiceImplTest { | |||
@Test | |||
public void testQueryCardCode() throws Exception { | |||
WxMpCardResult wxMpCardResult = this.wxService.getCardService().queryCardCode(cardId, code, false); | |||
WxMpCardResult wxMpCardResult = this.wxService.getCardService().queryCardCode(this.cardId, this.code, false); | |||
assertNotNull(wxMpCardResult); | |||
System.out.println(wxMpCardResult); | |||
} | |||
@Test | |||
public void testConsumeCardCode() throws Exception { | |||
String result = this.wxService.getCardService().consumeCardCode(code); | |||
String result = this.wxService.getCardService().consumeCardCode(this.code); | |||
assertNotNull(result); | |||
System.out.println(result); | |||
} | |||
@Test | |||
public void testConsumeCardCodeWithCardId() throws Exception { | |||
String result = this.wxService.getCardService().consumeCardCode(code, cardId); | |||
String result = this.wxService.getCardService().consumeCardCode(this.code, this.cardId); | |||
assertNotNull(result); | |||
System.out.println(result); | |||
} | |||
@Test | |||
public void testMarkCardCode() throws Exception { | |||
this.wxService.getCardService().markCardCode(code, cardId, openid, true); | |||
this.wxService.getCardService().markCardCode(this.code, this.cardId, this.openid, true); | |||
System.out.println("done"); | |||
} | |||
@Test | |||
public void testGetCardDetail() throws Exception { | |||
String result = this.wxService.getCardService().getCardDetail(cardId); | |||
String result = this.wxService.getCardService().getCardDetail(this.cardId); | |||
assertNotNull(result); | |||
System.out.println(result); | |||
} | |||
@@ -35,15 +35,15 @@ public class WxMpGroupServiceImplTest { | |||
Assert.assertNotNull(groupList); | |||
Assert.assertTrue(groupList.size() > 0); | |||
for (WxMpGroup g : groupList) { | |||
group = g; | |||
this.group = g; | |||
Assert.assertNotNull(g.getName()); | |||
} | |||
} | |||
@Test(dependsOnMethods={"testGroupGet", "testGroupCreate"}) | |||
public void getGroupUpdate() throws WxErrorException { | |||
group.setName("分组改名"); | |||
this.wxService.getGroupService().groupUpdate(group); | |||
this.group.setName("分组改名"); | |||
this.wxService.getGroupService().groupUpdate(this.group); | |||
} | |||
} |
@@ -1,6 +1,26 @@ | |||
package me.chanjar.weixin.mp.api.impl; | |||
import static org.junit.Assert.assertEquals; | |||
import static org.junit.Assert.assertNotNull; | |||
import static org.junit.Assert.assertTrue; | |||
import java.io.File; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import java.util.ArrayList; | |||
import java.util.HashMap; | |||
import java.util.Iterator; | |||
import java.util.LinkedHashMap; | |||
import java.util.List; | |||
import java.util.Map; | |||
import java.util.UUID; | |||
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.bean.result.WxMediaUploadResult; | |||
import me.chanjar.weixin.common.exception.WxErrorException; | |||
@@ -9,17 +29,11 @@ import me.chanjar.weixin.mp.api.ApiTestModule; | |||
import me.chanjar.weixin.mp.bean.WxMpMaterial; | |||
import me.chanjar.weixin.mp.bean.WxMpMaterialArticleUpdate; | |||
import me.chanjar.weixin.mp.bean.WxMpMaterialNews; | |||
import me.chanjar.weixin.mp.bean.result.*; | |||
import org.apache.commons.io.IOUtils; | |||
import org.testng.Assert; | |||
import org.testng.annotations.DataProvider; | |||
import org.testng.annotations.Guice; | |||
import org.testng.annotations.Test; | |||
import java.io.File; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import java.util.*; | |||
import me.chanjar.weixin.mp.bean.result.WxMpMaterialCountResult; | |||
import me.chanjar.weixin.mp.bean.result.WxMpMaterialFileBatchGetResult; | |||
import me.chanjar.weixin.mp.bean.result.WxMpMaterialNewsBatchGetResult; | |||
import me.chanjar.weixin.mp.bean.result.WxMpMaterialUploadResult; | |||
import me.chanjar.weixin.mp.bean.result.WxMpMaterialVideoInfoResult; | |||
/** | |||
* 素材管理相关接口的测试 | |||
@@ -56,34 +70,44 @@ public class WxMpMaterialServiceImplTest { | |||
@Test(dataProvider = "uploadMedia") | |||
public void testUploadMaterial(String mediaType, String fileType, String fileName) throws WxErrorException, IOException { | |||
if (wxMaterialCountResultBeforeTest == null) { | |||
wxMaterialCountResultBeforeTest = this.wxService.getMaterialService().materialCount(); | |||
} | |||
InputStream inputStream = ClassLoader.getSystemResourceAsStream(fileName); | |||
File tempFile = FileUtils.createTmpFile(inputStream, UUID.randomUUID().toString(), fileType); | |||
WxMpMaterial wxMaterial = new WxMpMaterial(); | |||
wxMaterial.setFile(tempFile); | |||
wxMaterial.setName(fileName); | |||
if (WxConsts.MEDIA_VIDEO.equals(mediaType)) { | |||
wxMaterial.setVideoTitle("title"); | |||
wxMaterial.setVideoIntroduction("test video description"); | |||
} | |||
WxMpMaterialUploadResult res = this.wxService.getMaterialService().materialFileUpload(mediaType, wxMaterial); | |||
Assert.assertNotNull(res.getMediaId()); | |||
if (WxConsts.MEDIA_IMAGE.equals(mediaType) || WxConsts.MEDIA_THUMB.equals(mediaType)) { | |||
Assert.assertNotNull(res.getUrl()); | |||
} | |||
if (WxConsts.MEDIA_THUMB.equals(mediaType)) { | |||
thumbMediaId = res.getMediaId(); | |||
if (this.wxMaterialCountResultBeforeTest == null) { | |||
this.wxMaterialCountResultBeforeTest = this.wxService.getMaterialService() | |||
.materialCount(); | |||
} | |||
Map<String, Object> materialInfo = new HashMap<>(); | |||
materialInfo.put("media_id", res.getMediaId()); | |||
materialInfo.put("length", tempFile.length()); | |||
materialInfo.put("filename", tempFile.getName()); | |||
media_ids.put(res.getMediaId(), materialInfo); | |||
try (InputStream inputStream = ClassLoader | |||
.getSystemResourceAsStream(fileName)) { | |||
File tempFile = FileUtils.createTmpFile(inputStream, | |||
UUID.randomUUID().toString(), fileType); | |||
WxMpMaterial wxMaterial = new WxMpMaterial(); | |||
wxMaterial.setFile(tempFile); | |||
wxMaterial.setName(fileName); | |||
if (WxConsts.MEDIA_VIDEO.equals(mediaType)) { | |||
wxMaterial.setVideoTitle("title"); | |||
wxMaterial.setVideoIntroduction("test video description"); | |||
} | |||
WxMpMaterialUploadResult res = this.wxService.getMaterialService() | |||
.materialFileUpload(mediaType, wxMaterial); | |||
assertNotNull(res.getMediaId()); | |||
System.out.println(res); | |||
if (WxConsts.MEDIA_IMAGE.equals(mediaType) | |||
|| WxConsts.MEDIA_THUMB.equals(mediaType)) { | |||
assertNotNull(res.getUrl()); | |||
} | |||
if (WxConsts.MEDIA_THUMB.equals(mediaType)) { | |||
this.thumbMediaId = res.getMediaId(); | |||
} | |||
Map<String, Object> materialInfo = new HashMap<>(); | |||
materialInfo.put("media_id", res.getMediaId()); | |||
materialInfo.put("length", tempFile.length()); | |||
materialInfo.put("filename", tempFile.getName()); | |||
this.media_ids.put(res.getMediaId(), materialInfo); | |||
System.out.println(res); | |||
} | |||
} | |||
@Test(dependsOnMethods = {"testUploadMaterial"}) | |||
@@ -93,7 +117,7 @@ public class WxMpMaterialServiceImplTest { | |||
WxMpMaterialNews wxMpMaterialNewsSingle = new WxMpMaterialNews(); | |||
WxMpMaterialNews.WxMpMaterialNewsArticle mpMaterialNewsArticleSingle = new WxMpMaterialNews.WxMpMaterialNewsArticle(); | |||
mpMaterialNewsArticleSingle.setAuthor("author"); | |||
mpMaterialNewsArticleSingle.setThumbMediaId(thumbMediaId); | |||
mpMaterialNewsArticleSingle.setThumbMediaId(this.thumbMediaId); | |||
mpMaterialNewsArticleSingle.setTitle("single title"); | |||
mpMaterialNewsArticleSingle.setContent("single content"); | |||
mpMaterialNewsArticleSingle.setContentSourceUrl("content url"); | |||
@@ -105,7 +129,7 @@ public class WxMpMaterialServiceImplTest { | |||
WxMpMaterialNews wxMpMaterialNewsMultiple = new WxMpMaterialNews(); | |||
WxMpMaterialNews.WxMpMaterialNewsArticle wxMpMaterialNewsArticleMultiple1 = new WxMpMaterialNews.WxMpMaterialNewsArticle(); | |||
wxMpMaterialNewsArticleMultiple1.setAuthor("author1"); | |||
wxMpMaterialNewsArticleMultiple1.setThumbMediaId(thumbMediaId); | |||
wxMpMaterialNewsArticleMultiple1.setThumbMediaId(this.thumbMediaId); | |||
wxMpMaterialNewsArticleMultiple1.setTitle("multi title1"); | |||
wxMpMaterialNewsArticleMultiple1.setContent("content 1"); | |||
wxMpMaterialNewsArticleMultiple1.setContentSourceUrl("content url"); | |||
@@ -114,7 +138,7 @@ public class WxMpMaterialServiceImplTest { | |||
WxMpMaterialNews.WxMpMaterialNewsArticle wxMpMaterialNewsArticleMultiple2 = new WxMpMaterialNews.WxMpMaterialNewsArticle(); | |||
wxMpMaterialNewsArticleMultiple2.setAuthor("author2"); | |||
wxMpMaterialNewsArticleMultiple2.setThumbMediaId(thumbMediaId); | |||
wxMpMaterialNewsArticleMultiple2.setThumbMediaId(this.thumbMediaId); | |||
wxMpMaterialNewsArticleMultiple2.setTitle("multi title2"); | |||
wxMpMaterialNewsArticleMultiple2.setContent("content 2"); | |||
wxMpMaterialNewsArticleMultiple2.setContentSourceUrl("content url"); | |||
@@ -125,81 +149,97 @@ public class WxMpMaterialServiceImplTest { | |||
wxMpMaterialNewsMultiple.addArticle(wxMpMaterialNewsArticleMultiple2); | |||
WxMpMaterialUploadResult resSingle = this.wxService.getMaterialService().materialNewsUpload(wxMpMaterialNewsSingle); | |||
singleNewsMediaId = resSingle.getMediaId(); | |||
this.singleNewsMediaId = resSingle.getMediaId(); | |||
WxMpMaterialUploadResult resMulti = this.wxService.getMaterialService().materialNewsUpload(wxMpMaterialNewsMultiple); | |||
multiNewsMediaId = resMulti.getMediaId(); | |||
this.multiNewsMediaId = resMulti.getMediaId(); | |||
} | |||
@Test(dependsOnMethods = {"testAddNews"}) | |||
public void testMaterialCount() throws WxErrorException { | |||
WxMpMaterialCountResult wxMaterialCountResult = this.wxService.getMaterialService().materialCount(); | |||
// 测试上传过程中添加了一个音频,一个视频,两个图片,两个图文消息 | |||
Assert.assertEquals(wxMaterialCountResultBeforeTest.getVoiceCount() + 1, wxMaterialCountResult.getVoiceCount()); | |||
Assert.assertEquals(wxMaterialCountResultBeforeTest.getVideoCount() + 1, wxMaterialCountResult.getVideoCount()); | |||
Assert.assertEquals(wxMaterialCountResultBeforeTest.getImageCount() + 2, wxMaterialCountResult.getImageCount()); | |||
Assert.assertEquals(wxMaterialCountResultBeforeTest.getNewsCount() + 2, wxMaterialCountResult.getNewsCount()); | |||
assertEquals( | |||
this.wxMaterialCountResultBeforeTest.getVoiceCount() + 1, | |||
wxMaterialCountResult.getVoiceCount()); | |||
assertEquals( | |||
this.wxMaterialCountResultBeforeTest.getVideoCount() + 1, | |||
wxMaterialCountResult.getVideoCount()); | |||
assertEquals( | |||
this.wxMaterialCountResultBeforeTest.getImageCount() + 2, | |||
wxMaterialCountResult.getImageCount()); | |||
assertEquals(this.wxMaterialCountResultBeforeTest.getNewsCount() + 2, | |||
wxMaterialCountResult.getNewsCount()); | |||
} | |||
@Test(dependsOnMethods = {"testMaterialCount"}, dataProvider = "downloadMaterial") | |||
public void testDownloadMaterial(String media_id) throws WxErrorException, IOException { | |||
Map<String, Object> materialInfo = media_ids.get(media_id); | |||
Assert.assertNotNull(materialInfo); | |||
Map<String, Object> materialInfo = this.media_ids.get(media_id); | |||
assertNotNull(materialInfo); | |||
String filename = materialInfo.get("filename").toString(); | |||
if (filename.endsWith(".mp3") || filename.endsWith(".jpeg")) { | |||
InputStream inputStream = this.wxService.getMaterialService().materialImageOrVoiceDownload(media_id); | |||
Assert.assertNotNull(inputStream); | |||
IOUtils.closeQuietly(inputStream); | |||
try (InputStream inputStream = this.wxService.getMaterialService() | |||
.materialImageOrVoiceDownload(media_id)) { | |||
assertNotNull(inputStream); | |||
} | |||
} | |||
if (filename.endsWith("mp4")) { | |||
WxMpMaterialVideoInfoResult wxMaterialVideoInfoResult = this.wxService.getMaterialService().materialVideoInfo(media_id); | |||
Assert.assertNotNull(wxMaterialVideoInfoResult); | |||
Assert.assertNotNull(wxMaterialVideoInfoResult.getDownUrl()); | |||
assertNotNull(wxMaterialVideoInfoResult); | |||
assertNotNull(wxMaterialVideoInfoResult.getDownUrl()); | |||
} | |||
} | |||
@Test(dependsOnMethods = {"testAddNews"}) | |||
public void testGetNewsInfo() throws WxErrorException { | |||
WxMpMaterialNews wxMpMaterialNewsSingle = this.wxService.getMaterialService().materialNewsInfo(singleNewsMediaId); | |||
WxMpMaterialNews wxMpMaterialNewsMultiple = this.wxService.getMaterialService().materialNewsInfo(multiNewsMediaId); | |||
Assert.assertNotNull(wxMpMaterialNewsSingle); | |||
Assert.assertNotNull(wxMpMaterialNewsMultiple); | |||
WxMpMaterialNews wxMpMaterialNewsSingle = this.wxService | |||
.getMaterialService().materialNewsInfo(this.singleNewsMediaId); | |||
WxMpMaterialNews wxMpMaterialNewsMultiple = this.wxService | |||
.getMaterialService().materialNewsInfo(this.multiNewsMediaId); | |||
assertNotNull(wxMpMaterialNewsSingle); | |||
assertNotNull(wxMpMaterialNewsMultiple); | |||
} | |||
@Test(dependsOnMethods = {"testGetNewsInfo"}) | |||
public void testUpdateNewsInfo() throws WxErrorException { | |||
WxMpMaterialNews wxMpMaterialNewsSingle = this.wxService.getMaterialService().materialNewsInfo(singleNewsMediaId); | |||
Assert.assertNotNull(wxMpMaterialNewsSingle); | |||
WxMpMaterialNews wxMpMaterialNewsSingle = this.wxService | |||
.getMaterialService().materialNewsInfo(this.singleNewsMediaId); | |||
assertNotNull(wxMpMaterialNewsSingle); | |||
WxMpMaterialArticleUpdate wxMpMaterialArticleUpdateSingle = new WxMpMaterialArticleUpdate(); | |||
WxMpMaterialNews.WxMpMaterialNewsArticle articleSingle = wxMpMaterialNewsSingle.getArticles().get(0); | |||
articleSingle.setContent("content single update"); | |||
wxMpMaterialArticleUpdateSingle.setMediaId(singleNewsMediaId); | |||
wxMpMaterialArticleUpdateSingle.setMediaId(this.singleNewsMediaId); | |||
wxMpMaterialArticleUpdateSingle.setArticles(articleSingle); | |||
wxMpMaterialArticleUpdateSingle.setIndex(0); | |||
boolean resultSingle = this.wxService.getMaterialService().materialNewsUpdate(wxMpMaterialArticleUpdateSingle); | |||
Assert.assertTrue(resultSingle); | |||
wxMpMaterialNewsSingle = this.wxService.getMaterialService().materialNewsInfo(singleNewsMediaId); | |||
Assert.assertNotNull(wxMpMaterialNewsSingle); | |||
Assert.assertEquals("content single update", wxMpMaterialNewsSingle.getArticles().get(0).getContent()); | |||
assertTrue(resultSingle); | |||
wxMpMaterialNewsSingle = this.wxService.getMaterialService() | |||
.materialNewsInfo(this.singleNewsMediaId); | |||
assertNotNull(wxMpMaterialNewsSingle); | |||
assertEquals("content single update", | |||
wxMpMaterialNewsSingle.getArticles().get(0).getContent()); | |||
WxMpMaterialNews wxMpMaterialNewsMultiple = this.wxService.getMaterialService().materialNewsInfo(multiNewsMediaId); | |||
Assert.assertNotNull(wxMpMaterialNewsMultiple); | |||
WxMpMaterialNews wxMpMaterialNewsMultiple = this.wxService | |||
.getMaterialService().materialNewsInfo(this.multiNewsMediaId); | |||
assertNotNull(wxMpMaterialNewsMultiple); | |||
WxMpMaterialArticleUpdate wxMpMaterialArticleUpdateMulti = new WxMpMaterialArticleUpdate(); | |||
WxMpMaterialNews.WxMpMaterialNewsArticle articleMulti = wxMpMaterialNewsMultiple.getArticles().get(1); | |||
articleMulti.setContent("content 2 update"); | |||
wxMpMaterialArticleUpdateMulti.setMediaId(multiNewsMediaId); | |||
wxMpMaterialArticleUpdateMulti.setMediaId(this.multiNewsMediaId); | |||
wxMpMaterialArticleUpdateMulti.setArticles(articleMulti); | |||
wxMpMaterialArticleUpdateMulti.setIndex(1); | |||
boolean resultMulti = this.wxService.getMaterialService().materialNewsUpdate(wxMpMaterialArticleUpdateMulti); | |||
Assert.assertTrue(resultMulti); | |||
wxMpMaterialNewsMultiple = this.wxService.getMaterialService().materialNewsInfo(multiNewsMediaId); | |||
Assert.assertNotNull(wxMpMaterialNewsMultiple); | |||
Assert.assertEquals("content 2 update", wxMpMaterialNewsMultiple.getArticles().get(1).getContent()); | |||
assertTrue(resultMulti); | |||
wxMpMaterialNewsMultiple = this.wxService.getMaterialService() | |||
.materialNewsInfo(this.multiNewsMediaId); | |||
assertNotNull(wxMpMaterialNewsMultiple); | |||
assertEquals("content 2 update", | |||
wxMpMaterialNewsMultiple.getArticles().get(1).getContent()); | |||
} | |||
@Test(dependsOnMethods = {"testUpdateNewsInfo"}) | |||
public void testMaterialNewsList() throws WxErrorException { | |||
WxMpMaterialNewsBatchGetResult wxMpMaterialNewsBatchGetResult = this.wxService.getMaterialService().materialNewsBatchGet(0, 20); | |||
return; | |||
assertNotNull(wxMpMaterialNewsBatchGetResult); | |||
} | |||
@Test(dependsOnMethods = {"testMaterialNewsList"}) | |||
@@ -207,13 +247,15 @@ public class WxMpMaterialServiceImplTest { | |||
WxMpMaterialFileBatchGetResult wxMpMaterialVoiceBatchGetResult = this.wxService.getMaterialService().materialFileBatchGet(WxConsts.MATERIAL_VOICE, 0, 20); | |||
WxMpMaterialFileBatchGetResult wxMpMaterialVideoBatchGetResult = this.wxService.getMaterialService().materialFileBatchGet(WxConsts.MATERIAL_VIDEO, 0, 20); | |||
WxMpMaterialFileBatchGetResult wxMpMaterialImageBatchGetResult = this.wxService.getMaterialService().materialFileBatchGet(WxConsts.MATERIAL_IMAGE, 0, 20); | |||
return; | |||
assertNotNull(wxMpMaterialVoiceBatchGetResult); | |||
assertNotNull(wxMpMaterialVideoBatchGetResult); | |||
assertNotNull(wxMpMaterialImageBatchGetResult); | |||
} | |||
@Test(dependsOnMethods = {"testMaterialFileList"}, dataProvider = "allTestMaterial") | |||
public void testDeleteMaterial(String mediaId) throws WxErrorException { | |||
boolean result = this.wxService.getMaterialService().materialDelete(mediaId); | |||
Assert.assertTrue(result); | |||
assertTrue(result); | |||
} | |||
@DataProvider | |||
@@ -244,9 +286,9 @@ public class WxMpMaterialServiceImplTest { | |||
public void testUploadMedia(String mediaType, String fileType, String fileName) throws WxErrorException, IOException { | |||
try(InputStream inputStream = ClassLoader.getSystemResourceAsStream(fileName)){ | |||
WxMediaUploadResult res = this.wxService.getMaterialService().mediaUpload(mediaType, fileType, inputStream); | |||
Assert.assertNotNull(res.getType()); | |||
Assert.assertNotNull(res.getCreatedAt()); | |||
Assert.assertTrue(res.getMediaId() != null || res.getThumbMediaId() != null); | |||
assertNotNull(res.getType()); | |||
assertNotNull(res.getCreatedAt()); | |||
assertTrue(res.getMediaId() != null || res.getThumbMediaId() != null); | |||
if (res.getMediaId() != null) { | |||
this.mediaIds.add(res.getMediaId()); | |||
@@ -263,7 +305,7 @@ public class WxMpMaterialServiceImplTest { | |||
@Test(dependsOnMethods = { "testUploadMedia" }, dataProvider="downloadMedia") | |||
public void testDownloadMedia(String media_id) throws WxErrorException { | |||
File file = this.wxService.getMaterialService().mediaDownload(media_id); | |||
Assert.assertNotNull(file); | |||
assertNotNull(file); | |||
System.out.println(file.getAbsolutePath()); | |||
} | |||
@@ -25,12 +25,12 @@ public class WxMpUserServiceImplTest { | |||
protected WxMpServiceImpl wxService; | |||
public void testUserUpdateRemark() throws WxErrorException { | |||
ApiTestModule.WxXmlMpInMemoryConfigStorage configProvider = (ApiTestModule.WxXmlMpInMemoryConfigStorage) wxService.getWxMpConfigStorage(); | |||
ApiTestModule.WxXmlMpInMemoryConfigStorage configProvider = (ApiTestModule.WxXmlMpInMemoryConfigStorage) this.wxService.getWxMpConfigStorage(); | |||
this.wxService.getUserService().userUpdateRemark(configProvider.getOpenId(), "测试备注名"); | |||
} | |||
public void testUserInfo() throws WxErrorException { | |||
ApiTestModule.WxXmlMpInMemoryConfigStorage configProvider = (ApiTestModule.WxXmlMpInMemoryConfigStorage) wxService.getWxMpConfigStorage(); | |||
ApiTestModule.WxXmlMpInMemoryConfigStorage configProvider = (ApiTestModule.WxXmlMpInMemoryConfigStorage) this.wxService.getWxMpConfigStorage(); | |||
WxMpUser user = this.wxService.getUserService().userInfo(configProvider.getOpenId(), null); | |||
Assert.assertNotNull(user); | |||
System.out.println(user); | |||
@@ -46,13 +46,13 @@ public class WxMpUserServiceImplTest { | |||
} | |||
public void testGroupQueryUserGroup() throws WxErrorException { | |||
ApiTestModule.WxXmlMpInMemoryConfigStorage configStorage = (ApiTestModule.WxXmlMpInMemoryConfigStorage) wxService.getWxMpConfigStorage(); | |||
ApiTestModule.WxXmlMpInMemoryConfigStorage configStorage = (ApiTestModule.WxXmlMpInMemoryConfigStorage) this.wxService.getWxMpConfigStorage(); | |||
long groupid = this.wxService.getGroupService().userGetGroup(configStorage.getOpenId()); | |||
Assert.assertTrue(groupid != -1l); | |||
} | |||
public void testGroupMoveUser() throws WxErrorException { | |||
ApiTestModule.WxXmlMpInMemoryConfigStorage configStorage = (ApiTestModule.WxXmlMpInMemoryConfigStorage) wxService.getWxMpConfigStorage(); | |||
ApiTestModule.WxXmlMpInMemoryConfigStorage configStorage = (ApiTestModule.WxXmlMpInMemoryConfigStorage) this.wxService.getWxMpConfigStorage(); | |||
this.wxService.getGroupService().userUpdateGroup(configStorage.getOpenId(), this.wxService.getGroupService().groupGet().get(3).getId()); | |||
} | |||
@@ -16,8 +16,8 @@ public class WxRedpackResultTest { | |||
@Before | |||
public void setup() { | |||
xstream = XStreamInitializer.getInstance(); | |||
xstream.processAnnotations(WxRedpackResult.class); | |||
this.xstream = XStreamInitializer.getInstance(); | |||
this.xstream.processAnnotations(WxRedpackResult.class); | |||
} | |||
@Test public void loadSuccessResult() { | |||
@@ -35,7 +35,7 @@ public class WxRedpackResultTest { | |||
"<send_listid>100000000020150520314766074200</send_listid>\n" + | |||
"<send_time>20150520102602</send_time>\n" + | |||
"</xml>"; | |||
WxRedpackResult wxMpRedpackResult = (WxRedpackResult) xstream.fromXML(successSample); | |||
WxRedpackResult wxMpRedpackResult = (WxRedpackResult) this.xstream.fromXML(successSample); | |||
assertEquals("SUCCESS", wxMpRedpackResult.getReturnCode()); | |||
assertEquals("SUCCESS", wxMpRedpackResult.getResultCode()); | |||
assertEquals("20150520102602", wxMpRedpackResult.getSendTime()); | |||
@@ -54,7 +54,7 @@ public class WxRedpackResultTest { | |||
"<re_openid><![CDATA[onqOjjmM1tad-3ROpncN-yUfa6uI]]></re_openid>\n" + | |||
"<total_amount>1</total_amount>\n" + | |||
"</xml>"; | |||
WxRedpackResult wxMpRedpackResult = (WxRedpackResult) xstream.fromXML(failureSample); | |||
WxRedpackResult wxMpRedpackResult = (WxRedpackResult) this.xstream.fromXML(failureSample); | |||
assertEquals("FAIL", wxMpRedpackResult.getReturnCode()); | |||
assertEquals("FAIL", wxMpRedpackResult.getResultCode()); | |||
assertEquals("onqOjjmM1tad-3ROpncN-yUfa6uI", wxMpRedpackResult.getReOpenid()); | |||
@@ -30,7 +30,7 @@ public class DemoGuessNumberHandler implements WxMpMessageHandler, WxMpMessageMa | |||
} | |||
private boolean isUserAnswering(WxMpXmlMessage message) { | |||
return pattern.matcher(message.getContent()).matches(); | |||
return this.pattern.matcher(message.getContent()).matches(); | |||
} | |||
@Override | |||
@@ -68,7 +68,7 @@ public class DemoGuessNumberHandler implements WxMpMessageHandler, WxMpMessageMa | |||
} | |||
session.setAttribute("guessing", Boolean.TRUE); | |||
session.setAttribute("number", random.nextInt(100)); | |||
session.setAttribute("number", this.random.nextInt(100)); | |||
} | |||
@@ -15,8 +15,8 @@ class WxMpDemoInMemoryConfigStorage extends WxMpInMemoryConfigStorage { | |||
@Override | |||
public String toString() { | |||
return "SimpleWxConfigProvider [appId=" + appId + ", secret=" + secret + ", accessToken=" + accessToken | |||
+ ", expiresTime=" + expiresTime + ", token=" + token + ", aesKey=" + aesKey + "]"; | |||
return "SimpleWxConfigProvider [appId=" + this.appId + ", secret=" + this.secret + ", accessToken=" + this.accessToken | |||
+ ", expiresTime=" + this.expiresTime + ", token=" + this.token + ", aesKey=" + this.aesKey + "]"; | |||
} | |||
@@ -1,13 +1,18 @@ | |||
package me.chanjar.weixin.mp.demo; | |||
import me.chanjar.weixin.common.api.WxConsts; | |||
import me.chanjar.weixin.mp.api.*; | |||
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl; | |||
import java.io.IOException; | |||
import java.io.InputStream; | |||
import org.eclipse.jetty.server.Server; | |||
import org.eclipse.jetty.servlet.ServletHandler; | |||
import org.eclipse.jetty.servlet.ServletHolder; | |||
import java.io.InputStream; | |||
import me.chanjar.weixin.common.api.WxConsts; | |||
import me.chanjar.weixin.mp.api.WxMpConfigStorage; | |||
import me.chanjar.weixin.mp.api.WxMpMessageHandler; | |||
import me.chanjar.weixin.mp.api.WxMpMessageRouter; | |||
import me.chanjar.weixin.mp.api.WxMpService; | |||
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl; | |||
public class WxMpDemoServer { | |||
@@ -23,10 +28,13 @@ public class WxMpDemoServer { | |||
ServletHandler servletHandler = new ServletHandler(); | |||
server.setHandler(servletHandler); | |||
ServletHolder endpointServletHolder = new ServletHolder(new WxMpEndpointServlet(wxMpConfigStorage, wxMpService, wxMpMessageRouter)); | |||
ServletHolder endpointServletHolder = new ServletHolder( | |||
new WxMpEndpointServlet(wxMpConfigStorage, wxMpService, | |||
wxMpMessageRouter)); | |||
servletHandler.addServletWithMapping(endpointServletHolder, "/*"); | |||
ServletHolder oauthServletHolder = new ServletHolder(new WxMpOAuth2Servlet(wxMpService)); | |||
ServletHolder oauthServletHolder = new ServletHolder( | |||
new WxMpOAuth2Servlet(wxMpService)); | |||
servletHandler.addServletWithMapping(oauthServletHolder, "/oauth2/*"); | |||
server.start(); | |||
@@ -34,27 +42,30 @@ public class WxMpDemoServer { | |||
} | |||
private static void initWeixin() { | |||
InputStream is1 = ClassLoader.getSystemResourceAsStream("test-config.xml"); | |||
WxMpDemoInMemoryConfigStorage config = WxMpDemoInMemoryConfigStorage.fromXml(is1); | |||
wxMpConfigStorage = config; | |||
wxMpService = new WxMpServiceImpl(); | |||
wxMpService.setWxMpConfigStorage(config); | |||
WxMpMessageHandler logHandler = new DemoLogHandler(); | |||
WxMpMessageHandler textHandler = new DemoTextHandler(); | |||
WxMpMessageHandler imageHandler = new DemoImageHandler(); | |||
WxMpMessageHandler oauth2handler = new DemoOAuth2Handler(); | |||
DemoGuessNumberHandler guessNumberHandler = new DemoGuessNumberHandler(); | |||
wxMpMessageRouter = new WxMpMessageRouter(wxMpService); | |||
wxMpMessageRouter | |||
.rule().handler(logHandler).next() | |||
.rule().msgType(WxConsts.XML_MSG_TEXT).matcher(guessNumberHandler).handler(guessNumberHandler).end() | |||
.rule().async(false).content("哈哈").handler(textHandler).end() | |||
.rule().async(false).content("图片").handler(imageHandler).end() | |||
.rule().async(false).content("oauth").handler(oauth2handler).end() | |||
; | |||
try (InputStream is1 = ClassLoader | |||
.getSystemResourceAsStream("test-config.xml")) { | |||
WxMpDemoInMemoryConfigStorage config = WxMpDemoInMemoryConfigStorage | |||
.fromXml(is1); | |||
wxMpConfigStorage = config; | |||
wxMpService = new WxMpServiceImpl(); | |||
wxMpService.setWxMpConfigStorage(config); | |||
WxMpMessageHandler logHandler = new DemoLogHandler(); | |||
WxMpMessageHandler textHandler = new DemoTextHandler(); | |||
WxMpMessageHandler imageHandler = new DemoImageHandler(); | |||
WxMpMessageHandler oauth2handler = new DemoOAuth2Handler(); | |||
DemoGuessNumberHandler guessNumberHandler = new DemoGuessNumberHandler(); | |||
wxMpMessageRouter = new WxMpMessageRouter(wxMpService); | |||
wxMpMessageRouter.rule().handler(logHandler).next().rule() | |||
.msgType(WxConsts.XML_MSG_TEXT).matcher(guessNumberHandler) | |||
.handler(guessNumberHandler).end().rule().async(false).content("哈哈") | |||
.handler(textHandler).end().rule().async(false).content("图片") | |||
.handler(imageHandler).end().rule().async(false).content("oauth") | |||
.handler(oauth2handler).end(); | |||
} catch (IOException e) { | |||
e.printStackTrace(); | |||
} | |||
} | |||
} |
@@ -18,6 +18,10 @@ import java.io.IOException; | |||
*/ | |||
public class WxMpEndpointServlet extends HttpServlet { | |||
/** | |||
* | |||
*/ | |||
private static final long serialVersionUID = 1L; | |||
protected WxMpConfigStorage wxMpConfigStorage; | |||
protected WxMpService wxMpService; | |||
protected WxMpMessageRouter wxMpMessageRouter; | |||
@@ -39,7 +43,7 @@ public class WxMpEndpointServlet extends HttpServlet { | |||
String nonce = request.getParameter("nonce"); | |||
String timestamp = request.getParameter("timestamp"); | |||
if (!wxMpService.checkSignature(timestamp, nonce, signature)) { | |||
if (!this.wxMpService.checkSignature(timestamp, nonce, signature)) { | |||
// 消息签名不正确,说明不是公众平台发过来的消息 | |||
response.getWriter().println("非法请求"); | |||
return; | |||
@@ -59,7 +63,7 @@ public class WxMpEndpointServlet extends HttpServlet { | |||
if ("raw".equals(encryptType)) { | |||
// 明文传输的消息 | |||
WxMpXmlMessage inMessage = WxMpXmlMessage.fromXml(request.getInputStream()); | |||
WxMpXmlOutMessage outMessage = wxMpMessageRouter.route(inMessage); | |||
WxMpXmlOutMessage outMessage = this.wxMpMessageRouter.route(inMessage); | |||
if (outMessage != null) { | |||
response.getWriter().write(outMessage.toXml()); | |||
} | |||
@@ -69,9 +73,9 @@ public class WxMpEndpointServlet extends HttpServlet { | |||
if ("aes".equals(encryptType)) { | |||
// 是aes加密的消息 | |||
String msgSignature = request.getParameter("msg_signature"); | |||
WxMpXmlMessage inMessage = WxMpXmlMessage.fromEncryptedXml(request.getInputStream(), wxMpConfigStorage, timestamp, nonce, msgSignature); | |||
WxMpXmlOutMessage outMessage = wxMpMessageRouter.route(inMessage); | |||
response.getWriter().write(outMessage.toEncryptedXml(wxMpConfigStorage)); | |||
WxMpXmlMessage inMessage = WxMpXmlMessage.fromEncryptedXml(request.getInputStream(), this.wxMpConfigStorage, timestamp, nonce, msgSignature); | |||
WxMpXmlOutMessage outMessage = this.wxMpMessageRouter.route(inMessage); | |||
response.getWriter().write(outMessage.toEncryptedXml(this.wxMpConfigStorage)); | |||
return; | |||
} | |||
@@ -13,6 +13,10 @@ import java.io.IOException; | |||
public class WxMpOAuth2Servlet extends HttpServlet { | |||
/** | |||
* | |||
*/ | |||
private static final long serialVersionUID = 1L; | |||
protected WxMpService wxMpService; | |||
public WxMpOAuth2Servlet(WxMpService wxMpService) { | |||
@@ -30,15 +34,15 @@ public class WxMpOAuth2Servlet extends HttpServlet { | |||
response.getWriter().println("<h1>code</h1>"); | |||
response.getWriter().println(code); | |||
WxMpOAuth2AccessToken wxMpOAuth2AccessToken = wxMpService.oauth2getAccessToken(code); | |||
WxMpOAuth2AccessToken wxMpOAuth2AccessToken = this.wxMpService.oauth2getAccessToken(code); | |||
response.getWriter().println("<h1>access token</h1>"); | |||
response.getWriter().println(wxMpOAuth2AccessToken.toString()); | |||
WxMpUser wxMpUser = wxMpService.oauth2getUserInfo(wxMpOAuth2AccessToken, null); | |||
WxMpUser wxMpUser = this.wxMpService.oauth2getUserInfo(wxMpOAuth2AccessToken, null); | |||
response.getWriter().println("<h1>user info</h1>"); | |||
response.getWriter().println(wxMpUser.toString()); | |||
wxMpOAuth2AccessToken = wxMpService.oauth2refreshAccessToken(wxMpOAuth2AccessToken.getRefreshToken()); | |||
wxMpOAuth2AccessToken = this.wxMpService.oauth2refreshAccessToken(wxMpOAuth2AccessToken.getRefreshToken()); | |||
response.getWriter().println("<h1>after refresh</h1>"); | |||
response.getWriter().println(wxMpOAuth2AccessToken.toString()); | |||