mirror of
				https://gitee.com/binary/weixin-java-tools.git
				synced 2025-10-31 10:38:42 +08:00 
			
		
		
		
	#541 企业号增加实现管理标签的(获取标签成员)接口
* 定义《企业号应用》的bean * 增加《获取企业号应用》接口实现 * 增加获取测试企业号应用信息测试类 * tag service增加获取标签成员方法 http://qydev.weixin.qq.com/wiki/index.php?title=管理标签
This commit is contained in:
		| @ -3,6 +3,7 @@ package me.chanjar.weixin.cp.api; | ||||
| import me.chanjar.weixin.common.exception.WxErrorException; | ||||
| import me.chanjar.weixin.cp.bean.WxCpTag; | ||||
| import me.chanjar.weixin.cp.bean.WxCpTagAddOrRemoveUsersResult; | ||||
| import me.chanjar.weixin.cp.bean.WxCpTagGetResult; | ||||
| import me.chanjar.weixin.cp.bean.WxCpUser; | ||||
|  | ||||
| import java.util.List; | ||||
| @ -63,4 +64,16 @@ public interface WxCpTagService { | ||||
|    * @param userIds 用户id列表 | ||||
|    */ | ||||
|   WxCpTagAddOrRemoveUsersResult removeUsersFromTag(String tagId, List<String> userIds) throws WxErrorException; | ||||
|  | ||||
|  | ||||
|   /** | ||||
|    * 获取标签成员 | ||||
|    * 对应: http://qydev.weixin.qq.com/wiki/index.php?title=管理标签 中的get接口 | ||||
|    * | ||||
|    * @param tagId | ||||
|    * @return | ||||
|    * @throws WxErrorException | ||||
|    */ | ||||
|   WxCpTagGetResult get(String tagId) throws WxErrorException; | ||||
|  | ||||
| } | ||||
|  | ||||
| @ -7,6 +7,7 @@ import me.chanjar.weixin.cp.api.WxCpService; | ||||
| import me.chanjar.weixin.cp.api.WxCpTagService; | ||||
| import me.chanjar.weixin.cp.bean.WxCpTag; | ||||
| import me.chanjar.weixin.cp.bean.WxCpTagAddOrRemoveUsersResult; | ||||
| import me.chanjar.weixin.cp.bean.WxCpTagGetResult; | ||||
| import me.chanjar.weixin.cp.bean.WxCpUser; | ||||
| import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder; | ||||
|  | ||||
| @ -113,4 +114,18 @@ public class WxCpTagServiceImpl implements WxCpTagService { | ||||
|  | ||||
|     return WxCpTagAddOrRemoveUsersResult.fromJson(this.mainService.post(url, jsonObject.toString())); | ||||
|   } | ||||
|  | ||||
|   @Override | ||||
|   public WxCpTagGetResult get(String tagId) throws WxErrorException { | ||||
|     String url = "https://qyapi.weixin.qq.com/cgi-bin/tag/get"; | ||||
|     if (tagId != null) { | ||||
|       url += "?tagId=" + tagId; | ||||
|     } else { | ||||
|       throw new IllegalArgumentException("缺少tagId参数"); | ||||
|     } | ||||
|  | ||||
|     String responseContent = this.mainService.get(url, null); | ||||
|  | ||||
|     return WxCpTagGetResult.fromJson(responseContent); | ||||
|   } | ||||
| } | ||||
|  | ||||
| @ -0,0 +1,57 @@ | ||||
| package me.chanjar.weixin.cp.bean; | ||||
|  | ||||
| import com.google.gson.annotations.SerializedName; | ||||
| import lombok.AllArgsConstructor; | ||||
| import lombok.Data; | ||||
| import lombok.NoArgsConstructor; | ||||
| import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder; | ||||
|  | ||||
| import java.io.Serializable; | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * <pre> | ||||
|  *  管理企业号应用-测试 | ||||
|  *  Created by huansinho on 2018/4/16. | ||||
|  * </pre> | ||||
|  * | ||||
|  * @author <a href="https://github.com/huansinho">huansinho</a> | ||||
|  */ | ||||
| @Data | ||||
| @AllArgsConstructor | ||||
| @NoArgsConstructor | ||||
| public class WxCpTagGetResult implements Serializable { | ||||
|  | ||||
|   @SerializedName("errcode") | ||||
|   private Integer errcode; | ||||
|  | ||||
|   @SerializedName("errmsg") | ||||
|   private String errmsg; | ||||
|  | ||||
|   /** | ||||
|    * 用户列表 | ||||
|    */ | ||||
|   @SerializedName("userlist") | ||||
|   private List<WxCpUser> userlist; | ||||
|  | ||||
|   /** | ||||
|    * 部门列表 | ||||
|    */ | ||||
|   @SerializedName("partylist") | ||||
|   private List<Integer> partylist; | ||||
|  | ||||
|   /** | ||||
|    * 标签名称 | ||||
|    */ | ||||
|   @SerializedName("tagname") | ||||
|   private String tagname; | ||||
|  | ||||
|   public static WxCpTagGetResult fromJson(String json) { | ||||
|     return WxCpGsonBuilder.create().fromJson(json, WxCpTagGetResult.class); | ||||
|   } | ||||
|  | ||||
|   public String toJson() { | ||||
|     return WxCpGsonBuilder.create().toJson(this); | ||||
|   } | ||||
|  | ||||
| } | ||||
| @ -2,15 +2,20 @@ package me.chanjar.weixin.cp.api.impl; | ||||
|  | ||||
| import com.google.common.base.Splitter; | ||||
| import com.google.inject.Inject; | ||||
| import me.chanjar.weixin.common.exception.WxErrorException; | ||||
| import me.chanjar.weixin.cp.api.ApiTestModule; | ||||
| import me.chanjar.weixin.cp.api.WxCpService; | ||||
| import me.chanjar.weixin.cp.api.WxCpTagService; | ||||
| import me.chanjar.weixin.cp.bean.WxCpTag; | ||||
| import me.chanjar.weixin.cp.bean.WxCpTagAddOrRemoveUsersResult; | ||||
| import me.chanjar.weixin.cp.bean.WxCpTagGetResult; | ||||
| import me.chanjar.weixin.cp.bean.WxCpUser; | ||||
| import org.testng.annotations.*; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import static org.mockito.Mockito.mock; | ||||
| import static org.mockito.Mockito.when; | ||||
| import static org.testng.Assert.*; | ||||
|  | ||||
| /** | ||||
| @ -72,4 +77,24 @@ public class WxCpTagServiceImplTest { | ||||
|     this.wxService.getTagService().delete(this.tagId); | ||||
|   } | ||||
|  | ||||
|   @Test | ||||
|   public void testGet() throws WxErrorException { | ||||
|     String apiResultJson = "{\"errcode\": 0,\"errmsg\": \"ok\",\"userlist\": [{\"userid\": \"0124035\",\"name\": \"王五\"},{\"userid\": \"0114035\",\"name\": \"梦雪\"}],\"partylist\": [9576,9567,9566],\"tagname\": \"测试标签-001\"}"; | ||||
|     WxCpService wxService = mock(WxCpService.class); | ||||
|     when(wxService.get("https://qyapi.weixin.qq.com/cgi-bin/tag/get?tagId=150", null)).thenReturn(apiResultJson); | ||||
|     when(wxService.getTagService()).thenReturn(new WxCpTagServiceImpl(wxService)); | ||||
|  | ||||
|     WxCpTagService wxCpTagService = wxService.getTagService(); | ||||
|  | ||||
|     WxCpTagGetResult wxCpTagGetResult = wxCpTagService.get(String.valueOf(150)); | ||||
|  | ||||
|     assertEquals(0, wxCpTagGetResult.getErrcode().intValue()); | ||||
|  | ||||
|     assertEquals(2, wxCpTagGetResult.getUserlist().size()); | ||||
|     assertEquals(3, wxCpTagGetResult.getPartylist().size()); | ||||
|     assertEquals("测试标签-001", wxCpTagGetResult.getTagname()); | ||||
|  | ||||
|  | ||||
|   } | ||||
|  | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 huansinho
					huansinho