mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-09-21 02:58:09 +08:00
添加获取标签下粉丝列表的接口
This commit is contained in:
@@ -1,10 +1,11 @@
|
|||||||
package me.chanjar.weixin.mp.api;
|
package me.chanjar.weixin.mp.api;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import me.chanjar.weixin.common.exception.WxErrorException;
|
import me.chanjar.weixin.common.exception.WxErrorException;
|
||||||
|
import me.chanjar.weixin.mp.bean.tag.WxTagListUser;
|
||||||
import me.chanjar.weixin.mp.bean.tag.WxUserTag;
|
import me.chanjar.weixin.mp.bean.tag.WxUserTag;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户标签管理相关接口
|
* 用户标签管理相关接口
|
||||||
* Created by Binary Wang on 2016/9/2.
|
* Created by Binary Wang on 2016/9/2.
|
||||||
@@ -55,4 +56,14 @@ public interface WxMpUserTagService {
|
|||||||
*/
|
*/
|
||||||
Boolean tagDelete(Integer id) throws WxErrorException;
|
Boolean tagDelete(Integer id) 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/user/tag/get?access_token=ACCESS_TOKEN
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
WxTagListUser tagListUser(Integer tagId, String nextOpenid) throws WxErrorException;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -1,17 +1,17 @@
|
|||||||
package me.chanjar.weixin.mp.api.impl;
|
package me.chanjar.weixin.mp.api.impl;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
import me.chanjar.weixin.common.bean.result.WxError;
|
import me.chanjar.weixin.common.bean.result.WxError;
|
||||||
import me.chanjar.weixin.common.exception.WxErrorException;
|
import me.chanjar.weixin.common.exception.WxErrorException;
|
||||||
import me.chanjar.weixin.mp.api.WxMpService;
|
import me.chanjar.weixin.mp.api.WxMpService;
|
||||||
import me.chanjar.weixin.mp.api.WxMpUserTagService;
|
import me.chanjar.weixin.mp.api.WxMpUserTagService;
|
||||||
|
import me.chanjar.weixin.mp.bean.tag.WxTagListUser;
|
||||||
import me.chanjar.weixin.mp.bean.tag.WxUserTag;
|
import me.chanjar.weixin.mp.bean.tag.WxUserTag;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -92,4 +92,18 @@ public class WxMpUserTagServiceImpl implements WxMpUserTagService {
|
|||||||
|
|
||||||
throw new WxErrorException(wxError);
|
throw new WxErrorException(wxError);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public WxTagListUser tagListUser(Integer tagId, String nextOpenid) throws WxErrorException {
|
||||||
|
String url = "https://api.weixin.qq.com/cgi-bin/user/tag/get";
|
||||||
|
|
||||||
|
JsonObject json = new JsonObject();
|
||||||
|
json.addProperty("tagid", tagId);
|
||||||
|
json.addProperty("next_openid", StringUtils.trimToEmpty(nextOpenid));
|
||||||
|
|
||||||
|
String responseContent = this.wxMpService.post(url, json.toString());
|
||||||
|
this.log.debug("\nurl:{}\nparams:{}\nresponse:{}", url, json.toString(),
|
||||||
|
responseContent);
|
||||||
|
return WxTagListUser.fromJson(responseContent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -0,0 +1,92 @@
|
|||||||
|
package me.chanjar.weixin.mp.bean.tag;
|
||||||
|
|
||||||
|
import com.google.gson.annotations.SerializedName;
|
||||||
|
import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
|
||||||
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取标签下粉丝列表的结果对象
|
||||||
|
* @author binarywang(https://github.com/binarywang)
|
||||||
|
* Created by Binary Wang on 2016-09-19.
|
||||||
|
*/
|
||||||
|
public class WxTagListUser {
|
||||||
|
|
||||||
|
public static WxTagListUser fromJson(String json) {
|
||||||
|
return WxMpGsonBuilder.create().fromJson(json,WxTagListUser.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toJson() {
|
||||||
|
return WxMpGsonBuilder.create().toJson(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*"count":2,这次获取的粉丝数量
|
||||||
|
*/
|
||||||
|
@SerializedName("count")
|
||||||
|
private Integer count;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*"data" 粉丝列表
|
||||||
|
*/
|
||||||
|
@SerializedName("data")
|
||||||
|
private WxTagListUserData data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*"next_openid" 拉取列表最后一个用户的openid
|
||||||
|
*/
|
||||||
|
@SerializedName("next_openid")
|
||||||
|
private String nextOpenid;
|
||||||
|
|
||||||
|
public Integer getCount() {
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCount(Integer count) {
|
||||||
|
this.count = count;
|
||||||
|
}
|
||||||
|
|
||||||
|
public WxTagListUserData getData() {
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setData(WxTagListUserData data) {
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNextOpenid() {
|
||||||
|
return nextOpenid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNextOpenid(String nextOpenid) {
|
||||||
|
this.nextOpenid = nextOpenid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class WxTagListUserData {
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* openid 列表
|
||||||
|
*/
|
||||||
|
@SerializedName("openid")
|
||||||
|
private List<String> openidList;
|
||||||
|
|
||||||
|
public List<String> getOpenidList() {
|
||||||
|
return openidList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOpenidList(List<String> openidList) {
|
||||||
|
this.openidList = openidList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -1,15 +1,14 @@
|
|||||||
package me.chanjar.weixin.mp.api.impl;
|
package me.chanjar.weixin.mp.api.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import com.google.inject.Inject;
|
||||||
|
import me.chanjar.weixin.mp.api.ApiTestModule;
|
||||||
|
import me.chanjar.weixin.mp.bean.tag.WxTagListUser;
|
||||||
|
import me.chanjar.weixin.mp.bean.tag.WxUserTag;
|
||||||
import org.testng.Assert;
|
import org.testng.Assert;
|
||||||
import org.testng.annotations.Guice;
|
import org.testng.annotations.Guice;
|
||||||
import org.testng.annotations.Test;
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
import com.google.inject.Inject;
|
import java.util.List;
|
||||||
|
|
||||||
import me.chanjar.weixin.mp.api.ApiTestModule;
|
|
||||||
import me.chanjar.weixin.mp.bean.tag.WxUserTag;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -22,7 +21,7 @@ public class WxMpUserTagServiceImplTest {
|
|||||||
@Inject
|
@Inject
|
||||||
protected WxMpServiceImpl wxService;
|
protected WxMpServiceImpl wxService;
|
||||||
|
|
||||||
private Integer tagId;
|
private Integer tagId = 2;
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testTagCreate() throws Exception {
|
public void testTagCreate() throws Exception {
|
||||||
@@ -55,4 +54,10 @@ public class WxMpUserTagServiceImplTest {
|
|||||||
Assert.assertTrue(res);
|
Assert.assertTrue(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
@Test
|
||||||
|
public void testTagListUser() throws Exception {
|
||||||
|
WxTagListUser res = this.wxService.getUserTagService().tagListUser(this.tagId, null);
|
||||||
|
System.out.println(res);
|
||||||
|
Assert.assertNotNull(res);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user