8
8
*/
9
9
package me .chanjar .weixin .cp .util .json ;
10
10
11
- import java .lang .reflect .Type ;
12
-
13
- import com .google .gson .JsonDeserializationContext ;
14
- import com .google .gson .JsonDeserializer ;
15
- import com .google .gson .JsonElement ;
16
- import com .google .gson .JsonObject ;
17
- import com .google .gson .JsonParseException ;
18
- import com .google .gson .JsonSerializationContext ;
19
- import com .google .gson .JsonSerializer ;
11
+ import com .google .gson .*;
20
12
import me .chanjar .weixin .common .util .json .GsonHelper ;
21
13
import me .chanjar .weixin .cp .bean .WxCpDepart ;
22
14
15
+ import java .lang .reflect .Type ;
16
+
23
17
/**
24
18
* WxCpDepart的gson适配器.
25
19
*
@@ -29,6 +23,7 @@ public class WxCpDepartGsonAdapter implements JsonSerializer<WxCpDepart>, JsonDe
29
23
private static final String ID = "id" ;
30
24
private static final String NAME = "name" ;
31
25
private static final String EN_NAME = "name_en" ;
26
+ private static final String DEPARTMENT_LEADER = "department_leader" ;
32
27
private static final String PARENT_ID = "parentid" ;
33
28
private static final String ORDER = "order" ;
34
29
@@ -44,6 +39,13 @@ public JsonElement serialize(WxCpDepart group, Type typeOfSrc, JsonSerialization
44
39
if (group .getEnName () != null ) {
45
40
json .addProperty (EN_NAME , group .getEnName ());
46
41
}
42
+ if (group .getDepartmentLeader () != null ) {
43
+ JsonArray jsonArray = new JsonArray ();
44
+ for (String department : group .getDepartmentLeader ()) {
45
+ jsonArray .add (new JsonPrimitive (department ));
46
+ }
47
+ json .add (DEPARTMENT_LEADER , jsonArray );
48
+ }
47
49
if (group .getParentId () != null ) {
48
50
json .addProperty (PARENT_ID , group .getParentId ());
49
51
}
@@ -67,6 +69,15 @@ public WxCpDepart deserialize(JsonElement json, Type typeOfT, JsonDeserializatio
67
69
if (departJson .get (EN_NAME ) != null && !departJson .get (EN_NAME ).isJsonNull ()) {
68
70
depart .setEnName (GsonHelper .getAsString (departJson .get (EN_NAME )));
69
71
}
72
+ if (departJson .getAsJsonArray (DEPARTMENT_LEADER ) != null && !departJson .get (DEPARTMENT_LEADER ).isJsonNull ()) {
73
+ JsonArray jsonArray = departJson .getAsJsonArray (DEPARTMENT_LEADER );
74
+ String [] departments = new String [jsonArray .size ()];
75
+ int i = 0 ;
76
+ for (JsonElement jsonElement : jsonArray ) {
77
+ departments [i ++] = jsonElement .getAsString ();
78
+ }
79
+ depart .setDepartmentLeader (departments );
80
+ }
70
81
if (departJson .get (ORDER ) != null && !departJson .get (ORDER ).isJsonNull ()) {
71
82
depart .setOrder (GsonHelper .getAsLong (departJson .get (ORDER )));
72
83
}
0 commit comments