From 3bc2bbc208f30ee9bca8dc15b5b9932ed5392717 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Sat, 25 Aug 2018 18:54:56 +0800 Subject: [PATCH] =?UTF-8?q?#309=20=E4=BC=81=E4=B8=9A=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=A2=9E=E5=8A=A0=E3=80=90=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E9=80=9A=E8=AE=AF=E5=BD=95=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=E3=80=91=E7=9A=84=E4=BA=8B=E4=BB=B6=E6=8E=A8=E9=80=81=E7=9A=84?= =?UTF-8?q?=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weixin/cp/bean/WxCpXmlMessage.java | 181 +++++++++++++++++- 1 file changed, 177 insertions(+), 4 deletions(-) diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpXmlMessage.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpXmlMessage.java index 26cde8a6..97380c4e 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpXmlMessage.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpXmlMessage.java @@ -23,9 +23,8 @@ import me.chanjar.weixin.cp.util.xml.XStreamTransformer; *
  * 微信推送过来的消息,也是同步回复给用户的消息,xml格式
  * 相关字段的解释看微信开发者文档:
- * http://mp.weixin.qq.com/wiki/index.php?title=接收普通消息
- * http://mp.weixin.qq.com/wiki/index.php?title=接收事件推送
- * http://mp.weixin.qq.com/wiki/index.php?title=接收语音识别结果
+ * https://work.weixin.qq.com/api/doc#12973
+ * https://work.weixin.qq.com/api/doc#12974
  * 
* * @author Daniel Qian @@ -130,15 +129,172 @@ public class WxCpXmlMessage implements Serializable { @XStreamConverter(value = XStreamCDataConverter.class) private String recognition; + /** + * 通讯录变更事件. + * 请参考常量 me.chanjar.weixin.cp.WxCpConsts.ContactChangeType + */ + @XStreamAlias("ChangeType") + @XStreamConverter(value = XStreamCDataConverter.class) + private String changeType; + + /** + * 变更信息的成员UserID. + */ + @XStreamAlias("UserID") + @XStreamConverter(value = XStreamCDataConverter.class) + private String userId; + + /** + * 新的UserID,变更时推送(userid由系统生成时可更改一次). + */ + @XStreamAlias("NewUserID") + @XStreamConverter(value = XStreamCDataConverter.class) + private String newUserId; + + /** + * 成员名称. + * 或者部门名称 + */ + @XStreamAlias("Name") + @XStreamConverter(value = XStreamCDataConverter.class) + private String name; + + /** + * 成员部门列表. + */ + @XStreamAlias("Department") + @XStreamConverter(value = XStreamCDataConverter.class) + private String department; + + /** + * 手机号码. + */ + @XStreamAlias("Mobile") + @XStreamConverter(value = XStreamCDataConverter.class) + private String mobile; + + /** + * 职位信息。长度为0~64个字节. + */ + @XStreamAlias("Position") + @XStreamConverter(value = XStreamCDataConverter.class) + private String position; + + /** + * 性别,1表示男性,2表示女性. + */ + @XStreamAlias("Gender") + private Integer gender; + + /** + * 邮箱. + */ + @XStreamAlias("Email") + @XStreamConverter(value = XStreamCDataConverter.class) + private String email; + + /** + * 头像url。注:如果要获取小图将url最后的”/0”改成”/100”即可. + */ + @XStreamAlias("Avatar") + @XStreamConverter(value = XStreamCDataConverter.class) + private String avatar; + + /** + * 英文名. + */ + @XStreamAlias("EnglishName") + @XStreamConverter(value = XStreamCDataConverter.class) + private String englishName; + + /** + * 上级字段,标识是否为上级。0表示普通成员,1表示上级. + */ + @XStreamAlias("IsLeader") + private Integer isLeader; + + /** + * 座机. + */ + @XStreamAlias("Telephone") + @XStreamConverter(value = XStreamCDataConverter.class) + private String telephone; + + /** + * 扩展属性. + */ + @XStreamAlias("ExtAttr") + private ExtAttr extAttrs = new ExtAttr(); + + /** + * 部门Id. + */ + @XStreamAlias("Id") + private Integer id; + + /** + * 父部门id. + */ + @XStreamAlias("ParentId") + @XStreamConverter(value = XStreamCDataConverter.class) + private String parentId; + + /** + * 部门排序. + */ + @XStreamAlias("Order") + @XStreamConverter(value = XStreamCDataConverter.class) + private String order; + + /** + * 标签Id. + */ + @XStreamAlias("TagId") + @XStreamConverter(value = XStreamCDataConverter.class) + private String tagId; + + /** + * 标签中新增的成员userid列表,用逗号分隔. + */ + @XStreamAlias("AddUserItems") + @XStreamConverter(value = XStreamCDataConverter.class) + private String addUserItems; + + /** + * 标签中删除的成员userid列表,用逗号分隔. + */ + @XStreamAlias("DelUserItems") + @XStreamConverter(value = XStreamCDataConverter.class) + private String delUserItems; + + /** + * 标签中新增的部门id列表,用逗号分隔. + */ + @XStreamAlias("AddPartyItems") + @XStreamConverter(value = XStreamCDataConverter.class) + private String addPartyItems; + + /** + * 标签中删除的部门id列表,用逗号分隔. + */ + @XStreamAlias("DelPartyItems") + @XStreamConverter(value = XStreamCDataConverter.class) + private String delPartyItems; + + /////////////////////////////////////// // 群发消息返回的结果 /////////////////////////////////////// /** - * 群发的结果. + * 多个时间共用字段. + * 1. 群发的结果. + * 2. 通讯录变更事件 + * 激活状态:1=已激活 2=已禁用 4=未激活 已激活代表已激活企业微信或已关注微工作台(原企业号). */ @XStreamAlias("Status") @XStreamConverter(value = XStreamCDataConverter.class) private String status; + /** * group_id下粉丝数;或者openid_list中的粉丝数. */ @@ -257,6 +413,23 @@ public class WxCpXmlMessage implements Serializable { private String scanResult; } + @Data + public static class ExtAttr { + @XStreamAlias("Item") + protected final List items = new ArrayList<>(); + + @Data + public static class Item { + @XStreamAlias("Name") + @XStreamConverter(value = XStreamCDataConverter.class) + private String name; + + @XStreamAlias("Value") + @XStreamConverter(value = XStreamCDataConverter.class) + private String value; + } + } + @Data @XStreamAlias("SendPicsInfo") public static class SendPicsInfo {