Browse Source

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

master
Binary Wang 6 years ago
parent
commit
0c7a472a16
4 changed files with 30 additions and 14 deletions
  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 View File

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

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


<build> <build>


+ 4
- 3
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpDepartmentService.java View File

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


/** /**
* <pre> * <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> * </pre>
* @param id 部门id。获取指定部门及其下的子部门。非必需,可为null
*/ */
List<WxCpDepart> listAll() throws WxErrorException;
List<WxCpDepart> list(Integer id) throws WxErrorException;


/** /**
* <pre> * <pre>


+ 5
- 5
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpDepartmentServiceImpl.java View File

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


@Override @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"; String url = "https://qyapi.weixin.qq.com/cgi-bin/department/list";
if (id != null) {
url += "?id=" + id;
}

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


+ 15
- 6
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpDepartmentServiceImplTest.java View File

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


import java.util.List; import java.util.List;


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


/** /**
@@ -34,16 +35,24 @@ public class WxCpDepartmentServiceImplTest {
System.out.println(departId); 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("=================获取部门"); 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) { for (WxCpDepart g : departList) {
this.depart = g; this.depart = g;
System.out.println(this.depart.getId() + ":" + this.depart.getName()); System.out.println(this.depart.getId() + ":" + this.depart.getName());
assertNotNull(g.getName());
assertThat(g.getName()).isNotBlank();
} }
} }




Loading…
Cancel
Save