#333 修复消息验重问题(mp和cp同时存在的问题)

This commit is contained in:
Binary Wang
2017-11-07 15:55:42 +08:00
parent bea0646f19
commit e5bd65f2db
2 changed files with 15 additions and 10 deletions

View File

@@ -10,6 +10,7 @@ import me.chanjar.weixin.common.session.WxSessionManager;
import me.chanjar.weixin.common.util.LogExceptionHandler;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -195,16 +196,17 @@ public class WxMpMessageRouter {
}
protected boolean isMsgDuplicated(WxMpXmlMessage wxMessage) {
StringBuilder messageId = new StringBuilder();
if (wxMessage.getMsgId() == null) {
messageId.append(wxMessage.getCreateTime())
.append("-").append(wxMessage.getFromUser())
.append("-").append(wxMessage.getEventKey() == null ? "" : wxMessage.getEventKey())
.append("-").append(wxMessage.getEvent() == null ? "" : wxMessage.getEvent())
.append("-").append(StringUtils.trimToEmpty(wxMessage.getEventKey()))
.append("-").append(StringUtils.trimToEmpty(wxMessage.getEvent()))
;
} else {
messageId.append(wxMessage.getMsgId());
messageId.append(wxMessage.getMsgId())
.append("-").append(wxMessage.getCreateTime())
.append("-").append(wxMessage.getFromUser());
}
return this.messageDuplicateChecker.isDuplicate(messageId.toString());