Kaynağa Gözat

#541 企业号增加实现管理标签的(获取标签成员)接口

* 定义《企业号应用》的bean

* 增加《获取企业号应用》接口实现

* 增加获取测试企业号应用信息测试类

* tag service增加获取标签成员方法
http://qydev.weixin.qq.com/wiki/index.php?title=管理标签
master
huansinho 6 yıl önce
committed by Binary Wang
ebeveyn
işleme
74faa2a03e
4 değiştirilmiş dosya ile 110 ekleme ve 0 silme
  1. +13
    -0
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpTagService.java
  2. +15
    -0
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpTagServiceImpl.java
  3. +57
    -0
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpTagGetResult.java
  4. +25
    -0
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpTagServiceImplTest.java

+ 13
- 0
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpTagService.java Dosyayı Görüntüle

@@ -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;

}

+ 15
- 0
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpTagServiceImpl.java Dosyayı Görüntüle

@@ -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);
}
}

+ 57
- 0
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpTagGetResult.java Dosyayı Görüntüle

@@ -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);
}

}

+ 25
- 0
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpTagServiceImplTest.java Dosyayı Görüntüle

@@ -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());


}

}

Yükleniyor…
İptal
Kaydet