Skip to content

Commit 7262699

Browse files
authored
🎨 #3324 【公众号】消息路由规则的事件增加正则匹配支持
1 parent 497aefe commit 7262699

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

Diff for: weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMessageRouterRule.java

+16
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ public class WxMpMessageRouterRule {
2525

2626
private String event;
2727

28+
private String eventRegex;
29+
2830
private String eventKey;
2931

3032
private String eventKeyRegex;
@@ -105,6 +107,18 @@ public WxMpMessageRouterRule eventKeyRegex(String regex) {
105107
return this;
106108
}
107109

110+
111+
/**
112+
* event匹配该正则表达式
113+
* 比如"^weapp_audit_.*"用以匹配所有审核类类事件
114+
*
115+
* @param regex the regex
116+
* @return the wx mp message router rule
117+
*/
118+
public WxMpMessageRouterRule eventRegex(String regex) {
119+
this.eventRegex = regex;
120+
return this;
121+
}
108122
/**
109123
* 如果content等于某值
110124
*
@@ -236,6 +250,8 @@ protected boolean test(WxMpXmlMessage wxMessage) {
236250
&&
237251
(this.event == null || this.event.equalsIgnoreCase(wxMessage.getEvent()))
238252
&&
253+
(this.eventRegex == null || Pattern.matches(this.eventRegex, StringUtils.trimToEmpty(wxMessage.getEvent())))
254+
&&
239255
(this.eventKey == null || this.eventKey.equalsIgnoreCase(wxMessage.getEventKey()))
240256
&&
241257
(this.eventKeyRegex == null || Pattern.matches(this.eventKeyRegex, StringUtils.trimToEmpty(wxMessage.getEventKey())))

0 commit comments

Comments
 (0)