◐ Shell
clean mode source ↗

修复企业微信群聊变更事件MemChangeList字段命名规范问题 by Copilot · Pull Request #3827 · binarywang/WxJava

问题

4.7.9.B版本中企业微信群聊变更事件的MemChangeList字段解析异常,显示为空字符串。根因是WxCpXmlMessage类中字段名MemChangeList首字母大写,违反Java命名规范。

修改内容

核心修复

  • 字段名从MemChangeList改为memChangeList(保持@XStreamAlias("MemChangeList")不变)

测试覆盖

  • 新增testExternalChatChangeEvent测试方法
  • 覆盖成员加入、退出及无成员变更三种场景

示例

// 群成员变更事件XML解析
String xml = "<xml>"
    + "<Event><![CDATA[change_external_chat]]></Event>"
    + "<ChangeType><![CDATA[update]]></ChangeType>"
    + "<MemChangeCnt>2</MemChangeCnt>"
    + "<MemChangeList><![CDATA[user1,user2]]></MemChangeList>"
    + "</xml>";

WxCpXmlMessage message = WxCpXmlMessage.fromXml(xml);
String members = message.getMemChangeList(); // 现在正确返回 "user1,user2"

相关文档: 企业微信客户群变更回调

Original prompt

This section details on the original issue you should resolve

<issue_title>更新到4.7.9.B版本,在企业微信群聊变更时,MemChangeList字符串是空字符串</issue_title>
<issue_description>

简要描述

更新到4.7.9.B版本,在企业微信群聊变更时,MemChangeList字符串是空字符串,如果是4.7.0版本,没有MemChangeList字段

模块版本情况

  • WxJava 模块名: weixin-java-cp
  • WxJava 版本号:4.7.9.B

详细描述

更新到4.7.9.B版本,在企业微信群聊变更时或者成员加入和退出时,微信回调的MemChangeList字符串是空字符串

</issue_description>

Comments on the Issue (you are @copilot in this section)

Custom agent used: 全部用中文
需要用中文,包括PR标题和分析总结过程


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.