From 7fb7b39bedae57a957be706bc9b866d89f7316f2 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期三, 26 八月 2026 14:28:02 +0800
Subject: [PATCH] feat: 添加清除当前用户的所有消息接口

---
 src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java |   10 ++++++++++
 src/main/java/com/ruoyi/project/system/service/ISysNoticeService.java         |    7 +++++++
 src/main/java/com/ruoyi/project/system/controller/SysNoticeController.java    |    8 ++++++++
 3 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/project/system/controller/SysNoticeController.java b/src/main/java/com/ruoyi/project/system/controller/SysNoticeController.java
index eaba7d0..f08099f 100644
--- a/src/main/java/com/ruoyi/project/system/controller/SysNoticeController.java
+++ b/src/main/java/com/ruoyi/project/system/controller/SysNoticeController.java
@@ -87,6 +87,14 @@
         return toAjax(noticeService.readAll());
     }
 
+    /**
+     * 娓呴櫎褰撳墠鐧诲綍鐢ㄦ埛鐨勫叏閮ㄦ秷鎭�
+     */
+    @DeleteMapping("/clearAll")
+    public R clearAll() {
+        return R.ok(noticeService.clearAll());
+    }
+
     @PostMapping("appReadNotice")
     @Operation(summary = "绉诲姩绔牴鎹秷鎭疘D杩涜宸茶")
     public AjaxResult appReadNotice(@RequestParam("noticeId") Long noticeId) {
diff --git a/src/main/java/com/ruoyi/project/system/service/ISysNoticeService.java b/src/main/java/com/ruoyi/project/system/service/ISysNoticeService.java
index f371744..ef23cc5 100644
--- a/src/main/java/com/ruoyi/project/system/service/ISysNoticeService.java
+++ b/src/main/java/com/ruoyi/project/system/service/ISysNoticeService.java
@@ -67,6 +67,13 @@
     int readAll();
 
     /**
+     * 娓呴櫎褰撳墠鐧诲綍鐢ㄦ埛鐨勫叏閮ㄦ秷鎭�
+     *
+     * @return 缁撴灉
+     */
+    int clearAll();
+
+    /**
      * 閫氳繃鎸囧畾浜哄彂閫佹彁閱�
      * @param title 鏍囬
      * @param message 娑堟伅
diff --git a/src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java b/src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java
index d04239f..27f5a41 100644
--- a/src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java
+++ b/src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java
@@ -155,6 +155,16 @@
     }
 
     @Override
+    public int clearAll() {
+        Long userId = SecurityUtils.getUserId();
+        if (userId == null) {
+            return 0;
+        }
+        return noticeMapper.delete(Wrappers.<SysNotice>lambdaQuery()
+                .eq(SysNotice::getConsigneeId, userId));
+    }
+
+    @Override
     public void simpleNoticeByUser(String title, String message, List<Long> consigneeId, String jumpPath) {
         Long userId = SecurityUtils.getLoginUser().getUserId();
         Long tenantId = SecurityUtils.getLoginUser().getTenantId();

--
Gitblit v1.9.3