From c386374de5ff4a65904124ef839e6862518d27fa Mon Sep 17 00:00:00 2001
From: fei.wang <wf18701153496@163.com>
Date: 星期三, 16 四月 2025 09:12:30 +0800
Subject: [PATCH] v2.0.2,更新时间4.16

---
 src/main/java/com/hxzkmonitor/controller/TbSystemController.java |  122 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 113 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/hxzkmonitor/controller/TbSystemController.java b/src/main/java/com/hxzkmonitor/controller/TbSystemController.java
index 2936ffe..807a47b 100644
--- a/src/main/java/com/hxzkmonitor/controller/TbSystemController.java
+++ b/src/main/java/com/hxzkmonitor/controller/TbSystemController.java
@@ -1,28 +1,43 @@
 package com.hxzkmonitor.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.hxzkmonitor.mapper.TbDuanxinMapper;
+import com.hxzkmonitor.pojo.TbDuanxin;
+import com.hxzkmonitor.pojo.TbDuanxinlog;
 import com.hxzkmonitor.pojo.TbEquipment;
 import com.hxzkmonitor.pojo.TbSystem;
+import com.hxzkmonitor.service.TbDuanxinlogService;
 import com.hxzkmonitor.service.TbSystemService;
 import com.hxzkmonitor.util.R;
+import com.tencentcloudapi.common.Credential;
+import com.tencentcloudapi.common.exception.TencentCloudSDKException;
+import com.tencentcloudapi.common.profile.ClientProfile;
+import com.tencentcloudapi.common.profile.HttpProfile;
+import com.tencentcloudapi.sms.v20210111.SmsClient;
+import com.tencentcloudapi.sms.v20210111.models.SendSmsRequest;
+import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.time.Duration;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
 
 /**
  * <p>
- *  鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author wangfei
@@ -30,17 +45,24 @@
  */
 @RestController
 @RequestMapping("/")
+@Component
 public class TbSystemController {
 
     @Autowired
     com.hxzkmonitor.service.TbSystemService TbSystemService;
 
-
+    @Autowired
+    TbDuanxinMapper tbDuanxinMapper;
+    private String SecretId = "AKIDrjZOI4e6KLZu9FAsSRN8eOwSt52lbMBz";
+    private String SecretKey = "xnRtHUL3YqdMyOLVSBjKkz1pQoxujS4d";
+    @Autowired
+    TbDuanxinlogService tbDuanxinlogService;
+    Integer st = -1;
 
     @ApiOperation(value = "鍒嗛〉鏌ヨ", notes = "鍒嗛〉鏌ヨ")
     @GetMapping("/api/getSystemPage")
     public R getSystem(Page page) {
-        IPage<TbSystem> ipage = TbSystemService.getSystemPage( page);
+        IPage<TbSystem> ipage = TbSystemService.getSystemPage(page);
 
         return R.ok(ipage);
     }
@@ -52,9 +74,91 @@
 
     @GetMapping("/api/getSystemOne")
     public R getSystemOne() {
-        List<TbSystem> list1 = TbSystemService.list();
+
+        List<TbSystem> list1 = TbSystemService.findsystem();
         return R.ok(list1);
     }
-    
+
+    public static boolean isDifferenceGreaterThan60Seconds(String timeStr) {
+        // 瀹氫箟鏃ユ湡鏃堕棿鏍煎紡
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        // 灏嗗瓧绗︿覆鏃堕棿瑙f瀽涓� LocalDateTime 瀵硅薄
+        LocalDateTime givenTime = LocalDateTime.parse(timeStr, formatter);
+        // 鑾峰彇褰撳墠鏃堕棿
+        LocalDateTime currentTime = LocalDateTime.now();
+        // 璁$畻涓や釜鏃堕棿涔嬮棿鐨勫樊鍊�
+        Duration duration = Duration.between(givenTime, currentTime);
+        // 鍒ゆ柇宸�兼槸鍚﹀ぇ浜� 60 绉�
+        return duration.getSeconds() > 60;
+    }
+
+//    @Scheduled(cron = "0 24 15 * * ?")
+@Scheduled(cron = "*/10 * * * * ?")//娴嬭瘯10涓�娆�
+//    @Scheduled(cron = "0 0/10 8-22 * * ?")//8鐐瑰埌10鐐规瘡10鍒嗛挓鎵ц涓�娆�
+    public void sms() throws Exception {
+        System.out.println("鐭俊瀹氭椂鍣ㄦ墽琛�============銆嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨�嬨��");
+        //鏌ヨ鏁版嵁搴撲腑鎵�鏈夌殑鍏徃鏁版嵁
+        List<TbSystem> list1 = TbSystemService.list();
+
+        System.out.println(list1.get(0).getAlerttime());//褰撳墠鏃堕棿-鑾峰彇鏃堕棿澶т簬60
+        boolean result = isDifferenceGreaterThan60Seconds(list1.get(0).getAlerttime());
+        System.out.println("鏃堕棿宸槸鍚﹀ぇ浜� 60 绉�: " + result);
+        //鑾峰彇褰撳墠骞存湀鏃ユ椂闂�
+        if (result) {
+            if (st == 1){
+                try {
+                    Credential cred = new Credential(this.SecretId, this.SecretKey);
+                    HttpProfile httpProfile = new HttpProfile();
+                    httpProfile.setEndpoint("sms.tencentcloudapi.com");
+                    ClientProfile clientProfile = new ClientProfile();
+                    clientProfile.setHttpProfile(httpProfile);
+                    SmsClient client = new SmsClient(cred, "ap-beijing", clientProfile);
+                    SendSmsRequest req = new SendSmsRequest();
+//                String[] phoneNumberSet1 = new String[]{GsPhone.split("[,锛宂")[p]};
+                    QueryWrapper sms = new QueryWrapper();
+                    sms.eq("type", "寮曟搸绂荤嚎鎶ヨ");
+                    List<TbDuanxin> managerList = tbDuanxinMapper.selectList(sms);
+                    for (int s = 0; s < managerList.size(); s++) {
+//                        System.out.println(managerList.get(s).getPhone());
+//                        phoneNumberSet1[s] = managerList.get(s).getPhone();
+                        String[] phoneNumberSet12 = {managerList.get(s).getPhone()};
+                        System.out.println(phoneNumberSet12);
+                        req.setPhoneNumberSet(phoneNumberSet12);
+
+                        req.setSmsSdkAppId("1400838975");
+                        req.setSignName("鍖椾含鍗庢槦鍖楁枟鏅烘帶");
+                        req.setTemplateId("2082020");
+
+//                    String[] templateParamSet1 = {String.valueOf(+num11 / 24 / 60 / 60 / 1000)};
+                        String[] templateParamSet1 = new String[]{managerList.get(s).getDuanxin()};
+                        req.setTemplateParamSet(templateParamSet1);
+                        // 杩斿洖鐨剅esp鏄竴涓猄endSmsResponse鐨勫疄渚嬶紝涓庤姹傚璞″搴�
+                        SendSmsResponse resp = client.SendSms(req);
+                        TbDuanxinlog duanxinlog = new TbDuanxinlog();
+                        duanxinlog.setName(managerList.get(s).getManager());
+                        duanxinlog.setPhone(managerList.get(s).getPhone());
+
+                        duanxinlog.setMsg("鍛婅鎻愮ず:" + managerList.get(s).getDuanxin() + ",璇峰敖蹇鐞嗭紝濡傚凡澶勭悊璇峰拷鐣ヨ鎻愮ず淇℃伅锛屽闇�閫�璁㈢煭淇″彲鑱旂郴绠$悊鍛樺垹闄�");
+                        tbDuanxinlogService.addorupDuanxinlog(duanxinlog);
+                    }
+//                req.setPhoneNumberSet(phoneNumberSet1);
+//                req.setSmsSdkAppId("1400838975");
+//                req.setSignName("鍖椾含鍗庢槦鍖楁枟鏅烘帶");
+//                req.setTemplateId("1908206");
+//                String[] templateParamSet1 = new String[]{cardNum, "150MB"};
+//                req.setTemplateParamSet(templateParamSet1);
+//                SendSmsResponse resp = client.SendSms(req);
+//                System.out.println(SendSmsResponse.toJsonString(resp));
+                } catch (TencentCloudSDKException var15) {
+                    System.out.println(var15.toString());
+                }
+                st = 0;
+            }
+
+
+        }else{
+            st=1;
+        }
+    }
 }
 

--
Gitblit v1.9.3