From e89e988c627c705a0d36c3183db84d377dd43fc0 Mon Sep 17 00:00:00 2001 From: jinyu Date: Sat, 18 Apr 2015 21:29:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=AC=E4=BC=97=E5=8F=B7=EF=BC=9A=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E5=AE=A2=E6=9C=8D=E6=8E=A5=E5=8F=A3=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E5=90=8D=20&=20=E6=96=B0=E5=A2=9E=E4=BA=8C=E7=BB=B4?= =?UTF-8?q?=E7=A0=81=E6=8E=A5=E5=8F=A3=E8=8E=B7=E5=8F=96=E4=BA=8C=E7=BB=B4?= =?UTF-8?q?=E7=A0=81url=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGE.md | 8 +- README.md | 8 +- weixin4j-mp/README.md | 10 ++- weixin4j-mp/weixin4j-mp-api/README.md | 8 +- .../com/foxinmy/weixin4j/mp/WeixinProxy.java | 76 ++++++++++++------- .../foxinmy/weixin4j/mp/api/CustomApi.java | 10 +-- .../com/foxinmy/weixin4j/mp/api/MediaApi.java | 31 +++++++- .../com/foxinmy/weixin4j/mp/api/QrApi.java | 32 ++++++-- .../foxinmy/weixin4j/mp/test/MediaTest.java | 7 ++ .../com/foxinmy/weixin4j/mp/test/QRTest.java | 6 +- .../weixin4j/mp/test/msg/CustomTest.java | 10 +-- .../com/foxinmy/weixin4j/qy/WeixinProxy.java | 1 + 12 files changed, 151 insertions(+), 56 deletions(-) diff --git a/CHANGE.md b/CHANGE.md index 7cd804a5..8d46fdf5 100644 --- a/CHANGE.md +++ b/CHANGE.md @@ -246,4 +246,10 @@ + **weixin4j-mp**: 调整[二维码参数](./weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/model/QRParameter.java)类 - + **weixin4j-mp**: 新增获取[自定义菜单配置、自动回复配置](./weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/HelperApi.java)接口 \ No newline at end of file + + **weixin4j-mp**: 新增获取[自定义菜单配置、自动回复配置](./weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/HelperApi.java)接口 + +* 2015-04-18 + + + **weixin4j-mp**: 调整[客服接口](./weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/CustomApi.java)类的方法名 + + + **weixin4j-mp**: 在[二维码接口](./weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/QRApi.java)类新增获取二维码url方法 \ No newline at end of file diff --git a/README.md b/README.md index 1d9c5259..97f6ddec 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,10 @@ netty的代码没有放到maven中心仓库,也没什么意义,因为最终需 接下来 ------ +* 被动消息服务重构 + +![消息分发](http://7mj4zs.com1.z0.glb.clouddn.com/weixin4j.png) + * 公众号第三方服务应用 * 企业号第三方应用 & 企业号登陆授权 @@ -79,6 +83,4 @@ netty的代码没有放到maven中心仓库,也没什么意义,因为最终需 * 微信小店 -* 微信卡券 - -![消息分发](http://7mj4zs.com1.z0.glb.clouddn.com/weixin4j.png) \ No newline at end of file +* 微信卡券 \ No newline at end of file diff --git a/weixin4j-mp/README.md b/weixin4j-mp/README.md index fe2b390f..47677ecd 100644 --- a/weixin4j-mp/README.md +++ b/weixin4j-mp/README.md @@ -220,6 +220,12 @@ weixin4j-mp * 2015-04-16 - + **weixin4j-mp**: 调整[二维码参数](./weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/model/QRParameter.java)类 + + **weixin4j-mp-api**: 调整[二维码参数](./weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/model/QRParameter.java)类 - + **weixin4j-mp**: 新增获取[自定义菜单配置、自动回复配置](./weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/HelperApi.java)接口 \ No newline at end of file + + **weixin4j-mp-api**: 新增获取[自定义菜单配置、自动回复配置](./weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/HelperApi.java)接口 + +* 2015-04-18 + + + **weixin4j-mp-api**: 调整[客服接口](./weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/CustomApi.java)类的方法名 + + + **weixin4j-mp-api**: 在[二维码接口](./weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/QRApi.java)类新增获取二维码url方法 \ No newline at end of file diff --git a/weixin4j-mp/weixin4j-mp-api/README.md b/weixin4j-mp/weixin4j-mp-api/README.md index 982bdac8..aa9ef265 100644 --- a/weixin4j-mp/weixin4j-mp-api/README.md +++ b/weixin4j-mp/weixin4j-mp-api/README.md @@ -197,4 +197,10 @@ weixin.properties说明 + **weixin4j-mp-api**: 调整[二维码参数](./src/main/java/com/foxinmy/weixin4j/mp/model/QRParameter.java)类 - + **weixin4j-mp-api**: 新增获取[自定义菜单配置、自动回复配置](./src/main/java/com/foxinmy/weixin4j/mp/api/HelperApi.java)接口 \ No newline at end of file + + **weixin4j-mp-api**: 新增获取[自定义菜单配置、自动回复配置](./src/main/java/com/foxinmy/weixin4j/mp/api/HelperApi.java)接口 + +* 2015-04-18 + + + 调整[客服接口](./src/main/java/com/foxinmy/weixin4j/mp/api/CustomApi.java)类的方法名 + + + 在[二维码接口](./src/main/java/com/foxinmy/weixin4j/mp/api/QRApi.java)类新增获取二维码url方法 \ No newline at end of file diff --git a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/WeixinProxy.java b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/WeixinProxy.java index 5ad2aeed..a8246e10 100644 --- a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/WeixinProxy.java +++ b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/WeixinProxy.java @@ -28,6 +28,7 @@ import com.foxinmy.weixin4j.mp.model.Group; import com.foxinmy.weixin4j.mp.model.KfAccount; import com.foxinmy.weixin4j.mp.model.KfSession; import com.foxinmy.weixin4j.mp.model.MediaCounter; +import com.foxinmy.weixin4j.mp.model.MediaItem; import com.foxinmy.weixin4j.mp.model.MediaRecord; import com.foxinmy.weixin4j.mp.model.MenuSetting; import com.foxinmy.weixin4j.mp.model.QRParameter; @@ -87,6 +88,7 @@ public class WeixinProxy { /** * TokenHolder对象 * + * @see com.foxinmy.weixin4j.token.TokenHolder * @param tokenHolder */ public WeixinProxy(TokenHolder tokenHolder) { @@ -342,6 +344,21 @@ public class WeixinProxy { return mediaApi.listMaterialMedia(mediaType, offset, count); } + /** + * 获取全部的媒体素材 + * + * @param mediaType + * 媒体类型 + * @return 素材列表 + * @see com.foxinmy.weixin4j.mp.api.MediaApi + * @see {@link com.foxinmy.weixin4j.mp.WeixinProxy#listMaterialMedia(MediaType, int, int)} + * @throws WeixinException + */ + public List listAllMaterialMedia(MediaType mediaType) + throws WeixinException { + return mediaApi.listAllMaterialMedia(mediaType); + } + /** * 发送客服消息(在48小时内不限制发送次数) * @@ -389,7 +406,7 @@ public class WeixinProxy { * @param endtime * 查询结束时间 每次查询不能跨日查询 * @param pagesize - * 每页大小 每页最多拉取1000条 + * 每页大小 每页最多拉取50条 * @param pageindex * 查询第几页 从1开始 * @see com.foxinmy.weixin4j.mp.model.CustomRecord @@ -512,7 +529,7 @@ public class WeixinProxy { } /** - * 创建会话 + * 创建客服会话 *

* 开发者可以使用本接口,为多客服的客服工号创建会话,将某个客户直接指定给客服工号接待,需要注意此接口不会受客服自动接入数以及自动接入开关限制。 * 只能为在线的客服(PC客户端在线,或者已绑定多客服助手)创建会话。 @@ -530,13 +547,13 @@ public class WeixinProxy { * @see 创建会话 */ - public JsonResult createSession(String userOpenId, String kfAccount, + public JsonResult createKfSession(String userOpenId, String kfAccount, String text) throws WeixinException { - return customApi.createSession(userOpenId, kfAccount, text); + return customApi.createKfSession(userOpenId, kfAccount, text); } /** - * 关闭会话 + * 关闭客服会话 * * @param userOpenId * 用户的userOpenId @@ -550,9 +567,9 @@ public class WeixinProxy { * @see 创建会话 */ - public JsonResult closeSession(String userOpenId, String kfAccount, + public JsonResult closeKfSession(String userOpenId, String kfAccount, String text) throws WeixinException { - return customApi.closeSession(userOpenId, kfAccount, text); + return customApi.closeKfSession(userOpenId, kfAccount, text); } /** @@ -567,8 +584,8 @@ public class WeixinProxy { * @see 获取会话状态 */ - public KfSession getSession(String userOpenId) throws WeixinException { - return customApi.getSession(userOpenId); + public KfSession getKfSession(String userOpenId) throws WeixinException { + return customApi.getKfSession(userOpenId); } /** @@ -583,9 +600,9 @@ public class WeixinProxy { * @see 获取客服的会话列表 */ - public List getSessionList(String kfAccount) + public List getKfSessionList(String kfAccount) throws WeixinException { - return customApi.getSessionList(kfAccount); + return customApi.getKfSessionList(kfAccount); } /** @@ -599,12 +616,12 @@ public class WeixinProxy { * @see 获取客服的会话列表 */ - public List getSessionWaitList() throws WeixinException { - return customApi.getSessionWaitList(); + public List getKfSessionWaitList() throws WeixinException { + return customApi.getKfSessionWaitList(); } /** - * 上传图文消息,一个图文消息支持1到10条图文 + * 上传群发的图文消息,一个图文消息支持1到10条图文 * * @param articles * 图片消息 @@ -615,7 +632,7 @@ public class WeixinProxy { * @see com.foxinmy.weixin4j.msg.model.MpArticle * @see com.foxinmy.weixin4j.mp.api.MassApi */ - public String uploadArticle(List articles) + public String uploadMassArticle(List articles) throws WeixinException { return massApi.uploadArticle(articles); } @@ -635,7 +652,7 @@ public class WeixinProxy { * @see com.foxinmy.weixin4j.msg.model.MpVideo * @see {@link com.foxinmy.weixin4j.mp.api.MediaApi#uploadMedia(File)} */ - public String uploadVideo(Video video) throws WeixinException { + public String uploadMassVideo(Video video) throws WeixinException { return massApi.uploadVideo(video); } @@ -958,7 +975,6 @@ public class WeixinProxy { * @see 修改分组名 * @see com.foxinmy.weixin4j.mp.model.Group - * @see com.foxinmy.weixin4j.mp.model.Group#toModifyJson() * @see com.foxinmy.weixin4j.mp.api.GroupApi */ public JsonResult modifyGroup(int groupId, String name) @@ -1067,6 +1083,7 @@ public class WeixinProxy { * 二维码参数 * @return byte数据包 * @throws WeixinException + * @see com.foxinmy.weixin4j.mp.model.QRParameter * @see com.foxinmy.weixin4j.mp.api.QrApi * @see 生成二维码 @@ -1077,21 +1094,24 @@ public class WeixinProxy { /** * 生成带参数的二维码 - *

- * 二维码分为临时跟永久两种,扫描时触发推送带参数事件 - *

* - * @param parameter - * 二维码参数 + * @return 二维码图片解析后的地址 开发者可根据该地址自行生成需要的二维码图片 + * @throws WeixinException + * @see {@link com.foxinmy.weixin4j.mp.WeixinProxy#getQRData(QRParameter)} + */ + public String getQRUrl(QRParameter parameter) throws WeixinException { + return qrApi.getQRUrl(parameter); + } + + /** + * 生成带参数的二维码 + * * @return 硬盘存储的文件对象 * @throws WeixinException - * @see 二维码 - * @see com.foxinmy.weixin4j.mp.model.QRParameter - * @see com.foxinmy.weixin4j.mp.api.QrApi + * @see {@link com.foxinmy.weixin4j.mp.WeixinProxy#getQRData(QRParameter)} */ - public File getQR(QRParameter parameter) throws WeixinException { - return qrApi.getQR(parameter); + public File getQRFile(QRParameter parameter) throws WeixinException { + return qrApi.getQRFile(parameter); } /** diff --git a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/CustomApi.java b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/CustomApi.java index 5dd066b4..719ec4df 100644 --- a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/CustomApi.java +++ b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/CustomApi.java @@ -244,7 +244,7 @@ public class CustomApi extends MpApi { * @see 创建会话 */ - public JsonResult createSession(String userOpenId, String kfAccount, + public JsonResult createKfSession(String userOpenId, String kfAccount, String text) throws WeixinException { Token token = tokenHolder.getToken(); String kfsession_create_uri = getRequestUri("kfsession_create_uri"); @@ -273,7 +273,7 @@ public class CustomApi extends MpApi { * @see 创建会话 */ - public JsonResult closeSession(String userOpenId, String kfAccount, + public JsonResult closeKfSession(String userOpenId, String kfAccount, String text) throws WeixinException { Token token = tokenHolder.getToken(); String kfsession_close_uri = getRequestUri("kfsession_close_uri"); @@ -299,7 +299,7 @@ public class CustomApi extends MpApi { * @see 获取会话状态 */ - public KfSession getSession(String userOpenId) throws WeixinException { + public KfSession getKfSession(String userOpenId) throws WeixinException { Token token = tokenHolder.getToken(); String kfsession_get_uri = getRequestUri("kfsession_get_uri"); Response response = request.get(String.format(kfsession_get_uri, @@ -323,7 +323,7 @@ public class CustomApi extends MpApi { * @see 获取客服的会话列表 */ - public List getSessionList(String kfAccount) + public List getKfSessionList(String kfAccount) throws WeixinException { Token token = tokenHolder.getToken(); String kfsession_list_uri = getRequestUri("kfsession_list_uri"); @@ -344,7 +344,7 @@ public class CustomApi extends MpApi { * @see 获取客服的会话列表 */ - public List getSessionWaitList() throws WeixinException { + public List getKfSessionWaitList() throws WeixinException { Token token = tokenHolder.getToken(); String kfsession_wait_uri = getRequestUri("kfsession_wait_uri"); Response response = request.get(String.format(kfsession_wait_uri, diff --git a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java index 9d4d5cb5..4e568a69 100644 --- a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java +++ b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/MediaApi.java @@ -6,6 +6,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.io.UnsupportedEncodingException; +import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.StringUtils; @@ -423,8 +424,8 @@ public class MediaApi extends MpApi { obj.toJSONString()); MediaRecord mediaRecord = null; if (mediaType == MediaType.news) { - mediaRecord = JSON.parseObject(response.getAsString(), MediaRecord.class, - new ExtraProcessor() { + mediaRecord = JSON.parseObject(response.getAsString(), + MediaRecord.class, new ExtraProcessor() { @Override public void processExtra(Object object, String key, Object value) { @@ -444,4 +445,30 @@ public class MediaApi extends MpApi { mediaRecord.setMediaType(mediaType); return mediaRecord; } + + /** + * 获取全部的媒体素材 + * + * @param mediaType + * 媒体类型 + * @return 素材列表 + * @see {@link com.foxinmy.weixin4j.mp.api.MediaApi#listMaterialMedia(MediaType, int, int)} + * @throws WeixinException + */ + public List listAllMaterialMedia(MediaType mediaType) + throws WeixinException { + int offset = 0; + int count = 20; + List mediaList = new ArrayList(); + MediaRecord mediaRecord = null; + for (;;) { + mediaRecord = listMaterialMedia(mediaType, offset, count); + mediaList.addAll(mediaRecord.getItems()); + if (offset >= mediaRecord.getTotalCount()) { + break; + } + offset += count; + } + return mediaList; + } } diff --git a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/QrApi.java b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/QrApi.java index a5686821..c671d6ca 100644 --- a/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/QrApi.java +++ b/weixin4j-mp/weixin4j-mp-api/src/main/java/com/foxinmy/weixin4j/mp/api/QrApi.java @@ -5,6 +5,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; +import com.alibaba.fastjson.JSONObject; import com.foxinmy.weixin4j.exception.WeixinException; import com.foxinmy.weixin4j.http.Response; import com.foxinmy.weixin4j.model.Token; @@ -35,20 +36,39 @@ public class QrApi extends MpApi { * * @param parameter * 二维码参数 - * @return byte数据包 + * @return 二维码图片解析后的地址 开发者可根据该地址自行生成需要的二维码图片 * @throws WeixinException * @see 生成二维码 */ - public byte[] getQRData(QRParameter parameter) throws WeixinException { + public String getQRUrl(QRParameter parameter) throws WeixinException { + return doQR(parameter).getString("url"); + } + + private JSONObject doQR(QRParameter parameter) throws WeixinException { Token token = tokenHolder.getToken(); String qr_uri = getRequestUri("qr_ticket_uri"); Response response = request.post( String.format(qr_uri, token.getAccessToken()), parameter.getContent()); - String ticket = response.getAsJson().getString("ticket"); - qr_uri = getRequestUri("qr_image_uri"); - response = request.get(String.format(qr_uri, ticket)); + return response.getAsJson(); + } + + /** + * 生成带参数的二维码 + * + * @param parameter + * 二维码参数 + * @return byte数据包 + * @throws WeixinException + * @see com.foxinmy.weixin4j.mp.model.QRParameter + * @see 生成二维码 + */ + public byte[] getQRData(QRParameter parameter) throws WeixinException { + String ticket = doQR(parameter).getString("ticket"); + String qr_uri = getRequestUri("qr_image_uri"); + Response response = request.get(String.format(qr_uri, ticket)); return response.getBody(); } @@ -67,7 +87,7 @@ public class QrApi extends MpApi { * href="mp.weixin.qq.com/wiki/18/28fc21e7ed87bec960651f0ce873ef8a.html">二维码 * @see com.foxinmy.weixin4j.mp.model.QRParameter */ - public File getQR(QRParameter parameter) throws WeixinException { + public File getQRFile(QRParameter parameter) throws WeixinException { String qr_path = ConfigUtil.getValue("qr_path"); String filename = String.format("%s_%s_%d.jpg", parameter.getQrType() .name(), parameter.getSceneValue(), parameter diff --git a/weixin4j-mp/weixin4j-mp-api/src/test/java/com/foxinmy/weixin4j/mp/test/MediaTest.java b/weixin4j-mp/weixin4j-mp-api/src/test/java/com/foxinmy/weixin4j/mp/test/MediaTest.java index 2482ed42..14c160ae 100644 --- a/weixin4j-mp/weixin4j-mp-api/src/test/java/com/foxinmy/weixin4j/mp/test/MediaTest.java +++ b/weixin4j-mp/weixin4j-mp-api/src/test/java/com/foxinmy/weixin4j/mp/test/MediaTest.java @@ -13,6 +13,7 @@ import com.foxinmy.weixin4j.exception.WeixinException; import com.foxinmy.weixin4j.http.JsonResult; import com.foxinmy.weixin4j.mp.api.MediaApi; import com.foxinmy.weixin4j.mp.model.MediaCounter; +import com.foxinmy.weixin4j.mp.model.MediaItem; import com.foxinmy.weixin4j.mp.model.MediaRecord; import com.foxinmy.weixin4j.msg.model.MpArticle; import com.foxinmy.weixin4j.type.MediaType; @@ -128,4 +129,10 @@ public class MediaTest extends TokenTest { 20); System.err.println(mediaRecord); } + + @Test + public void listAllMaterialMedia() throws WeixinException { + List mediaList = mediaApi.listAllMaterialMedia(MediaType.image); + System.err.println(mediaList); + } } diff --git a/weixin4j-mp/weixin4j-mp-api/src/test/java/com/foxinmy/weixin4j/mp/test/QRTest.java b/weixin4j-mp/weixin4j-mp-api/src/test/java/com/foxinmy/weixin4j/mp/test/QRTest.java index 82bcbc96..632493b4 100644 --- a/weixin4j-mp/weixin4j-mp-api/src/test/java/com/foxinmy/weixin4j/mp/test/QRTest.java +++ b/weixin4j-mp/weixin4j-mp-api/src/test/java/com/foxinmy/weixin4j/mp/test/QRTest.java @@ -29,19 +29,19 @@ public class QRTest extends TokenTest { @Test public void temp_qr() throws WeixinException, IOException { - File file = qrApi.getQR(QRParameter.createTemporary(1200, 1200)); + File file = qrApi.getQRFile(QRParameter.createTemporary(1200, 1200)); Assert.assertTrue(file.exists()); } @Test public void forever_qr_int() throws WeixinException, IOException { - File file = qrApi.getQR(QRParameter.createPermanenceInt(1200)); + File file = qrApi.getQRFile(QRParameter.createPermanenceInt(1200)); Assert.assertTrue(file.exists()); } @Test public void forever_qr_str() throws WeixinException, IOException { - File file = qrApi.getQR(QRParameter.createPermanenceStr("1200中文")); + File file = qrApi.getQRFile(QRParameter.createPermanenceStr("1200中文")); Assert.assertTrue(file.exists()); } } diff --git a/weixin4j-mp/weixin4j-mp-api/src/test/java/com/foxinmy/weixin4j/mp/test/msg/CustomTest.java b/weixin4j-mp/weixin4j-mp-api/src/test/java/com/foxinmy/weixin4j/mp/test/msg/CustomTest.java index 09c46693..ddd8598b 100644 --- a/weixin4j-mp/weixin4j-mp-api/src/test/java/com/foxinmy/weixin4j/mp/test/msg/CustomTest.java +++ b/weixin4j-mp/weixin4j-mp-api/src/test/java/com/foxinmy/weixin4j/mp/test/msg/CustomTest.java @@ -88,14 +88,14 @@ public class CustomTest extends TokenTest { @Test public void createSession() throws WeixinException { - JsonResult result = customApi.createSession( + JsonResult result = customApi.createKfSession( "opKwyt6IhrqPmTTZshyqH5W9gIVo", "kfAccount", "text"); Assert.assertEquals(0, result.getCode()); } @Test public void closeSession() throws WeixinException { - JsonResult result = customApi.closeSession( + JsonResult result = customApi.closeKfSession( "opKwyt6IhrqPmTTZshyqH5W9gIVo", "kfAccount", "text"); Assert.assertEquals(0, result.getCode()); } @@ -103,19 +103,19 @@ public class CustomTest extends TokenTest { @Test public void getSession() throws WeixinException { KfSession session = customApi - .getSession("oz5axuNnJim8yTYs_jzE1bWFj9eA"); + .getKfSession("oz5axuNnJim8yTYs_jzE1bWFj9eA"); System.err.println(session); } @Test public void getSessionList() throws WeixinException { - List sessionList = customApi.getSessionList("kfAccount"); + List sessionList = customApi.getKfSessionList("kfAccount"); System.err.println(sessionList); } @Test public void getSessionWaitList() throws WeixinException { - List sessionList = customApi.getSessionWaitList(); + List sessionList = customApi.getKfSessionWaitList(); System.err.println(sessionList); } } diff --git a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java index 650ed925..7f2f50e5 100644 --- a/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java +++ b/weixin4j-qy/weixin4j-qy-api/src/main/java/com/foxinmy/weixin4j/qy/WeixinProxy.java @@ -74,6 +74,7 @@ public class WeixinProxy { /** * TokenHolder对象 * + * @see com.foxinmy.weixin4j.token.TokenHolder * @param tokenHolder */ public WeixinProxy(TokenHolder tokenHolder) {