Skip to content

Commit b88560d

Browse files
committed
发送客服消息接口支持以某个客服的名义发送消息
1 parent ff80104 commit b88560d

File tree

3 files changed

+29
-1
lines changed

3 files changed

+29
-1
lines changed

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpCustomMessage.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public class WxMpCustomMessage implements Serializable {
2424
private String description;
2525
private String musicUrl;
2626
private String hqMusicUrl;
27+
private String kfAccount;
2728
private List<WxArticle> articles = new ArrayList<>();
2829

2930
public String getToUser() {
@@ -180,4 +181,12 @@ public static NewsBuilder NEWS() {
180181
return new NewsBuilder();
181182
}
182183

184+
public String getKfAccount() {
185+
return kfAccount;
186+
}
187+
188+
public void setKfAccount(String kfAccount) {
189+
this.kfAccount = kfAccount;
190+
}
191+
183192
}

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpCustomMessageGsonAdapter.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414

1515
import java.lang.reflect.Type;
1616

17+
import org.apache.commons.lang3.StringUtils;
18+
1719
public class WxMpCustomMessageGsonAdapter implements JsonSerializer<WxMpCustomMessage> {
1820

1921
public JsonElement serialize(WxMpCustomMessage message, Type typeOfSrc, JsonSerializationContext context) {
@@ -73,6 +75,12 @@ public JsonElement serialize(WxMpCustomMessage message, Type typeOfSrc, JsonSeri
7375
messageJson.add("news", newsJsonObject);
7476
}
7577

78+
if (StringUtils.isNotBlank(message.getKfAccount())){
79+
JsonObject newsJsonObject = new JsonObject();
80+
newsJsonObject.addProperty("kf_account", message.getKfAccount());
81+
messageJson.add("customservice", newsJsonObject);
82+
}
83+
7684
return messageJson;
7785
}
7886

weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/WxMpCustomMessageAPITest.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,18 @@ public void testSendCustomMessage() throws WxErrorException {
2626
message.setToUser(configStorage.getOpenId());
2727
message.setContent("欢迎欢迎,热烈欢迎\n换行测试\n超链接:<a href=\"http://www.baidu.com\">Hello World</a>");
2828

29-
wxService.customMessageSend(message);
29+
this.wxService.customMessageSend(message);
30+
}
31+
32+
public void testSendCustomMessageWithKfAccount() throws WxErrorException {
33+
ApiTestModule.WxXmlMpInMemoryConfigStorage configStorage = (ApiTestModule.WxXmlMpInMemoryConfigStorage) wxService.wxMpConfigStorage;
34+
WxMpCustomMessage message = new WxMpCustomMessage();
35+
message.setMsgType(WxConsts.CUSTOM_MSG_TEXT);
36+
message.setToUser(configStorage.getOpenId());
37+
message.setKfAccount(configStorage.getKfAccount());
38+
message.setContent("欢迎欢迎,热烈欢迎\n换行测试\n超链接:<a href=\"http://www.baidu.com\">Hello World</a>");
39+
40+
this.wxService.customMessageSend(message);
3041
}
3142

3243
}

0 commit comments

Comments
 (0)