* 定义《企业号应用》的bean * 增加《获取企业号应用》接口实现 * 增加获取测试企业号应用信息测试类 * tag service增加获取标签成员方法 http://qydev.weixin.qq.com/wiki/index.php?title=管理标签master
| @@ -3,6 +3,7 @@ package me.chanjar.weixin.cp.api; | |||||
| import me.chanjar.weixin.common.exception.WxErrorException; | import me.chanjar.weixin.common.exception.WxErrorException; | ||||
| import me.chanjar.weixin.cp.bean.WxCpTag; | import me.chanjar.weixin.cp.bean.WxCpTag; | ||||
| import me.chanjar.weixin.cp.bean.WxCpTagAddOrRemoveUsersResult; | 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.bean.WxCpUser; | ||||
| import java.util.List; | import java.util.List; | ||||
| @@ -63,4 +64,16 @@ public interface WxCpTagService { | |||||
| * @param userIds 用户id列表 | * @param userIds 用户id列表 | ||||
| */ | */ | ||||
| WxCpTagAddOrRemoveUsersResult removeUsersFromTag(String tagId, List<String> userIds) throws WxErrorException; | 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.api.WxCpTagService; | ||||
| import me.chanjar.weixin.cp.bean.WxCpTag; | import me.chanjar.weixin.cp.bean.WxCpTag; | ||||
| import me.chanjar.weixin.cp.bean.WxCpTagAddOrRemoveUsersResult; | 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.bean.WxCpUser; | ||||
| import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder; | 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())); | 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.common.base.Splitter; | ||||
| import com.google.inject.Inject; | 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.ApiTestModule; | ||||
| import me.chanjar.weixin.cp.api.WxCpService; | 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.WxCpTag; | ||||
| import me.chanjar.weixin.cp.bean.WxCpTagAddOrRemoveUsersResult; | 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.bean.WxCpUser; | ||||
| import org.testng.annotations.*; | import org.testng.annotations.*; | ||||
| import java.util.List; | import java.util.List; | ||||
| import static org.mockito.Mockito.mock; | |||||
| import static org.mockito.Mockito.when; | |||||
| import static org.testng.Assert.*; | import static org.testng.Assert.*; | ||||
| /** | /** | ||||
| @@ -72,4 +77,24 @@ public class WxCpTagServiceImplTest { | |||||
| this.wxService.getTagService().delete(this.tagId); | 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()); | |||||
| } | |||||
| } | } | ||||