mirror of
				https://gitee.com/binary/weixin-java-tools.git
				synced 2025-10-31 10:38:42 +08:00 
			
		
		
		
	添加获取标签下粉丝列表的接口
This commit is contained in:
		| @ -1,10 +1,11 @@ | ||||
| package me.chanjar.weixin.mp.api; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import me.chanjar.weixin.common.exception.WxErrorException; | ||||
| import me.chanjar.weixin.mp.bean.tag.WxTagListUser; | ||||
| import me.chanjar.weixin.mp.bean.tag.WxUserTag; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * 用户标签管理相关接口 | ||||
|  * Created by Binary Wang on 2016/9/2. | ||||
| @ -55,4 +56,14 @@ public interface WxMpUserTagService { | ||||
|    */ | ||||
|   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; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
|  | ||||
| import com.google.gson.JsonObject; | ||||
|  | ||||
| import me.chanjar.weixin.common.bean.result.WxError; | ||||
| import me.chanjar.weixin.common.exception.WxErrorException; | ||||
| import me.chanjar.weixin.mp.api.WxMpService; | ||||
| import me.chanjar.weixin.mp.api.WxMpUserTagService; | ||||
| import me.chanjar.weixin.mp.bean.tag.WxTagListUser; | ||||
| 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); | ||||
|   } | ||||
|  | ||||
|   @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; | ||||
|  | ||||
| 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.annotations.Guice; | ||||
| import org.testng.annotations.Test; | ||||
|  | ||||
| import com.google.inject.Inject; | ||||
|  | ||||
| import me.chanjar.weixin.mp.api.ApiTestModule; | ||||
| import me.chanjar.weixin.mp.bean.tag.WxUserTag; | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * | ||||
| @ -22,7 +21,7 @@ public class WxMpUserTagServiceImplTest { | ||||
|   @Inject | ||||
|   protected WxMpServiceImpl wxService; | ||||
|  | ||||
|   private Integer tagId; | ||||
|   private Integer tagId = 2; | ||||
|  | ||||
|   @Test | ||||
|   public void testTagCreate() throws Exception { | ||||
| @ -55,4 +54,10 @@ public class WxMpUserTagServiceImplTest { | ||||
|     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
	 BinaryWang
					BinaryWang