Przeglądaj źródła

#456 企业微信获取部门列表接口方法listAll修改为list,以支持按部分id获取其下属部门列表

master
Binary Wang 6 lat temu
rodzic
commit
0c7a472a16
4 zmienionych plików z 30 dodań i 14 usunięć
  1. +6
    -0
      weixin-java-cp/pom.xml
  2. +4
    -3
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpDepartmentService.java
  3. +5
    -5
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpDepartmentServiceImpl.java
  4. +15
    -6
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpDepartmentServiceImplTest.java

+ 6
- 0
weixin-java-cp/pom.xml Wyświetl plik

@@ -73,6 +73,12 @@
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>

<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-guava</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>


+ 4
- 3
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpDepartmentService.java Wyświetl plik

@@ -29,11 +29,12 @@ public interface WxCpDepartmentService {

/**
* <pre>
* 部门管理接口 - 查询所有部门
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=部门管理接口
* 部门管理接口 - 查询部门
* 详情请见: http://qydev.weixin.qq.com/wiki/index.php?title=%E7%AE%A1%E7%90%86%E9%83%A8%E9%97%A8#.E8.8E.B7.E5.8F.96.E9.83.A8.E9.97.A8.E5.88.97.E8.A1.A8
* </pre>
* @param id 部门id。获取指定部门及其下的子部门。非必需,可为null
*/
List<WxCpDepart> listAll() throws WxErrorException;
List<WxCpDepart> list(Integer id) throws WxErrorException;

/**
* <pre>


+ 5
- 5
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpDepartmentServiceImpl.java Wyświetl plik

@@ -48,13 +48,13 @@ public class WxCpDepartmentServiceImpl implements WxCpDepartmentService {
}

@Override
public List<WxCpDepart> listAll() throws WxErrorException {
public List<WxCpDepart> list(Integer id) throws WxErrorException {
String url = "https://qyapi.weixin.qq.com/cgi-bin/department/list";
if (id != null) {
url += "?id=" + id;
}

String responseContent = this.mainService.get(url, null);
/*
* 操蛋的微信API,创建时返回的是 { group : { id : ..., name : ...} }
* 查询时返回的是 { groups : [ { id : ..., name : ..., count : ... }, ... ] }
*/
JsonElement tmpJsonElement = new JsonParser().parse(responseContent);
return WxCpGsonBuilder.INSTANCE.create()
.fromJson(tmpJsonElement.getAsJsonObject().get("department"),


+ 15
- 6
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpDepartmentServiceImplTest.java Wyświetl plik

@@ -8,6 +8,7 @@ import org.testng.annotations.*;

import java.util.List;

import static org.assertj.core.api.Assertions.assertThat;
import static org.testng.Assert.*;

/**
@@ -34,16 +35,24 @@ public class WxCpDepartmentServiceImplTest {
System.out.println(departId);
}

@Test
public void testListAll() throws Exception {
@DataProvider
public Object[][] departIds(){
return new Object[][]{
{null},
{1},
{5}
};
}

@Test(dataProvider = "departIds")
public void testList(Integer id) throws Exception {
System.out.println("=================获取部门");
List<WxCpDepart> departList = this.wxCpService.getDepartmentService().listAll();
assertNotNull(departList);
assertTrue(departList.size() > 0);
List<WxCpDepart> departList = this.wxCpService.getDepartmentService().list(id);
assertThat(departList).isNotEmpty();
for (WxCpDepart g : departList) {
this.depart = g;
System.out.println(this.depart.getId() + ":" + this.depart.getName());
assertNotNull(g.getName());
assertThat(g.getName()).isNotBlank();
}
}



Ładowanie…
Anuluj
Zapisz