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/vo/WxCpNoticeSaveReqVO.java |   27 ++++++++++++++++++++++++---
 1 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/controller/admin/notice/vo/WxCpNoticeSaveReqVO.java b/yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/controller/admin/notice/vo/WxCpNoticeSaveReqVO.java
index 67c67c3..6028dcd 100644
--- a/yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/controller/admin/notice/vo/WxCpNoticeSaveReqVO.java
+++ b/yudao-module-wxcp/src/main/java/cn/iocoder/yudao/module/wxcp/controller/admin/notice/vo/WxCpNoticeSaveReqVO.java
@@ -4,9 +4,12 @@
 import cn.iocoder.yudao.module.wxcp.enums.activity.WxCpPushScopeEnum;
 import cn.iocoder.yudao.module.wxcp.enums.notice.WxCpNoticeTypeEnum;
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.Valid;
 import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.Size;
 import lombok.Data;
+
+import java.util.List;
 
 @Schema(description = "绠$悊鍚庡彴 - 浼佷笟寰俊閫氱煡 鍒涘缓/淇敼 Request VO")
 @Data
@@ -24,7 +27,8 @@
     @Size(max = 10000, message = "閫氱煡姝f枃闀垮害涓嶈兘瓒呰繃 10000 涓瓧绗�")
     private String content;
 
-    @Schema(description = "閫氱煡妯℃澘绫诲瀷锛�1-绾枃鏈� 2-鍥炬枃鍗$墖(濉姤/閾炬帴) 3-鏂囦欢閫氱煡 4-鍥炬枃娑堟伅", example = "1")
+    @Schema(description = "閫氱煡妯℃澘绫诲瀷锛�1绾枃鏈� 2鍥炬枃鍗$墖(濉姤/閾炬帴) 3鏂囦欢閫氱煡 4鍥炬枃娑堟伅 5鍥剧墖閫氱煡 6瑙嗛閫氱煡 7Markdown 8澶氬浘鏂囨秷鎭�",
+            example = "1")
     @InEnum(WxCpNoticeTypeEnum.class)
     private Integer noticeType;
 
@@ -44,13 +48,30 @@
     @Size(max = 1024, message = "灏侀潰鍥惧湴鍧�闀垮害涓嶈兘瓒呰繃 1024 涓瓧绗�")
     private String coverUrl;
 
-    @Schema(description = "鏂囦欢閫氱煡鐨勯檮浠� Blob ID锛堝厛璋冪敤 /system/storage-blob/upload 涓婁紶锛�", example = "1024")
+    @Schema(description = "鏂囦欢閫氱煡鐨勯檮浠� Blob ID锛堟棫鐗堝崟闄勪欢瀛楁锛屽缓璁敼鐢� fileBlobIds锛�", example = "1024")
     private Long fileBlobId;
 
-    @Schema(description = "鏂囦欢閫氱煡鐨勯檮浠舵枃浠跺悕", example = "鍏充簬寮�灞昘X宸ヤ綔鐨勯�氱煡.pdf")
+    @Schema(description = "鏂囦欢閫氱煡鐨勯檮浠舵枃浠跺悕锛堟棫鐗堝崟闄勪欢瀛楁锛�", example = "鍏充簬寮�灞昘X宸ヤ綔鐨勯�氱煡.pdf")
     @Size(max = 255, message = "鏂囦欢鍚嶉暱搴︿笉鑳借秴杩� 255 涓瓧绗�")
     private String fileName;
 
+    @Schema(description = "鍥剧墖閫氱煡鐨勫浘鐗� Blob ID 鍒楄〃锛堟渶澶� 9 寮狅級锛沶ull = 涓嶆敼鍔紝[] = 娓呯┖", example = "[1024,1025]")
+    @Size(max = 9, message = "鍥剧墖鏈�澶氫笂浼� 9 寮�")
+    private List<Long> imageBlobIds;
+
+    @Schema(description = "闄勪欢閫氱煡鐨勯檮浠� Blob ID 鍒楄〃锛堟渶澶� 5 涓級锛沶ull = 涓嶆敼鍔紝[] = 娓呯┖", example = "[1024,1025]")
+    @Size(max = 5, message = "闄勪欢鏈�澶氫笂浼� 5 涓�")
+    private List<Long> fileBlobIds;
+
+    @Schema(description = "瑙嗛閫氱煡鐨勮棰� Blob ID 鍒楄〃锛堟渶澶� 1 涓級锛沶ull = 涓嶆敼鍔紝[] = 娓呯┖", example = "[1024]")
+    @Size(max = 1, message = "瑙嗛鏈�澶氫笂浼� 1 涓�")
+    private List<Long> videoBlobIds;
+
+    @Schema(description = "澶氬浘鏂囨秷鎭殑鍥炬枃鍒楄〃锛沶ull = 涓嶆敼鍔紝[] = 娓呯┖", example = "[]")
+    @Valid
+    @Size(max = 8, message = "澶氬浘鏂囨秷鎭渶澶� 8 绡�")
+    private List<WxCpNoticeArticleSaveReqVO> articleList;
+
     @Schema(description = "鎺ㄩ�佽寖鍥达紙閫夊~锛屼笉浼犻粯璁ゅ叏鍛橈級锛涙帹閫佹椂浠嶅彲鍦ㄦ帹閫佸脊绐楅噷閲嶆柊閫夋嫨", example = "0")
     @InEnum(WxCpPushScopeEnum.class)
     private Integer pushScope;

--
Gitblit v1.9.3