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 6592865d6..3bbe98ee2 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 d10c92dde..1d7ea0ff8 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 7593ab139..8422ab66f 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); }