Skip to content

Commit 09ed365

Browse files
committed
#312 添加 删除群发 的接口
1 parent c81bbae commit 09ed365

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpMassMessageService.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ public interface WxMpMassMessageService {
3434
* 群发消息预览接口
3535
*/
3636
String MESSAGE_MASS_PREVIEW_URL = "https://api.weixin.qq.com/cgi-bin/message/mass/preview";
37+
/**
38+
* 删除群发接口
39+
*/
40+
String MESSAGE_MASS_DELETE_URL = "https://api.weixin.qq.com/cgi-bin/message/mass/delete";
3741

3842
/**
3943
* <pre>
@@ -92,4 +96,24 @@ public interface WxMpMassMessageService {
9296
*/
9397
WxMpMassSendResult massMessagePreview(WxMpMassPreviewMessage wxMpMassPreviewMessage) throws Exception;
9498

99+
/**
100+
* <pre>
101+
* 删除群发
102+
* 群发之后,随时可以通过该接口删除群发。
103+
* 请注意:
104+
* 1、只有已经发送成功的消息才能删除
105+
* 2、删除消息是将消息的图文详情页失效,已经收到的用户,还是能在其本地看到消息卡片。
106+
* 3、删除群发消息只能删除图文消息和视频消息,其他类型的消息一经发送,无法删除。
107+
* 4、如果多次群发发送的是一个图文消息,那么删除其中一次群发,就会删除掉这个图文消息也,导致所有群发都失效
108+
* 接口调用请求说明:
109+
* http请求方式: POST
110+
* https://api.weixin.qq.com/cgi-bin/message/mass/delete?access_token=ACCESS_TOKEN
111+
* 详情请见:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1481187827_i0l21
112+
* </pre>
113+
*
114+
* @param msgId 发送出去的消息ID
115+
* @param articleIndex 要删除的文章在图文消息中的位置,第一篇编号为1,该字段不填或填0会删除全部文章
116+
*/
117+
void delete(Integer msgId, Integer articleIndex) throws Exception;
118+
95119
}

weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpMassMessageServiceImpl.java

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

3+
import com.google.gson.JsonObject;
34
import me.chanjar.weixin.common.exception.WxErrorException;
45
import me.chanjar.weixin.mp.api.WxMpMassMessageService;
56
import me.chanjar.weixin.mp.api.WxMpService;
@@ -55,4 +56,12 @@ public WxMpMassSendResult massMessagePreview(WxMpMassPreviewMessage wxMpMassPrev
5556
return WxMpMassSendResult.fromJson(responseContent);
5657
}
5758

59+
@Override
60+
public void delete(Integer msgId, Integer articleIndex) throws Exception {
61+
JsonObject jsonObject = new JsonObject();
62+
jsonObject.addProperty("msg_id", msgId);
63+
jsonObject.addProperty("article_idx", articleIndex);
64+
this.wxMpService.post(MESSAGE_MASS_DELETE_URL, jsonObject.toString());
65+
}
66+
5867
}

weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpMassMessageServiceImplTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,4 +181,9 @@ public Object[][] massMessages() throws WxErrorException, IOException {
181181
return messages;
182182
}
183183

184+
@Test
185+
public void testMassDelete() throws Exception {
186+
this.wxService.getMassMessageService().delete(1,2);
187+
}
188+
184189
}

0 commit comments

Comments
 (0)