diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpDepartmentService.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpDepartmentService.java index 45da3c0d..8a8ca054 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpDepartmentService.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpDepartmentService.java @@ -1,10 +1,10 @@ package me.chanjar.weixin.cp.api; +import java.util.List; + import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.cp.bean.WxCpDepart; -import java.util.List; - /** *
* 部门管理接口
@@ -17,42 +17,47 @@ public interface WxCpDepartmentService {
/**
*
- * 部门管理接口 - 创建部门
+ * 部门管理接口 - 创建部门.
* 最多支持创建500个部门
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=部门管理接口
*
*
* @param depart 部门
* @return 部门id
+ * @throws WxErrorException 异常
*/
Integer create(WxCpDepart depart) throws WxErrorException;
/**
*
- * 部门管理接口 - 查询部门
+ * 部门管理接口 - 查询部门.
* 详情请见: 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
*
+ *
* @param id 部门id。获取指定部门及其下的子部门。非必需,可为null
+ * @throws WxErrorException 异常
*/
- List list(Integer id) throws WxErrorException;
+ List list(Long id) throws WxErrorException;
/**
*
- * 部门管理接口 - 修改部门名
+ * 部门管理接口 - 修改部门名.
* 详情请见: http://mp.weixin.qq.com/wiki/index.php?title=部门管理接口
* 如果id为0(未部门),1(黑名单),2(星标组),或者不存在的id,微信会返回系统繁忙的错误
*
*
* @param group 要更新的group,group的id,name必须设置
+ * @throws WxErrorException 异常
*/
void update(WxCpDepart group) throws WxErrorException;
/**
*
- * 部门管理接口 - 删除部门
+ * 部门管理接口 - 删除部门.
*
*
* @param departId 部门id
+ * @throws WxErrorException 异常
*/
- void delete(Integer departId) throws WxErrorException;
+ void delete(Long departId) throws WxErrorException;
}
diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpDepartmentServiceImpl.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpDepartmentServiceImpl.java
index 66452199..f880db90 100644
--- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpDepartmentServiceImpl.java
+++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpDepartmentServiceImpl.java
@@ -1,5 +1,7 @@
package me.chanjar.weixin.cp.api.impl;
+import java.util.List;
+
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
@@ -10,8 +12,6 @@ import me.chanjar.weixin.cp.api.WxCpService;
import me.chanjar.weixin.cp.bean.WxCpDepart;
import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder;
-import java.util.List;
-
/**
*
* 部门管理接口
@@ -42,13 +42,13 @@ public class WxCpDepartmentServiceImpl implements WxCpDepartmentService {
}
@Override
- public void delete(Integer departId) throws WxErrorException {
+ public void delete(Long departId) throws WxErrorException {
String url = "https://qyapi.weixin.qq.com/cgi-bin/department/delete?id=" + departId;
this.mainService.get(url, null);
}
@Override
- public List list(Integer id) throws WxErrorException {
+ public List list(Long id) throws WxErrorException {
String url = "https://qyapi.weixin.qq.com/cgi-bin/department/list";
if (id != null) {
url += "?id=" + id;
diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpDepart.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpDepart.java
index 2890ce61..dc71e027 100644
--- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpDepart.java
+++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpDepart.java
@@ -1,10 +1,10 @@
package me.chanjar.weixin.cp.bean;
+import java.io.Serializable;
+
import lombok.Data;
import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder;
-import java.io.Serializable;
-
/**
* 微信部门.
*
@@ -14,9 +14,9 @@ import java.io.Serializable;
public class WxCpDepart implements Serializable {
private static final long serialVersionUID = -5028321625140879571L;
- private Integer id;
+ private Long id;
private String name;
- private Integer parentId;
+ private Long parentId;
private Long order;
public static WxCpDepart fromJson(String json) {
diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpDepartGsonAdapter.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpDepartGsonAdapter.java
index a5a11d24..a999d7b2 100644
--- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpDepartGsonAdapter.java
+++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpDepartGsonAdapter.java
@@ -8,31 +8,43 @@
*/
package me.chanjar.weixin.cp.util.json;
-import com.google.gson.*;
+import java.lang.reflect.Type;
+
+import com.google.gson.JsonDeserializationContext;
+import com.google.gson.JsonDeserializer;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParseException;
+import com.google.gson.JsonSerializationContext;
+import com.google.gson.JsonSerializer;
import me.chanjar.weixin.common.util.json.GsonHelper;
import me.chanjar.weixin.cp.bean.WxCpDepart;
-import java.lang.reflect.Type;
-
/**
+ * WxCpDepart的gson适配器.
+ *
* @author Daniel Qian
*/
public class WxCpDepartGsonAdapter implements JsonSerializer, JsonDeserializer {
+ private static final String ID = "id";
+ private static final String NAME = "name";
+ private static final String PARENT_ID = "parentid";
+ private static final String ORDER = "order";
@Override
public JsonElement serialize(WxCpDepart group, Type typeOfSrc, JsonSerializationContext context) {
JsonObject json = new JsonObject();
if (group.getId() != null) {
- json.addProperty("id", group.getId());
+ json.addProperty(ID, group.getId());
}
if (group.getName() != null) {
- json.addProperty("name", group.getName());
+ json.addProperty(NAME, group.getName());
}
if (group.getParentId() != null) {
- json.addProperty("parentid", group.getParentId());
+ json.addProperty(PARENT_ID, group.getParentId());
}
if (group.getOrder() != null) {
- json.addProperty("order", String.valueOf(group.getOrder()));
+ json.addProperty(ORDER, String.valueOf(group.getOrder()));
}
return json;
}
@@ -42,17 +54,17 @@ public class WxCpDepartGsonAdapter implements JsonSerializer, JsonDe
throws JsonParseException {
WxCpDepart depart = new WxCpDepart();
JsonObject departJson = json.getAsJsonObject();
- if (departJson.get("id") != null && !departJson.get("id").isJsonNull()) {
- depart.setId(GsonHelper.getAsInteger(departJson.get("id")));
+ if (departJson.get(ID) != null && !departJson.get(ID).isJsonNull()) {
+ depart.setId(GsonHelper.getAsLong(departJson.get(ID)));
}
- if (departJson.get("name") != null && !departJson.get("name").isJsonNull()) {
- depart.setName(GsonHelper.getAsString(departJson.get("name")));
+ if (departJson.get(NAME) != null && !departJson.get(NAME).isJsonNull()) {
+ depart.setName(GsonHelper.getAsString(departJson.get(NAME)));
}
- if (departJson.get("order") != null && !departJson.get("order").isJsonNull()) {
- depart.setOrder(GsonHelper.getAsLong(departJson.get("order")));
+ if (departJson.get(ORDER) != null && !departJson.get(ORDER).isJsonNull()) {
+ depart.setOrder(GsonHelper.getAsLong(departJson.get(ORDER)));
}
- if (departJson.get("parentid") != null && !departJson.get("parentid").isJsonNull()) {
- depart.setParentId(GsonHelper.getAsInteger(departJson.get("parentid")));
+ if (departJson.get(PARENT_ID) != null && !departJson.get(PARENT_ID).isJsonNull()) {
+ depart.setParentId(GsonHelper.getAsLong(departJson.get(PARENT_ID)));
}
return depart;
}
diff --git a/weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpDepartmentServiceImplTest.java b/weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpDepartmentServiceImplTest.java
index 9a19564c..097a6ee7 100644
--- a/weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpDepartmentServiceImplTest.java
+++ b/weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/WxCpDepartmentServiceImplTest.java
@@ -1,15 +1,15 @@
package me.chanjar.weixin.cp.api.impl;
+import java.util.List;
+
+import org.testng.annotations.*;
+
import com.google.inject.Inject;
import me.chanjar.weixin.cp.api.ApiTestModule;
import me.chanjar.weixin.cp.api.WxCpService;
import me.chanjar.weixin.cp.bean.WxCpDepart;
-import org.testng.annotations.*;
-
-import java.util.List;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.testng.Assert.*;
/**
*
@@ -29,7 +29,7 @@ public class WxCpDepartmentServiceImplTest {
public void testCreate() throws Exception {
WxCpDepart cpDepart = new WxCpDepart();
cpDepart.setName("子部门" + System.currentTimeMillis());
- cpDepart.setParentId(1);
+ cpDepart.setParentId(1L);
cpDepart.setOrder(1L);
Integer departId = this.wxCpService.getDepartmentService().create(cpDepart);
System.out.println(departId);
@@ -45,7 +45,7 @@ public class WxCpDepartmentServiceImplTest {
}
@Test(dataProvider = "departIds")
- public void testList(Integer id) throws Exception {
+ public void testList(Long id) throws Exception {
System.out.println("=================获取部门");
List departList = this.wxCpService.getDepartmentService().list(id);
assertThat(departList).isNotEmpty();