Skip to content

Commit 6a8fd45

Browse files
committed
Merge branch 'develop'
2 parents 780074f + 03406f1 commit 6a8fd45

File tree

15 files changed

+463
-251
lines changed

15 files changed

+463
-251
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ weixin-java-tools
2323
<dependency>
2424
<groupId>me.chanjar</groupId>
2525
<artifactId>weixin-java-mp</artifactId>
26-
<version>1.3.2</version>
26+
<version>1.3.3</version>
2727
</dependency>
2828
```
2929

@@ -33,7 +33,7 @@ weixin-java-tools
3333
<dependency>
3434
<groupId>me.chanjar</groupId>
3535
<artifactId>weixin-java-cp</artifactId>
36-
<version>1.3.2</version>
36+
<version>1.3.3</version>
3737
</dependency>
3838
```
3939

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<modelVersion>4.0.0</modelVersion>
66
<groupId>me.chanjar</groupId>
77
<artifactId>weixin-java-parent</artifactId>
8-
<version>1.3.2</version>
8+
<version>1.3.3</version>
99
<packaging>pom</packaging>
1010
<name>WeiXin Java Tools - Parent</name>
1111
<description>微信公众号、企业号上级POM</description>

weixin-java-common/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>me.chanjar</groupId>
88
<artifactId>weixin-java-parent</artifactId>
9-
<version>1.3.2</version>
9+
<version>1.3.3</version>
1010
</parent>
1111

1212
<artifactId>weixin-java-common</artifactId>

weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ public class WxConsts {
3030
public static final String CUSTOM_MSG_NEWS = "news";
3131
public static final String CUSTOM_MSG_FILE = "file";
3232
public static final String CUSTOM_MSG_TRANSFER_CUSTOMER_SERVICE = "transfer_customer_service";
33+
public static final String CUSTOM_MSG_SAFE_NO = "0";
34+
public static final String CUSTOM_MSG_SAFE_YES = "1";
3335

3436
///////////////////////
3537
// 群发消息的消息类型

weixin-java-common/src/main/java/me/chanjar/weixin/common/bean/WxMenu.java

Lines changed: 82 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
import java.io.InputStream;
44
import java.io.InputStreamReader;
55
import java.io.Serializable;
6-
import java.nio.charset.Charset;
76
import java.util.ArrayList;
87
import java.util.List;
98

10-
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
119
import org.apache.commons.codec.Charsets;
1210

11+
import me.chanjar.weixin.common.util.json.WxGsonBuilder;
12+
1313
/**
1414
* 企业号菜单
1515
* @author Daniel Qian
@@ -19,6 +19,8 @@ public class WxMenu implements Serializable {
1919

2020
private List<WxMenuButton> buttons = new ArrayList<WxMenuButton>();
2121

22+
private WxMenuRule matchRule;
23+
2224
public List<WxMenuButton> getButtons() {
2325
return buttons;
2426
}
@@ -27,6 +29,14 @@ public void setButtons(List<WxMenuButton> buttons) {
2729
this.buttons = buttons;
2830
}
2931

32+
public WxMenuRule getMatchRule() {
33+
return matchRule;
34+
}
35+
36+
public void setMatchRule(WxMenuRule matchRule) {
37+
this.matchRule = matchRule;
38+
}
39+
3040
public String toJson() {
3141
return WxGsonBuilder.create().toJson(this);
3242
}
@@ -118,5 +128,74 @@ public String toString() {
118128
'}';
119129
}
120130
}
121-
131+
132+
public static class WxMenuRule {
133+
private String groupId;
134+
private String sex;
135+
private String country;
136+
private String province;
137+
private String city;
138+
private String clientPlatformType;
139+
140+
public String getGroupId() {
141+
return groupId;
142+
}
143+
144+
public void setGroupId(String groupId) {
145+
this.groupId = groupId;
146+
}
147+
148+
public String getSex() {
149+
return sex;
150+
}
151+
152+
public void setSex(String sex) {
153+
this.sex = sex;
154+
}
155+
156+
public String getCountry() {
157+
return country;
158+
}
159+
160+
public void setCountry(String country) {
161+
this.country = country;
162+
}
163+
164+
public String getProvince() {
165+
return province;
166+
}
167+
168+
public void setProvince(String province) {
169+
this.province = province;
170+
}
171+
172+
public String getCity() {
173+
return city;
174+
}
175+
176+
public void setCity(String city) {
177+
this.city = city;
178+
}
179+
180+
public String getClientPlatformType() {
181+
return clientPlatformType;
182+
}
183+
184+
public void setClientPlatformType(String clientPlatformType) {
185+
this.clientPlatformType = clientPlatformType;
186+
}
187+
188+
@Override
189+
public String toString() {
190+
return "matchrule:{" +
191+
"group_id='" + groupId + '\'' +
192+
", sex='" + sex + '\'' +
193+
", country" + country + '\'' +
194+
", province" + province + '\'' +
195+
", city" + city + '\'' +
196+
", client_platform_type" + clientPlatformType + '\'' +
197+
"}";
198+
}
199+
}
200+
122201
}

weixin-java-common/src/main/java/me/chanjar/weixin/common/util/json/WxMenuGsonAdapter.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@
1010

1111
import java.lang.reflect.Type;
1212

13-
import me.chanjar.weixin.common.bean.WxMenu;
14-
13+
import com.google.gson.Gson;
1514
import com.google.gson.JsonArray;
1615
import com.google.gson.JsonDeserializationContext;
1716
import com.google.gson.JsonDeserializer;
@@ -21,6 +20,8 @@
2120
import com.google.gson.JsonSerializationContext;
2221
import com.google.gson.JsonSerializer;
2322

23+
import me.chanjar.weixin.common.bean.WxMenu;
24+
2425
/**
2526
*
2627
* @author Daniel Qian
@@ -38,6 +39,11 @@ public JsonElement serialize(WxMenu menu, Type typeOfSrc, JsonSerializationConte
3839
}
3940
json.add("button", buttonArray);
4041

42+
if (menu.getMatchRule() != null) {
43+
Gson gson = new Gson();
44+
json.add("matchrule", gson.toJsonTree(menu.getMatchRule()));
45+
}
46+
4147
return json;
4248
}
4349

weixin-java-cp/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>me.chanjar</groupId>
88
<artifactId>weixin-java-parent</artifactId>
9-
<version>1.3.2</version>
9+
<version>1.3.3</version>
1010
</parent>
1111

1212
<artifactId>weixin-java-cp</artifactId>

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpMessage.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public class WxCpMessage implements Serializable {
2626
private String description;
2727
private String musicUrl;
2828
private String hqMusicUrl;
29+
private String safe;
2930
private List<WxArticle> articles = new ArrayList<WxArticle>();
3031

3132
public String getToUser() {
@@ -63,6 +64,14 @@ public String getMsgType() {
6364
return msgType;
6465
}
6566

67+
public String getSafe() {
68+
return safe;
69+
}
70+
71+
public void setSafe(String safe) {
72+
this.safe = safe;
73+
}
74+
6675
/**
6776
* <pre>
6877
* 请使用

weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/messagebuilder/BaseBuilder.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package me.chanjar.weixin.cp.bean.messagebuilder;
22

3+
import me.chanjar.weixin.common.api.WxConsts;
34
import me.chanjar.weixin.cp.bean.WxCpMessage;
45

56
public class BaseBuilder<T> {
@@ -8,6 +9,7 @@ public class BaseBuilder<T> {
89
protected String toUser;
910
protected String toParty;
1011
protected String toTag;
12+
protected String safe;
1113

1214
public T agentId(String agentId) {
1315
this.agentId = agentId;
@@ -29,13 +31,20 @@ public T toTag(String toTag) {
2931
return (T) this;
3032
}
3133

34+
public T safe(String safe) {
35+
this.safe = safe;
36+
return (T) this;
37+
}
38+
3239
public WxCpMessage build() {
3340
WxCpMessage m = new WxCpMessage();
3441
m.setAgentId(this.agentId);
3542
m.setMsgType(this.msgType);
3643
m.setToUser(this.toUser);
3744
m.setToParty(this.toParty);
3845
m.setToTag(this.toTag);
46+
m.setSafe(
47+
(this.safe == null || "".equals(this.safe))? WxConsts.CUSTOM_MSG_SAFE_NO: this.safe);
3948
return m;
4049
}
4150

weixin-java-mp/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>me.chanjar</groupId>
88
<artifactId>weixin-java-parent</artifactId>
9-
<version>1.3.2</version>
9+
<version>1.3.3</version>
1010
</parent>
1111
<artifactId>weixin-java-mp</artifactId>
1212
<name>WeiXin Java Tools - MP</name>

0 commit comments

Comments
 (0)