From 77393cb729ec6b20289cd61153ecb4055bd8a2a9 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Wed, 06 Dec 2023 15:23:53 +0800
Subject: [PATCH] 数据预警
---
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sms/feign/DataAbnormalWarnClientFallback.java | 19 ++++++
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sms/feign/IDataAbnormalWarnClient.java | 28 +++++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/feign/DataAbnormalWarnClient.java | 82 +++++++++++++++++++++++++++
3 files changed, 129 insertions(+), 0 deletions(-)
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sms/feign/DataAbnormalWarnClientFallback.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sms/feign/DataAbnormalWarnClientFallback.java
new file mode 100644
index 0000000..28b2dc0
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sms/feign/DataAbnormalWarnClientFallback.java
@@ -0,0 +1,19 @@
+package cn.gistack.sm.sms.feign;
+
+import org.springframework.stereotype.Component;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: 失败调度
+ * @USER: aix
+ * @DATE: 2023/12/5 15:31
+ */
+@Component
+public class DataAbnormalWarnClientFallback implements IDataAbnormalWarnClient {
+
+ @Override
+ public void sendOperate(String tableName, String phones) {
+
+ }
+
+}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sms/feign/IDataAbnormalWarnClient.java b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sms/feign/IDataAbnormalWarnClient.java
new file mode 100644
index 0000000..3a35309
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sms/feign/IDataAbnormalWarnClient.java
@@ -0,0 +1,28 @@
+package cn.gistack.sm.sms.feign;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: 数据异常预警
+ * @USER: aix
+ * @DATE: 2023/12/5 15:28
+ */
+@FeignClient(
+ value = "blade-sm",
+ fallback = DataAbnormalWarnClientFallback.class
+)
+public interface IDataAbnormalWarnClient {
+
+ String API_PREFIX = "/client";
+ String SEND_OPERATE = API_PREFIX + "/sendOperate";
+
+ /**
+ * 当有异常数据时,发送预警短信
+ */
+ @GetMapping(SEND_OPERATE)
+ void sendOperate(@RequestParam("tableName")String tableName, @RequestParam("phones")String phones);
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/feign/DataAbnormalWarnClient.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/feign/DataAbnormalWarnClient.java
new file mode 100644
index 0000000..88e2b72
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sms/feign/DataAbnormalWarnClient.java
@@ -0,0 +1,82 @@
+package cn.gistack.sm.sms.feign;
+
+import cn.com.flaginfo.sdk.cmc.api.sms.send.SMSSendRequest;
+import cn.gistack.sm.sjztmd.entity.AttStBase;
+import cn.gistack.sm.sjztmd.service.*;
+import cn.gistack.sm.sms.util.SmsUtils;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.tenant.annotation.NonDS;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
+
+/**
+ * @PROJECT_NAME: skjcmanager
+ * @DESCRIPTION: 数据异常告警feign实现
+ * @USER: aix
+ * @DATE: 2023/12/5 15:39
+ */
+@NonDS
+@ApiIgnore
+@RestController
+@AllArgsConstructor
+@Slf4j
+public class DataAbnormalWarnClient implements IDataAbnormalWarnClient{
+
+ @Autowired
+ private IAttResBaseService resBaseService;
+
+ @Autowired
+ private IAttStBaseService attStBaseService;
+ @Autowired
+ private IAttResStagCharService attResStagCharService;
+
+ @Autowired
+ private IAttResRsbNorspiService attResRsbNorspiService;
+
+ @Autowired
+ private IAttResFlseLimService attResFlseLimService;
+
+ @Override
+ public void sendOperate(String tableName, String phones) {
+ //汇聚任务水库基本信息表 用于判断是否有数据
+ long count = 1l;
+ if (tableName.equals("dim_res_info_a"))
+ count = resBaseService.getDimResInfoACount();
+ else if (tableName.equals("att_res_base"))
+ count = resBaseService.count();
+ else if (tableName.equals("att_st_base")) {
+ // 构造 QueryWrapper 对象
+ QueryWrapper<AttStBase> wrapper = new QueryWrapper<>();
+ wrapper.isNotNull("\"share_st_code\"").ne("\"share_st_code\"", "");
+ count = attStBaseService.count(wrapper);
+ } else if (tableName.equals("att_res_stag_char")) {
+ count = attResStagCharService.count();
+ } else if (tableName.equals("att_res_rsb_norspi")) {
+ count = attResRsbNorspiService.count();
+ } else if (tableName.equals("att_res_flse_lim")) {
+ count = attResFlseLimService.count();
+ }
+
+ log.info("预警数量count:" + count);
+
+ if (count == 0) {
+ sendMsg(tableName, phones);
+ }
+
+ }
+
+ private void sendMsg(String tableName, String phones) {
+ SMSSendRequest request = new SMSSendRequest();
+ String [] phoness = phones.split(",");
+ for (String n: phoness) {
+ request.setUserNumber(n);
+ request.setTemplateId("2431012268292");
+ request.setMessageContent("紧急通知:数据表异常,请立即检查数据源并填充缺失的数据!"+tableName+",数据为空");
+ SmsUtils.sendMsg(request);
+ }
+ }
+
+}
--
Gitblit v1.9.3