From a3f0b0d521d07c3a735f82388537521ca2c2e3ed Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期六, 07 三月 2026 13:22:01 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/task/handler/ExceptionNoticeHandler.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 60 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/handler/ExceptionNoticeHandler.java b/src/main/java/com/zy/asrs/task/handler/ExceptionNoticeHandler.java
new file mode 100644
index 0000000..3d55188
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/handler/ExceptionNoticeHandler.java
@@ -0,0 +1,60 @@
+package com.zy.asrs.task.handler;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.zy.asrs.entity.ApiLog;
+import com.zy.asrs.service.ApiLogService;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.common.utils.DingDingPush;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+
+@Slf4j
+@Service
+@Transactional
+public class ExceptionNoticeHandler extends AbstractHandler<String> {
+ @Autowired
+ private ApiLogService apiLogService;
+ @Transactional
+ public ReturnT<String> start() {
+ try {
+ EntityWrapper<ApiLog> wrapper = new EntityWrapper<>();
+ wrapper.eq("result", 0).isNull("memo").orderBy("create_time", false);
+ Page<ApiLog> page = apiLogService.selectPage(new Page<>(1, 1), wrapper);
+ if (page.getRecords() != null && !page.getRecords().isEmpty()) {
+ ApiLog item = page.getRecords().get(0);
+ StringBuilder sb = new StringBuilder();
+ sb.append("寮傚父鍛婅-ERROR").append("\n");
+ sb.append("鏃堕棿: ").append(item.getCreateTime$()).append("\n");
+ sb.append("鎺ュ彛: ").append(nvl(item.getNamespace())).append(" ").append(nvl(item.getUrl())).append("\n");
+ sb.append("鐩稿叧淇℃伅: ").append(nvl(item.getClientIp())).append("\n");
+ sb.append("璇锋眰: ").append(cut(nvl(item.getRequest()), 500)).append("\n");
+ sb.append("鍝嶅簲: ").append(cut(nvl(item.getResponse()), 500)).append("\n");
+ DingDingPush.send(sb.toString());
+ item.setMemo("PUSHED");
+ apiLogService.updateById(item);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ return FAIL.setMsg(e.getMessage());
+ }
+ return SUCCESS;
+ }
+
+ private String nvl(String s) {
+ return s == null ? "" : s;
+ }
+
+ private String cut(String s, int max) {
+ if (s == null) {
+ return "";
+ }
+ return s.length() > max ? s.substring(0, max) : s;
+ }
+}
--
Gitblit v1.9.1