diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpGroupRobotService.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpGroupRobotService.java index b5a9579e0..9839afb9e 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpGroupRobotService.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpGroupRobotService.java @@ -88,4 +88,13 @@ public interface WxCpGroupRobotService { * @throws WxErrorException 异常 */ void sendNews(String webhookUrl, List articleList) throws WxErrorException; + + /** + * 发送文件类型的消息 + * + * @param webhookUrl webhook地址 + * @param mediaId 文件id + * @throws WxErrorException 异常 + */ + void sendFile(String webhookUrl, String mediaId) throws WxErrorException; } diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpGroupRobotServiceImpl.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpGroupRobotServiceImpl.java index 9661adf47..056a51fdd 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpGroupRobotServiceImpl.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpGroupRobotServiceImpl.java @@ -1,7 +1,6 @@ package me.chanjar.weixin.cp.api.impl; import lombok.RequiredArgsConstructor; -import me.chanjar.weixin.common.error.WxError; import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.cp.api.WxCpGroupRobotService; import me.chanjar.weixin.cp.api.WxCpService; @@ -14,8 +13,6 @@ import org.apache.commons.lang3.StringUtils; import java.util.List; import static me.chanjar.weixin.cp.constant.WxCpConsts.GroupRobotMsgType; -import static me.chanjar.weixin.cp.constant.WxCpConsts.GroupRobotMsgType.MARKDOWN; -import static me.chanjar.weixin.cp.constant.WxCpConsts.GroupRobotMsgType.TEXT; /** * 企业微信群机器人消息发送api 实现 @@ -59,7 +56,7 @@ public class WxCpGroupRobotServiceImpl implements WxCpGroupRobotService { @Override public void sendText(String webhookUrl, String content, List mentionedList, List mobileList) throws WxErrorException { this.cpService.postWithoutToken(webhookUrl, new WxCpGroupRobotMessage() - .setMsgType(TEXT) + .setMsgType(GroupRobotMsgType.TEXT) .setContent(content) .setMentionedList(mentionedList) .setMentionedMobileList(mobileList) @@ -69,7 +66,7 @@ public class WxCpGroupRobotServiceImpl implements WxCpGroupRobotService { @Override public void sendMarkdown(String webhookUrl, String content) throws WxErrorException { this.cpService.postWithoutToken(webhookUrl, new WxCpGroupRobotMessage() - .setMsgType(MARKDOWN) + .setMsgType(GroupRobotMsgType.MARKDOWN) .setContent(content) .toJson()); } @@ -89,4 +86,11 @@ public class WxCpGroupRobotServiceImpl implements WxCpGroupRobotService { .setArticles(articleList).toJson()); } + @Override + public void sendFile(String webhookUrl, String mediaId) throws WxErrorException { + this.cpService.postWithoutToken(webhookUrl, new WxCpGroupRobotMessage() + .setMsgType(GroupRobotMsgType.FILE) + .setMediaId(mediaId).toJson()); + } + } diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpGroupRobotMessage.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpGroupRobotMessage.java index 387b454cd..bf73d2e6e 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpGroupRobotMessage.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/message/WxCpGroupRobotMessage.java @@ -57,6 +57,11 @@ public class WxCpGroupRobotMessage implements Serializable { */ private List articles; + /** + * 文件id + */ + private String mediaId; + public String toJson() { JsonObject messageJson = new JsonObject(); messageJson.addProperty("msgtype", this.getMsgType()); @@ -112,6 +117,12 @@ public class WxCpGroupRobotMessage implements Serializable { messageJson.add("news", text); break; } + case FILE: { + JsonObject file = new JsonObject(); + file.addProperty("media_id", this.getMediaId()); + messageJson.add("file", file); + break; + } default: } diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpConsts.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpConsts.java index 3a4c10e21..d6c506a69 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpConsts.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpConsts.java @@ -374,6 +374,12 @@ public class WxCpConsts { * 图文消息(点击跳转到外链). */ public static final String NEWS = "news"; + + /** + * 文件类型消息. + */ + public static final String FILE = "file"; + } /**