diff --git a/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/runner/AlertSender.java b/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/runner/AlertSender.java index f7d73e0d77..5e0c2545f8 100644 --- a/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/runner/AlertSender.java +++ b/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/runner/AlertSender.java @@ -16,6 +16,8 @@ */ package org.apache.dolphinscheduler.alert.runner; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.dolphinscheduler.alert.manager.EmailManager; import org.apache.dolphinscheduler.alert.manager.EnterpriseWeChatManager; import org.apache.dolphinscheduler.alert.utils.Constants; @@ -25,8 +27,6 @@ import org.apache.dolphinscheduler.common.enums.AlertType; import org.apache.dolphinscheduler.dao.AlertDao; import org.apache.dolphinscheduler.dao.entity.Alert; import org.apache.dolphinscheduler.dao.entity.User; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -63,8 +63,6 @@ public class AlertSender{ for(Alert alert:alertList){ users = alertDao.listUserByAlertgroupId(alert.getAlertGroupId()); - - // receiving group list List receviersList = new ArrayList(); for(User user:users){ @@ -109,18 +107,22 @@ public class AlertSender{ } boolean flag = Boolean.parseBoolean(String.valueOf(retMaps.get(Constants.STATUS))); - if (flag){ + if (flag) { alertDao.updateAlert(AlertStatus.EXECUTION_SUCCESS, "execution success", alert.getId()); logger.info("alert send success"); - try { - String token = EnterpriseWeChatUtils.getToken(); - weChatManager.send(alert,token); - } catch (Exception e) { - logger.error(e.getMessage(),e); + if (EnterpriseWeChatUtils.isEnable()) { + logger.info("Enterprise WeChat is enable!"); + try { + String token = EnterpriseWeChatUtils.getToken(); + weChatManager.send(alert, token); + } catch (Exception e) { + logger.error(e.getMessage(), e); + } } - }else { - alertDao.updateAlert(AlertStatus.EXECUTION_FAILURE,String.valueOf(retMaps.get(Constants.MESSAGE)),alert.getId()); - logger.info("alert send error : {}" , String.valueOf(retMaps.get(Constants.MESSAGE))); + + } else { + alertDao.updateAlert(AlertStatus.EXECUTION_FAILURE, String.valueOf(retMaps.get(Constants.MESSAGE)), alert.getId()); + logger.info("alert send error : {}", String.valueOf(retMaps.get(Constants.MESSAGE))); } } diff --git a/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/utils/Constants.java b/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/utils/Constants.java index d17c6f63ac..665aac246f 100644 --- a/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/utils/Constants.java +++ b/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/utils/Constants.java @@ -139,6 +139,8 @@ public class Constants { public static final String MARKDOWN_ENTER = "\n"; + public static final String ENTERPRISE_WECHAT_ENABLE = "enterprise.wechat.enable"; + public static final String ENTERPRISE_WECHAT_CORP_ID = "enterprise.wechat.corp.id"; public static final String ENTERPRISE_WECHAT_SECRET = "enterprise.wechat.secret"; diff --git a/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/utils/EnterpriseWeChatUtils.java b/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/utils/EnterpriseWeChatUtils.java index b00fb914e0..105b6fa13b 100644 --- a/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/utils/EnterpriseWeChatUtils.java +++ b/dolphinscheduler-alert/src/main/java/org/apache/dolphinscheduler/alert/utils/EnterpriseWeChatUtils.java @@ -62,6 +62,21 @@ public class EnterpriseWeChatUtils { public static final String enterpriseWeChatUsers = PropertyUtils.getString(Constants.ENTERPRISE_WECHAT_USERS); + /** + * get Enterprise WeChat is enable + * @return isEnable + */ + public static Boolean isEnable(){ + Boolean isEnable = false; + try { + isEnable = PropertyUtils.getBoolean(Constants.ENTERPRISE_WECHAT_ENABLE); + } catch (Exception e) { + logger.error(e.getMessage(),e); + } + return isEnable; + + } + /** * get Enterprise WeChat token info * @return token string info diff --git a/dolphinscheduler-alert/src/main/resources/alert.properties b/dolphinscheduler-alert/src/main/resources/alert.properties index 096c60b4d8..418cbde10f 100644 --- a/dolphinscheduler-alert/src/main/resources/alert.properties +++ b/dolphinscheduler-alert/src/main/resources/alert.properties @@ -19,6 +19,7 @@ mail.smtp.ssl.trust=xxx.xxx.com xls.file.path=/tmp/xls # Enterprise WeChat configuration +enterprise.wechat.enable=false enterprise.wechat.corp.id=xxxxxxx enterprise.wechat.secret=xxxxxxx enterprise.wechat.agent.id=xxxxxxx