mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2025-09-20 02:29:44 +08:00
issue #66 对去重逻辑做了一些调整
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package me.chanjar.weixin.mp.api;
|
||||
|
||||
import me.chanjar.weixin.common.api.WxConsts;
|
||||
import me.chanjar.weixin.common.session.*;
|
||||
import me.chanjar.weixin.common.util.WxMessageDuplicateChecker;
|
||||
import me.chanjar.weixin.common.util.WxMessageInMemoryDuplicateChecker;
|
||||
@@ -113,7 +114,7 @@ public class WxMpMessageRouter {
|
||||
* @param wxMessage
|
||||
*/
|
||||
public WxMpXmlOutMessage route(final WxMpXmlMessage wxMessage) {
|
||||
if (messageDuplicateChecker.isDuplicate(wxMessage.getMsgId())) {
|
||||
if (isDuplicateMessage(wxMessage)) {
|
||||
// 如果是重复消息,那么就不做处理
|
||||
return null;
|
||||
}
|
||||
@@ -175,6 +176,22 @@ public class WxMpMessageRouter {
|
||||
return res;
|
||||
}
|
||||
|
||||
protected boolean isDuplicateMessage(WxMpXmlMessage wxMessage) {
|
||||
|
||||
String messageId = "";
|
||||
if (wxMessage.getMsgId() == null) {
|
||||
messageId = wxMessage.getFromUserName() + "-" + String.valueOf(wxMessage.getCreateTime());
|
||||
} else {
|
||||
messageId = String.valueOf(wxMessage.getMsgId());
|
||||
}
|
||||
|
||||
if (messageDuplicateChecker.isDuplicate(messageId)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 对session的访问结束
|
||||
* @param wxMessage
|
||||
|
Reference in New Issue
Block a user