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