diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/message/WxCpMessageRouter.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/message/WxCpMessageRouter.java index 947ac28b41..b5424be03e 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/message/WxCpMessageRouter.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/message/WxCpMessageRouter.java @@ -219,8 +219,11 @@ private boolean isMsgDuplicated(WxCpXmlMessage wxMessage) { messageId.append("-").append(wxMessage.getUserId()); } - return this.messageDuplicateChecker.isDuplicate(messageId.toString()); + if (StringUtils.isNotEmpty(wxMessage.getChangeType())) { + messageId.append("-").append(wxMessage.getChangeType()); + } + return this.messageDuplicateChecker.isDuplicate(messageId.toString()); } /**