From ed527bae283588de0a9848390348e93c3820fef9 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期一, 20 四月 2026 17:07:49 +0800
Subject: [PATCH] feat:通知功能完善

---
 tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/notice/controller/AppNoticeController.java |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/notice/controller/AppNoticeController.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/notice/controller/AppNoticeController.java
index d54aef8..d4d6ee6 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/notice/controller/AppNoticeController.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/notice/controller/AppNoticeController.java
@@ -1,8 +1,12 @@
 package com.tcm.training.admin.app.notice.controller;
 
 import com.tcm.training.admin.app.notice.service.AppNoticeService;
+import com.tcm.training.admin.app.notice.vo.AppActivityNoticeDetailVO;
+import com.tcm.training.admin.app.notice.vo.AppActivityNoticeListItemVO;
+import com.tcm.training.admin.app.notice.vo.AppNoticeDetailVO;
 import com.tcm.training.admin.app.notice.vo.AppNoticeItemVO;
 import com.tcm.training.admin.common.ApiResponse;
+import com.tcm.training.admin.common.PageResponse;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -54,4 +58,38 @@
         appNoticeService.markRead(noticeType);
         return ApiResponse.ok(null);
     }
+
+    /**
+     * 获取指定类型通知详情。
+     */
+    @GetMapping("/{noticeType}/detail")
+    public ApiResponse<AppNoticeDetailVO> detail(@PathVariable("noticeType") String noticeType) {
+        return ApiResponse.ok(appNoticeService.getNoticeDetail(noticeType));
+    }
+
+    /**
+     * 获取当前登录用户的活动通知分页列表。
+     */
+    @GetMapping("/activity")
+    public ApiResponse<PageResponse<AppActivityNoticeListItemVO>> activityPage(@org.springframework.web.bind.annotation.RequestParam(defaultValue = "1") int page,
+                                                                               @org.springframework.web.bind.annotation.RequestParam(defaultValue = "10") int pageSize) {
+        return ApiResponse.ok(appNoticeService.pageActivityNotices(page, pageSize));
+    }
+
+    /**
+     * 获取当前登录用户的活动通知详情。
+     */
+    @GetMapping("/activity/{id}")
+    public ApiResponse<AppActivityNoticeDetailVO> activityDetail(@PathVariable("id") Long id) {
+        return ApiResponse.ok(appNoticeService.getActivityNoticeDetail(id));
+    }
+
+    /**
+     * 将当前登录用户的一条活动通知标记为已读。
+     */
+    @PostMapping("/activity/{id}/read")
+    public ApiResponse<Void> markActivityRead(@PathVariable("id") Long id) {
+        appNoticeService.markActivityRead(id);
+        return ApiResponse.ok(null);
+    }
 }

--
Gitblit v1.7.1