Skip to content

Commit 3bc2bbc

Browse files
committed
#309 企业微信消息增加【企业微信通讯录变更】的事件推送的支持
1 parent 587c68a commit 3bc2bbc

File tree

1 file changed

+177
-4
lines changed

1 file changed

+177
-4
lines changed

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpXmlMessage.java

Lines changed: 177 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,8 @@
2323
* <pre>
2424
* 微信推送过来的消息,也是同步回复给用户的消息,xml格式
2525
* 相关字段的解释看微信开发者文档:
26-
* http://mp.weixin.qq.com/wiki/index.php?title=接收普通消息
27-
* http://mp.weixin.qq.com/wiki/index.php?title=接收事件推送
28-
* http://mp.weixin.qq.com/wiki/index.php?title=接收语音识别结果
26+
* https://work.weixin.qq.com/api/doc#12973
27+
* https://work.weixin.qq.com/api/doc#12974
2928
* </pre>
3029
*
3130
* @author Daniel Qian
@@ -130,15 +129,172 @@ public class WxCpXmlMessage implements Serializable {
130129
@XStreamConverter(value = XStreamCDataConverter.class)
131130
private String recognition;
132131

132+
/**
133+
* 通讯录变更事件.
134+
* 请参考常量 me.chanjar.weixin.cp.WxCpConsts.ContactChangeType
135+
*/
136+
@XStreamAlias("ChangeType")
137+
@XStreamConverter(value = XStreamCDataConverter.class)
138+
private String changeType;
139+
140+
/**
141+
* 变更信息的成员UserID.
142+
*/
143+
@XStreamAlias("UserID")
144+
@XStreamConverter(value = XStreamCDataConverter.class)
145+
private String userId;
146+
147+
/**
148+
* 新的UserID,变更时推送(userid由系统生成时可更改一次).
149+
*/
150+
@XStreamAlias("NewUserID")
151+
@XStreamConverter(value = XStreamCDataConverter.class)
152+
private String newUserId;
153+
154+
/**
155+
* 成员名称.
156+
* 或者部门名称
157+
*/
158+
@XStreamAlias("Name")
159+
@XStreamConverter(value = XStreamCDataConverter.class)
160+
private String name;
161+
162+
/**
163+
* 成员部门列表.
164+
*/
165+
@XStreamAlias("Department")
166+
@XStreamConverter(value = XStreamCDataConverter.class)
167+
private String department;
168+
169+
/**
170+
* 手机号码.
171+
*/
172+
@XStreamAlias("Mobile")
173+
@XStreamConverter(value = XStreamCDataConverter.class)
174+
private String mobile;
175+
176+
/**
177+
* 职位信息。长度为0~64个字节.
178+
*/
179+
@XStreamAlias("Position")
180+
@XStreamConverter(value = XStreamCDataConverter.class)
181+
private String position;
182+
183+
/**
184+
* 性别,1表示男性,2表示女性.
185+
*/
186+
@XStreamAlias("Gender")
187+
private Integer gender;
188+
189+
/**
190+
* 邮箱.
191+
*/
192+
@XStreamAlias("Email")
193+
@XStreamConverter(value = XStreamCDataConverter.class)
194+
private String email;
195+
196+
/**
197+
* 头像url。注:如果要获取小图将url最后的”/0”改成”/100”即可.
198+
*/
199+
@XStreamAlias("Avatar")
200+
@XStreamConverter(value = XStreamCDataConverter.class)
201+
private String avatar;
202+
203+
/**
204+
* 英文名.
205+
*/
206+
@XStreamAlias("EnglishName")
207+
@XStreamConverter(value = XStreamCDataConverter.class)
208+
private String englishName;
209+
210+
/**
211+
* 上级字段,标识是否为上级。0表示普通成员,1表示上级.
212+
*/
213+
@XStreamAlias("IsLeader")
214+
private Integer isLeader;
215+
216+
/**
217+
* 座机.
218+
*/
219+
@XStreamAlias("Telephone")
220+
@XStreamConverter(value = XStreamCDataConverter.class)
221+
private String telephone;
222+
223+
/**
224+
* 扩展属性.
225+
*/
226+
@XStreamAlias("ExtAttr")
227+
private ExtAttr extAttrs = new ExtAttr();
228+
229+
/**
230+
* 部门Id.
231+
*/
232+
@XStreamAlias("Id")
233+
private Integer id;
234+
235+
/**
236+
* 父部门id.
237+
*/
238+
@XStreamAlias("ParentId")
239+
@XStreamConverter(value = XStreamCDataConverter.class)
240+
private String parentId;
241+
242+
/**
243+
* 部门排序.
244+
*/
245+
@XStreamAlias("Order")
246+
@XStreamConverter(value = XStreamCDataConverter.class)
247+
private String order;
248+
249+
/**
250+
* 标签Id.
251+
*/
252+
@XStreamAlias("TagId")
253+
@XStreamConverter(value = XStreamCDataConverter.class)
254+
private String tagId;
255+
256+
/**
257+
* 标签中新增的成员userid列表,用逗号分隔.
258+
*/
259+
@XStreamAlias("AddUserItems")
260+
@XStreamConverter(value = XStreamCDataConverter.class)
261+
private String addUserItems;
262+
263+
/**
264+
* 标签中删除的成员userid列表,用逗号分隔.
265+
*/
266+
@XStreamAlias("DelUserItems")
267+
@XStreamConverter(value = XStreamCDataConverter.class)
268+
private String delUserItems;
269+
270+
/**
271+
* 标签中新增的部门id列表,用逗号分隔.
272+
*/
273+
@XStreamAlias("AddPartyItems")
274+
@XStreamConverter(value = XStreamCDataConverter.class)
275+
private String addPartyItems;
276+
277+
/**
278+
* 标签中删除的部门id列表,用逗号分隔.
279+
*/
280+
@XStreamAlias("DelPartyItems")
281+
@XStreamConverter(value = XStreamCDataConverter.class)
282+
private String delPartyItems;
283+
284+
133285
///////////////////////////////////////
134286
// 群发消息返回的结果
135287
///////////////////////////////////////
136288
/**
137-
* 群发的结果.
289+
* 多个时间共用字段.
290+
* 1. 群发的结果.
291+
* 2. 通讯录变更事件
292+
* 激活状态:1=已激活 2=已禁用 4=未激活 已激活代表已激活企业微信或已关注微工作台(原企业号).
138293
*/
139294
@XStreamAlias("Status")
140295
@XStreamConverter(value = XStreamCDataConverter.class)
141296
private String status;
297+
142298
/**
143299
* group_id下粉丝数;或者openid_list中的粉丝数.
144300
*/
@@ -257,6 +413,23 @@ public static class ScanCodeInfo {
257413
private String scanResult;
258414
}
259415

416+
@Data
417+
public static class ExtAttr {
418+
@XStreamAlias("Item")
419+
protected final List<Item> items = new ArrayList<>();
420+
421+
@Data
422+
public static class Item {
423+
@XStreamAlias("Name")
424+
@XStreamConverter(value = XStreamCDataConverter.class)
425+
private String name;
426+
427+
@XStreamAlias("Value")
428+
@XStreamConverter(value = XStreamCDataConverter.class)
429+
private String value;
430+
}
431+
}
432+
260433
@Data
261434
@XStreamAlias("SendPicsInfo")
262435
public static class SendPicsInfo {

0 commit comments

Comments
 (0)