Skip to content

Commit 18b49da

Browse files
authored
🐛 #2314 【企业微信】修复多个不同通知消息被误判为同一消息的问题
1 parent 8faef7c commit 18b49da

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/message/WxCpMessageRouter.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -209,16 +209,20 @@ private boolean isMsgDuplicated(WxCpXmlMessage wxMessage) {
209209
.append("-").append(wxMessage.getCreateTime())
210210
.append("-").append(wxMessage.getFromUserName());
211211
}
212+
append(messageId, wxMessage.getUserId());
213+
append(messageId, wxMessage.getChangeType());
214+
append(messageId, wxMessage.getTagId());
215+
append(messageId, wxMessage.getId());
216+
append(messageId, wxMessage.getChatId());
217+
append(messageId, wxMessage.getExternalUserId());
212218

213-
if (StringUtils.isNotEmpty(wxMessage.getUserId())) {
214-
messageId.append("-").append(wxMessage.getUserId());
215-
}
219+
return this.messageDuplicateChecker.isDuplicate(messageId.toString());
220+
}
216221

217-
if (StringUtils.isNotEmpty(wxMessage.getChangeType())) {
218-
messageId.append("-").append(wxMessage.getChangeType());
222+
private void append(StringBuilder sb, String value){
223+
if(StringUtils.isNotEmpty(value)){
224+
sb.append("-").append(value);
219225
}
220-
221-
return this.messageDuplicateChecker.isDuplicate(messageId.toString());
222226
}
223227

224228
/**

0 commit comments

Comments
 (0)