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/controller/admin/notice/WxCpNoticeController.java | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/controller/admin/notice/WxCpNoticeController.java b/yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/controller/admin/notice/WxCpNoticeController.java
index 7e71f27..fb1ea6c 100644
--- a/yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/controller/admin/notice/WxCpNoticeController.java
+++ b/yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/controller/admin/notice/WxCpNoticeController.java
@@ -3,6 +3,8 @@
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.system.controller.admin.storage.vo.SystemStorageBlobRespVO;
+import cn.iocoder.yudao.module.wxcp.controller.admin.notice.vo.WxCpNoticeArticleRespVO;
import cn.iocoder.yudao.module.wxcp.controller.admin.notice.vo.WxCpNoticePageReqVO;
import cn.iocoder.yudao.module.wxcp.controller.admin.notice.vo.WxCpNoticeRespVO;
import cn.iocoder.yudao.module.wxcp.controller.admin.notice.vo.WxCpNoticeSaveReqVO;
@@ -21,6 +23,8 @@
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@@ -112,6 +116,23 @@
}
WxCpNoticeRespVO vo = BeanUtils.toBean(notice, WxCpNoticeRespVO.class);
fillNames(vo);
+ // 绱犳潗璇︽儏闇�瑕佸洖鏄撅紝鍒楄〃椤典笉鍥炴樉浠ュ厤澶氭煡闄勪欢琛�
+ vo.setImageAttachmentList(noticeService.getNoticeImageAttachments(notice.getId()));
+ vo.setFileAttachmentList(noticeService.getNoticeFileAttachments(notice.getId()));
+ vo.setVideoAttachmentList(noticeService.getNoticeVideoAttachments(notice.getId()));
+ vo.setImageBlobIds(vo.getImageAttachmentList().stream()
+ .map(SystemStorageBlobRespVO::getId).toList());
+ vo.setFileBlobIds(vo.getFileAttachmentList().stream()
+ .map(SystemStorageBlobRespVO::getId).toList());
+ vo.setVideoBlobIds(vo.getVideoAttachmentList().stream()
+ .map(SystemStorageBlobRespVO::getId).toList());
+ vo.setArticleList(noticeService.getNoticeArticles(notice.getId()).stream().map(article -> {
+ WxCpNoticeArticleRespVO item = BeanUtils.toBean(article, WxCpNoticeArticleRespVO.class);
+ List<SystemStorageBlobRespVO> covers =
+ noticeService.getNoticeArticleCoverAttachments(article.getId());
+ item.setCoverAttachment(covers.isEmpty() ? null : covers.get(0));
+ return item;
+ }).toList());
return vo;
}
@@ -122,6 +143,8 @@
vo.setNoticeTypeName(type != null ? type.getName() : null);
WxCpPushScopeEnum scope = WxCpPushScopeEnum.valueOf(vo.getPushScope());
vo.setPushScopeName(scope != null ? scope.getName() : null);
+ // 棰勮閾炬帴鍙緷璧栭厤缃紝鍒楄〃椤典篃鑳界洿鎺ョ粰鍑猴紝鏂逛究绠$悊鍛樺鍒跺彂缁欐垚鍛�
+ vo.setPreviewUrl(noticeService.buildPreviewUrl(vo.getId()));
}
}
--
Gitblit v1.9.3