From 6e32028c501ad195d52ec2b5f5368f985d4d89e6 Mon Sep 17 00:00:00 2001 From: BinaryWang Date: Wed, 21 Sep 2016 20:54:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=89=B9=E9=87=8F=E4=B8=BA?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=8F=96=E6=B6=88=E6=A0=87=E7=AD=BE=E7=9A=84?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weixin/mp/api/WxMpUserTagService.java | 10 ++++++++ .../mp/api/impl/WxMpUserTagServiceImpl.java | 23 +++++++++++++++++++ .../api/impl/WxMpUserTagServiceImplTest.java | 4 ++-- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpUserTagService.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpUserTagService.java index 6592865d..3bbe98ee 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpUserTagService.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpUserTagService.java @@ -76,4 +76,14 @@ public interface WxMpUserTagService { */ boolean batchTagging(Integer tagId, String[] openids) throws WxErrorException; + /** + *
+   * 批量为用户取消标签
+   * 详情请见:用户标签管理
+   * 接口url格式: https://api.weixin.qq.com/cgi-bin/tags/members/batchtagging?access_token=ACCESS_TOKEN
+   * 
+ * + */ + boolean batchUntagging(Integer tagId, String[] openids) throws WxErrorException; + } diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpUserTagServiceImpl.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpUserTagServiceImpl.java index d10c92dd..1d7ea0ff 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpUserTagServiceImpl.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpUserTagServiceImpl.java @@ -130,4 +130,27 @@ public class WxMpUserTagServiceImpl implements WxMpUserTagService { throw new WxErrorException(wxError); } + + @Override + public boolean batchUntagging(Integer tagId, String[] openids) throws WxErrorException { + String url = "https://api.weixin.qq.com/cgi-bin/tags/members/batchuntagging"; + + JsonObject json = new JsonObject(); + json.addProperty("tagid", tagId); + JsonArray openidArrayJson = new JsonArray(); + for (String openid : openids) { + openidArrayJson.add(openid); + } + json.add("openid_list", openidArrayJson); + + String responseContent = this.wxMpService.post(url, json.toString()); + this.log.debug("\nurl:{}\nparams:{}\nresponse:{}", url, json.toString(), + responseContent); + WxError wxError = WxError.fromJson(responseContent); + if (wxError.getErrorCode() == 0) { + return true; + } + + throw new WxErrorException(wxError); + } } diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpUserTagServiceImplTest.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpUserTagServiceImplTest.java index 7593ab13..8422ab66 100644 --- a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpUserTagServiceImplTest.java +++ b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpUserTagServiceImplTest.java @@ -62,9 +62,9 @@ public class WxMpUserTagServiceImplTest { } @Test - public void testBatchTagging() throws Exception { + public void testBatchUntagging() throws Exception { String[] openids = new String[]{((ApiTestModule.WxXmlMpInMemoryConfigStorage) this.wxService.getWxMpConfigStorage()).getOpenid()}; - boolean res = this.wxService.getUserTagService().batchTagging(this.tagId, openids); + boolean res = this.wxService.getUserTagService().batchUntagging(this.tagId, openids); System.out.println(res); Assert.assertTrue(res); }