@@ -76,4 +76,14 @@ public interface WxMpUserTagService { | |||||
*/ | */ | ||||
boolean batchTagging(Integer tagId, String[] openids) throws WxErrorException; | boolean batchTagging(Integer tagId, String[] openids) throws WxErrorException; | ||||
/** | |||||
* <pre> | |||||
* 批量为用户取消标签 | |||||
* 详情请见:<a href="http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140837&token=&lang=zh_CN">用户标签管理</a> | |||||
* 接口url格式: https://api.weixin.qq.com/cgi-bin/tags/members/batchtagging?access_token=ACCESS_TOKEN | |||||
* </pre> | |||||
* | |||||
*/ | |||||
boolean batchUntagging(Integer tagId, String[] openids) throws WxErrorException; | |||||
} | } |
@@ -130,4 +130,27 @@ public class WxMpUserTagServiceImpl implements WxMpUserTagService { | |||||
throw new WxErrorException(wxError); | 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); | |||||
} | |||||
} | } |
@@ -62,9 +62,9 @@ public class WxMpUserTagServiceImplTest { | |||||
} | } | ||||
@Test | @Test | ||||
public void testBatchTagging() throws Exception { | |||||
public void testBatchUntagging() throws Exception { | |||||
String[] openids = new String[]{((ApiTestModule.WxXmlMpInMemoryConfigStorage) this.wxService.getWxMpConfigStorage()).getOpenid()}; | 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); | System.out.println(res); | ||||
Assert.assertTrue(res); | Assert.assertTrue(res); | ||||
} | } | ||||