Browse Source

邮件监控增加日志记录

zoro 1 year ago
parent
commit
4df3aa3ce9

+ 3 - 1
src/main/java/com/shcd/ghjg/shedule/SuperviseMailJob.java

@@ -8,12 +8,14 @@ import org.springframework.stereotype.Component;
 
 @Component
 public class SuperviseMailJob {
-
+    @Autowired
+    private SuperviseMailSchedule superviseMailSchedule;
     @Autowired
     private EmailUtil emailUtil;
     @XxlJob("test1")
     public ReturnT<String> test(String param){
         emailUtil.sendEmail("2500471547@qq.com","sys","测试邮件","这是一封测试邮件");
+        superviseMailSchedule.sendMail("");
         return ReturnT.SUCCESS;
     }
 }

+ 50 - 38
src/main/java/com/shcd/ghjg/shedule/SuperviseMailSchedule.java

@@ -35,52 +35,64 @@ public class SuperviseMailSchedule {
     private EmailUtil emailUtil;
 
     @XxlJob("ruleMessageJob")
-    //@PostConstruct
+//    @PostConstruct
     public ReturnT<String> sendMail(String param) {
+//    public void sendMail() {
         List<Rule> allRule = superviseMailMapper.getAllRule();
         ArrayList<Map<String, String>> maps = new ArrayList<>();
         ArrayList<ControllerRule> rules = new ArrayList<>();
         for (Rule rule : allRule) {
-            Map<String, Object> object = runSql(rule.getRuleSql(), rule.getParams());
-            if (object != null && !object.isEmpty() && "1".equals(rule.getLastState())) {
-                //需要发送异常邮件
-                if (DateUtil.isIn(new Date(), 9, 18)) {
-                    //工作时间邮件发生正常频率
-                    if (rule.getUpdateDate() == null || rule.getUpdateDate().getTime() + rule.getTaktTimeWork() < new Date().getTime()) {
-                        //获取需要发送的内容;
-                        ControllerRule controllerRule = new ControllerRule();
-                        controllerRule.setId(rule.getId().longValue());
-                        controllerRule.setLastState("1");
-                        controllerRule.setUpdateTime(new Date());
-                        rules.add(controllerRule);
-                        makeContent(rule, object, maps);
-                    }
-                } else {
-                    //非工作时间邮件发送频率降低
-                    if (rule.getUpdateDate() == null || rule.getUpdateDate().getTime() + rule.getTaktTimeUnWork() < new Date().getTime()) {
-                        //获取发送的模板
-                        ControllerRule controllerRule = new ControllerRule();
-                        controllerRule.setId(rule.getId().longValue());
-                        controllerRule.setLastState("1");
-                        controllerRule.setUpdateTime(new Date());
-                        rules.add(controllerRule);
-                        makeContent(rule, object, maps);
+            try {
+                Map<String, Object> object = null;
+                try {
+                    object = runSql(rule.getRuleSql(), rule.getParams());
+                } catch (Exception e) {
+                    log.error("规则出错{}", rule.getRuleName() + rule.getRuleSql() + e.getMessage());
+                }
+                System.out.println(rule.getRuleSql());
+                if (object != null && !object.isEmpty() && "1".equals(rule.getLastState())) {
+                    //需要发送异常邮件
+                    if (DateUtil.isIn(new Date(), 9, 18)) {
+                        //工作时间邮件发生正常频率
+                        if (rule.getUpdateDate() == null || rule.getUpdateDate().getTime() + rule.getTaktTimeWork() < new Date().getTime()) {
+                            //获取需要发送的内容;
+                            ControllerRule controllerRule = new ControllerRule();
+                            controllerRule.setId(rule.getId().longValue());
+                            controllerRule.setLastState("1");
+                            controllerRule.setUpdateTime(new Date());
+                            rules.add(controllerRule);
+                            makeContent(rule, object, maps);
+                        }
+                    } else {
+                        //非工作时间邮件发送频率降低
+                        if (rule.getUpdateDate() == null || rule.getUpdateDate().getTime() + rule.getTaktTimeUnWork() < new Date().getTime()) {
+                            //获取发送的模板
+                            ControllerRule controllerRule = new ControllerRule();
+                            controllerRule.setId(rule.getId().longValue());
+                            controllerRule.setLastState("1");
+                            controllerRule.setUpdateTime(new Date());
+                            rules.add(controllerRule);
+                            makeContent(rule, object, maps);
+                        }
                     }
                 }
+                if (object == null && "1".equals(rule.getLastState())) {
+                    //发恢复邮件
+                    HashMap<String, Object> map = new HashMap<>();
+                    map.put("id", rule.getId().toString());
+                    String res = rule.getRuleName() + "恢复正常";
+                    map.put("res", res);
+                    ControllerRule controllerRule = new ControllerRule();
+                    controllerRule.setId(rule.getId().longValue());
+                    controllerRule.setLastState("0");
+                    controllerRule.setUpdateTime(new Date());
+                    rules.add(controllerRule);
+                    makeContent2(rule, map, maps);
+                }
+            } catch (Exception e) {
+                log.error("出现未知异常{}",e.getMessage());
             }
-            if (object == null && "1".equals(rule.getLastState())) {
-                //发恢复邮件
-                HashMap<String, Object> map = new HashMap<>();
-                map.put("id", rule.getId().toString());
-                String res = rule.getRuleName() + "恢复正常";
-                map.put("res", res);
-                ControllerRule controllerRule = new ControllerRule();
-                controllerRule.setId(rule.getId().longValue());
-                controllerRule.setLastState("0");
-                controllerRule.setUpdateTime(new Date());
-                rules.add(controllerRule);
-                makeContent2(rule, map, maps);
-            }
+
             //其他情况不发送邮件
         }
         if (!maps.isEmpty()) {

+ 3 - 3
src/main/resources/application.yaml

@@ -14,9 +14,9 @@ spring:
       initial-size: 15
       min-idle: 15
       max-active: 200
-      max-wait: 60000
-      time-between-eviction-runs-millis: 60000
-      min-evictable-idle-time-millis: 300000
+      max-wait: 600000
+      time-between-eviction-runs-millis: 600000
+      min-evictable-idle-time-millis: 600000
       validation-query: ""
       test-while-idle: false
       test-on-borrow: false