From 47dd1ecaf0aafa66b9c39fff9c91abc1c611b02c Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期二, 27 十月 2026 17:59:46 +0800
Subject: [PATCH] feat(wxcp): 通知支持图片/视频/Markdown/多图文模板与成员预览
---
yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/service/push/WxCpMessagePushServiceImpl.java | 46 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 46 insertions(+), 0 deletions(-)
diff --git a/yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/service/push/WxCpMessagePushServiceImpl.java b/yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/service/push/WxCpMessagePushServiceImpl.java
index 2feb14c..7c027c8 100644
--- a/yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/service/push/WxCpMessagePushServiceImpl.java
+++ b/yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/service/push/WxCpMessagePushServiceImpl.java
@@ -131,6 +131,52 @@
}
}
+ @Override
+ public WxCpPushResultVO pushVideo(java.io.File file, String title, String description,
+ Integer scope, String target) {
+ if (file == null || !file.exists()) {
+ return new WxCpPushResultVO(false, null, "瑙嗛鏂囦欢涓嶅瓨鍦紝鏃犳硶鎺ㄩ��", null, null);
+ }
+ try {
+ // 浼佷笟寰俊瑙嗛娑堟伅瑕佹眰鍏堢敤 video 绫诲瀷涓婁紶鎹㈠彇 mediaId
+ WxMediaUploadResult upload = wxCpService.getMediaService().upload("video", file);
+ if (upload == null || StrUtil.isBlank(upload.getMediaId())) {
+ return new WxCpPushResultVO(false, null, "瑙嗛涓婁紶浼佷笟寰俊澶辫触", null, null);
+ }
+ WxCpMessage message = WxCpMessage.VIDEO()
+ .agentId(agentId())
+ .mediaId(upload.getMediaId())
+ .title(StrUtil.blankToDefault(title, "閫氱煡瑙嗛"))
+ .description(StrUtil.blankToDefault(description, ""))
+ .build();
+ return doSend(message, scope, target, "video");
+ } catch (Exception e) {
+ log.error("[pushVideo][瑙嗛涓婁紶鎴栨帹閫佸紓甯� file={}]", file.getName(), e);
+ return new WxCpPushResultVO(false, null, "瑙嗛鎺ㄩ�佸紓甯革細" + e.getMessage(), null, null);
+ }
+ }
+
+ @Override
+ public WxCpPushResultVO pushMarkdown(String content, Integer scope, String target) {
+ WxCpMessage message = WxCpMessage.MARKDOWN()
+ .agentId(agentId())
+ .content(content)
+ .build();
+ return doSend(message, scope, target, "markdown");
+ }
+
+ @Override
+ public WxCpPushResultVO pushMultiNews(java.util.List<NewArticle> articles, Integer scope, String target) {
+ if (articles == null || articles.isEmpty()) {
+ return new WxCpPushResultVO(false, null, "鍥炬枃鍐呭涓虹┖锛屾棤娉曟帹閫�", null, null);
+ }
+ WxCpMessage message = WxCpMessage.NEWS()
+ .agentId(agentId())
+ .articles(articles)
+ .build();
+ return doSend(message, scope, target, "multi_news");
+ }
+
/**
* 缁熶竴澶勭悊鎺ユ敹鑰呰В鏋愩�佸彂閫佷笌閿欒鍖呰
*/
--
Gitblit v1.9.3