From 9f7368ceb60b8f5c635cf455914f435d8d782a90 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期六, 21 六月 2025 23:58:03 +0800
Subject: [PATCH] 添加钉钉推送消息功能

---
 src/main/java/com/gs/xky/controller/DingtalkController.java |   61 ++++++++++++++++++++++++++++++
 1 files changed, 61 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/gs/xky/controller/DingtalkController.java b/src/main/java/com/gs/xky/controller/DingtalkController.java
new file mode 100644
index 0000000..f84bca8
--- /dev/null
+++ b/src/main/java/com/gs/xky/controller/DingtalkController.java
@@ -0,0 +1,61 @@
+package com.gs.xky.controller;
+
+import com.gs.xky.config.ResultMessage;
+import com.gs.xky.dto.NumbericalDto;
+import com.gs.xky.service.DingtalkInfoService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 閽夐拤娑堟伅鍙戦�佹帶鍒跺櫒
+ *
+ * @author 28567
+ * @description 鎻愪緵閽夐拤娑堟伅鍙戦�佺浉鍏崇殑REST鎺ュ彛
+ * @createDate 2025-01-27
+ */
+@RestController
+@RequestMapping("/api/dingtalk")
+@RequiredArgsConstructor
+@Slf4j
+public class DingtalkController {
+
+    private final DingtalkInfoService dingtalkInfoService;
+
+    /**
+     * 鍙戦�侀拤閽夋秷鎭�
+     *
+     * @param numbericalDto 鍖呭惈妫�楠屽崟鍙风殑璇锋眰鍙傛暟
+     * @return ResultMessage 鎿嶄綔缁撴灉
+     */
+    @PostMapping("/sendMessage")
+    public ResultMessage sendMessage(@RequestBody NumbericalDto numbericalDto) {
+        try {
+            log.info("寮�濮嬪彂閫侀拤閽夋秷鎭紝妫�楠屽崟鍙凤細{}", numbericalDto.getReleaseNo());
+
+            // 鍙傛暟鏍¢獙
+            if (numbericalDto == null || numbericalDto.getReleaseNo() == null || numbericalDto.getReleaseNo().trim().isEmpty()) {
+                log.warn("妫�楠屽崟鍙蜂笉鑳戒负绌�");
+                return ResultMessage.error("妫�楠屽崟鍙蜂笉鑳戒负绌�");
+            }
+
+            // 璋冪敤鏈嶅姟灞傚彂閫佹秷鎭�
+            boolean result = dingtalkInfoService.sendMessage(numbericalDto.getReleaseNo());
+
+            if (result) {
+                log.info("閽夐拤娑堟伅鍙戦�佹垚鍔燂紝妫�楠屽崟鍙凤細{}", numbericalDto.getReleaseNo());
+                return ResultMessage.ok();
+            } else {
+                log.warn("閽夐拤娑堟伅鍙戦�佸け璐ワ紝妫�楠屽崟鍙凤細{}", numbericalDto.getReleaseNo());
+                return ResultMessage.error("閽夐拤娑堟伅鍙戦�佸け璐�");
+            }
+
+        } catch (Exception e) {
+            log.error("鍙戦�侀拤閽夋秷鎭椂鍙戠敓寮傚父锛屾楠屽崟鍙凤細{}", numbericalDto != null ? numbericalDto.getReleaseNo() : "null", e);
+            return ResultMessage.error(e);
+        }
+    }
+} 
\ No newline at end of file

--
Gitblit v1.9.3