From 083c414ff683ab12e65069c6c0ba6871ed1ed09f Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期六, 12 七月 2025 10:19:09 +0800
Subject: [PATCH] 保洁巡检本周代码

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSystemBulletinController.java |   35 ++++++++++++++++++++++++++++++++---
 1 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSystemBulletinController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSystemBulletinController.java
index de6cce3..c0fe756 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSystemBulletinController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSystemBulletinController.java
@@ -2,6 +2,7 @@
 
 
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.common.core.domain.R;
@@ -46,6 +47,10 @@
     @ApiOperation(value = "新增系统公告")
     @PostMapping(value = "/add")
     public R<Boolean> add(@RequestBody SystemBulletinDTO dto) {
+        if(dto.getStatus()==1){
+            systemBulletinService.update(Wrappers.lambdaUpdate(TSystemBulletin.class)
+                    .set(TSystemBulletin::getStatus, 2));
+        }
         systemBulletinService.save(dto);
         return R.ok();
     }
@@ -53,25 +58,49 @@
     @ApiOperation(value = "编辑系统公告")
     @PostMapping(value = "/edit")
     public R<Boolean> edit(@RequestBody SystemBulletinDTO dto) {
+        if(dto.getStatus()==1){
+            systemBulletinService.update(Wrappers.lambdaUpdate(TSystemBulletin.class)
+                    .set(TSystemBulletin::getStatus, 2));
+        }
         systemBulletinService.updateById(dto);
+        return R.ok();
+    }
+    @ApiOperation(value = "详情系统公告")
+    @GetMapping(value = "/detail")
+    public R<TSystemBulletin> detail(@RequestParam String id) {
+
+        return R.ok(systemBulletinService.getById(id));
+    }
+
+    @Log(title = "删除系统公告", businessType = BusinessType.DELETE)
+    @ApiOperation(value = "删除系统公告")
+    @DeleteMapping(value = "/deleteById")
+    public R<Boolean> deleteById(@RequestParam String id) {
+        systemBulletinService.removeById(id);
         return R.ok();
     }
     @Log(title = "批量删除系统公告", businessType = BusinessType.DELETE)
     @ApiOperation(value = "批量删除系统公告")
-    @DeleteMapping(value = "/delete")
-    public R<Boolean> edit(@RequestParam String ids) {
+    @DeleteMapping(value = "/deleteByIds")
+    public R<Boolean> deleteByIds(@RequestParam String ids) {
         String[] split = ids.split(",");
         systemBulletinService.removeBatchByIds(Arrays.asList(split));
         return R.ok();
     }
     @Log(title = "启用/禁用系统公告", businessType = BusinessType.OTHER)
     @ApiOperation(value = "启用/禁用系统公告")
-    @DeleteMapping(value = "/editStatus")
+    @GetMapping(value = "/editStatus")
     public R<Boolean> editStatus(@RequestParam String id) {
         TSystemBulletin byId = systemBulletinService.getById(id);
         if (byId.getStatus()==1){
             byId.setStatus(2);
         }else{
+            // 查询是否存在已启用的公告
+            long count = systemBulletinService.count(Wrappers.lambdaQuery(TSystemBulletin.class)
+                    .eq(TSystemBulletin::getStatus, 1));
+            if (count>0){
+                return R.fail("已有启用公告,请将旧公告禁用");
+            }
             byId.setStatus(1);
         }
         systemBulletinService.updateById(byId);

--
Gitblit v1.7.1