File tree Expand file tree Collapse file tree 2 files changed +15
-10
lines changed
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/message
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api Expand file tree Collapse file tree 2 files changed +15
-10
lines changed Original file line number Diff line number Diff line change 1111import me .chanjar .weixin .cp .api .WxCpService ;
1212import me .chanjar .weixin .cp .bean .WxCpXmlMessage ;
1313import me .chanjar .weixin .cp .bean .WxCpXmlOutMessage ;
14+ import org .apache .commons .lang3 .StringUtils ;
1415import org .slf4j .Logger ;
1516import org .slf4j .LoggerFactory ;
1617
@@ -215,17 +216,19 @@ public WxCpXmlOutMessage route(final WxCpXmlMessage wxMessage) {
215216 }
216217
217218 protected boolean isDuplicateMessage (WxCpXmlMessage wxMessage ) {
218-
219- String messageId = "" ;
219+ String messageId ;
220220 if (wxMessage .getMsgId () == null ) {
221221 messageId = String .valueOf (wxMessage .getCreateTime ())
222- + "-" + String .valueOf (wxMessage .getAgentId () == null ? "" : wxMessage . getAgentId ( ))
222+ + "-" + StringUtils . trimToEmpty ( String .valueOf (wxMessage .getAgentId ()))
223223 + "-" + wxMessage .getFromUserName ()
224- + "-" + String . valueOf ( wxMessage . getEventKey () == null ? "" : wxMessage .getEventKey ())
225- + "-" + String . valueOf ( wxMessage . getEvent () == null ? "" : wxMessage .getEvent ())
224+ + "-" + StringUtils . trimToEmpty ( wxMessage .getEventKey ())
225+ + "-" + StringUtils . trimToEmpty ( wxMessage .getEvent ())
226226 ;
227227 } else {
228- messageId = String .valueOf (wxMessage .getMsgId ());
228+ messageId = new StringBuilder ().append (wxMessage .getMsgId ())
229+ .append ("-" ).append (wxMessage .getCreateTime ())
230+ .append ("-" ).append (wxMessage .getFromUserName ())
231+ .toString ();
229232 }
230233
231234 return this .messageDuplicateChecker .isDuplicate (messageId );
Original file line number Diff line number Diff line change 1010import me .chanjar .weixin .common .util .LogExceptionHandler ;
1111import me .chanjar .weixin .mp .bean .message .WxMpXmlMessage ;
1212import me .chanjar .weixin .mp .bean .message .WxMpXmlOutMessage ;
13+ import org .apache .commons .lang3 .StringUtils ;
1314import org .slf4j .Logger ;
1415import org .slf4j .LoggerFactory ;
1516
@@ -195,16 +196,17 @@ public WxMpXmlOutMessage route(final WxMpXmlMessage wxMessage) {
195196 }
196197
197198 protected boolean isMsgDuplicated (WxMpXmlMessage wxMessage ) {
198-
199199 StringBuilder messageId = new StringBuilder ();
200200 if (wxMessage .getMsgId () == null ) {
201201 messageId .append (wxMessage .getCreateTime ())
202202 .append ("-" ).append (wxMessage .getFromUser ())
203- .append ("-" ).append (wxMessage . getEventKey () == null ? "" : wxMessage .getEventKey ())
204- .append ("-" ).append (wxMessage . getEvent () == null ? "" : wxMessage .getEvent ())
203+ .append ("-" ).append (StringUtils . trimToEmpty ( wxMessage .getEventKey () ))
204+ .append ("-" ).append (StringUtils . trimToEmpty ( wxMessage .getEvent () ))
205205 ;
206206 } else {
207- messageId .append (wxMessage .getMsgId ());
207+ messageId .append (wxMessage .getMsgId ())
208+ .append ("-" ).append (wxMessage .getCreateTime ())
209+ .append ("-" ).append (wxMessage .getFromUser ());
208210 }
209211
210212 return this .messageDuplicateChecker .isDuplicate (messageId .toString ());
You can’t perform that action at this time.
0 commit comments