mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-08-24 16:18:51 +08:00
#333 修复消息验重问题(mp和cp同时存在的问题)
This commit is contained in:
parent
bea0646f19
commit
e5bd65f2db
@ -11,6 +11,7 @@ import me.chanjar.weixin.common.util.LogExceptionHandler;
|
||||
import me.chanjar.weixin.cp.api.WxCpService;
|
||||
import me.chanjar.weixin.cp.bean.WxCpXmlMessage;
|
||||
import me.chanjar.weixin.cp.bean.WxCpXmlOutMessage;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@ -215,17 +216,19 @@ public class WxCpMessageRouter {
|
||||
}
|
||||
|
||||
protected boolean isDuplicateMessage(WxCpXmlMessage wxMessage) {
|
||||
|
||||
String messageId = "";
|
||||
String messageId;
|
||||
if (wxMessage.getMsgId() == null) {
|
||||
messageId = String.valueOf(wxMessage.getCreateTime())
|
||||
+ "-" + String.valueOf(wxMessage.getAgentId() == null ? "" : wxMessage.getAgentId())
|
||||
+ "-" + StringUtils.trimToEmpty(String.valueOf(wxMessage.getAgentId()))
|
||||
+ "-" + wxMessage.getFromUserName()
|
||||
+ "-" + String.valueOf(wxMessage.getEventKey() == null ? "" : wxMessage.getEventKey())
|
||||
+ "-" + String.valueOf(wxMessage.getEvent() == null ? "" : wxMessage.getEvent())
|
||||
+ "-" + StringUtils.trimToEmpty(wxMessage.getEventKey())
|
||||
+ "-" + StringUtils.trimToEmpty(wxMessage.getEvent())
|
||||
;
|
||||
} else {
|
||||
messageId = String.valueOf(wxMessage.getMsgId());
|
||||
messageId = new StringBuilder().append(wxMessage.getMsgId())
|
||||
.append("-").append(wxMessage.getCreateTime())
|
||||
.append("-").append(wxMessage.getFromUserName())
|
||||
.toString();
|
||||
}
|
||||
|
||||
return this.messageDuplicateChecker.isDuplicate(messageId);
|
||||
|
@ -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());
|
||||
|
Loading…
Reference in New Issue
Block a user