From 177f3323cf69ad098df7967a7a9f76d0d116c69f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E5=85=B4=E7=90=B3?= <1911390090@qq.com>
Date: Thu, 15 May 2025 17:29:37 +0800
Subject: [PATCH] =?UTF-8?q?=E5=85=89=E7=BA=A4=E6=8A=A5=E8=AD=A6=E6=8E=A8?=
 =?UTF-8?q?=E9=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../controller/DcEventController.java         | 26 +++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/zc-business/src/main/java/com/zc/business/controller/DcEventController.java b/zc-business/src/main/java/com/zc/business/controller/DcEventController.java
index c9b6d5fe..1f4bb6e3 100644
--- a/zc-business/src/main/java/com/zc/business/controller/DcEventController.java
+++ b/zc-business/src/main/java/com/zc/business/controller/DcEventController.java
@@ -9,6 +9,8 @@ import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.zc.business.domain.DcEvent;
 import com.zc.business.enums.UniversalEnum;
 import com.zc.business.service.IDcEventService;
+import com.zc.common.core.websocket.WebSocketService;
+import com.zc.common.core.websocket.constant.WebSocketEvent;
 import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -17,9 +19,13 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
+import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import static com.baomidou.mybatisplus.core.toolkit.ObjectUtils.isEmpty;
+
 /**
  * 事件信息Controller
  *
@@ -264,4 +270,24 @@ if (eventState==UniversalEnum.ZERO.getNumber()){
     public Long getCountNum(){
         return dcEventService.getCountNum();
     }
+
+    @ApiOperation("光纤报警")
+    @PostMapping("/opticalFiberAlarm")
+    public AjaxResult receiveData(@RequestBody Map<String, Object> payload) {
+        // 判断 payload 是否为空
+        if (payload == null || payload.isEmpty()) {
+            return AjaxResult.error("请求体为空");
+        }
+        String contentType = (String) payload.get("contentType");
+        String message = (String) payload.get("message");
+        String title = (String) payload.get("title");
+        Map<String, Object> contentMap = new HashMap<>();
+        contentMap.put("contentType", title);
+        contentMap.put("message", message);
+        contentMap.put("warningTime", new Date());
+        WebSocketService.broadcast("opticalFiberAlarm", contentMap);
+        return AjaxResult.success();
+    }
+
 }
+