From f6760448428b0a11aebab4ee281023532e4f61d7 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期一, 27 十月 2025 19:53:56 +0800
Subject: [PATCH] bug修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java |   40 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java
index 5b77a38..5814450 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaNotificationController.java
@@ -63,10 +63,14 @@
     @DeleteMapping(value = "/delete")
     public R delete(@RequestParam String ids) {
         List<String> notificationIds = Arrays.asList(ids.split(","));
+        List<Integer> idsList = new ArrayList<>();
+        for (String notificationId : notificationIds) {
+            idsList.add(Integer.parseInt(notificationId));
+        }
         // 删除后 将已发送的消息通知一并删除
-        oaNotificationService.removeBatchByIds(notificationIds);
+        oaNotificationService.removeBatchByIds(idsList);
         oaNotifationUserService.remove(new LambdaQueryWrapper<OaNotificationUser>()
-                .in(OaNotificationUser::getNotificationId,notificationIds));
+                .in(OaNotificationUser::getNotificationId,idsList));
         return R.ok();
     }
     @Log(title = "消息通知-新增消息", businessType = BusinessType.INSERT)
@@ -98,6 +102,38 @@
         oaNotifationUserService.saveBatch(oaNotificationUsers);
         return R.ok();
     }
+    @Log(title = "消息通知-编辑消息", businessType = BusinessType.UPDATE)
+    @ApiOperation(value = "编辑消息")
+    @PostMapping(value = "/edit")
+    public R<Boolean> edit( @RequestBody OaNotification dto) {
+        oaNotificationService.updateById(dto);
+        // 删除消息通知
+        oaNotifationUserService.remove(new LambdaQueryWrapper<OaNotificationUser>()
+                .eq(OaNotificationUser::getNotificationId,dto.getId()));
+        ArrayList<OaNotificationUser> oaNotificationUsers = new ArrayList<>();
+        // 发送消息通知
+        if (dto.getType()){
+            // 指定人员发送
+            Arrays.asList(dto.getUserIds().split(","))
+                    .forEach(userId -> {
+                        OaNotificationUser oaNotificationUser = new OaNotificationUser();
+                        oaNotificationUser.setUserId(Integer.parseInt(userId));
+                        oaNotificationUser.setNotificationId(dto.getId());
+                        oaNotificationUsers.add(oaNotificationUser);
+                    });
+        }else{
+            // 所有人发送
+            List<SysUser> sysUsers = sysUserService.selectAllList();
+            sysUsers.forEach(sysUser -> {
+                OaNotificationUser oaNotificationUser = new OaNotificationUser();
+                oaNotificationUser.setUserId(sysUser.getUserId().intValue());
+                oaNotificationUser.setNotificationId(dto.getId());
+                oaNotificationUsers.add(oaNotificationUser);
+            });
+        }
+        oaNotifationUserService.saveBatch(oaNotificationUsers);
+        return R.ok();
+    }
     @ApiOperation(value = "消息通知详情")
     @GetMapping(value = "/detail")
     public R<NotificationDetailVO> detail(String id) {

--
Gitblit v1.7.1