Commit 44e82226 authored by zhouzihao's avatar zhouzihao

dev-邮件接入配置

parent 45835ff1
...@@ -84,7 +84,7 @@ com.vandyo.sentry.core ...@@ -84,7 +84,7 @@ com.vandyo.sentry.core
## 数据处理器。 ## 数据处理器。
# TODO # TODO
- [ ] 邮件配置列表 - [x] 邮件配置列表
- [ ] 更多接口支持 - [ ] 更多接口支持
- [ ] 相同接口依赖并发支持 - [ ] 相同接口依赖并发支持
- [ ] 接口调用插件配置化 - [ ] 接口调用插件配置化
...@@ -93,3 +93,4 @@ com.vandyo.sentry.core ...@@ -93,3 +93,4 @@ com.vandyo.sentry.core
- [ ] 数据收集器依赖解耦 - [ ] 数据收集器依赖解耦
# ChangeLog # ChangeLog
...@@ -5,7 +5,7 @@ import com.vandyo.sentry.core.cases.*; ...@@ -5,7 +5,7 @@ import com.vandyo.sentry.core.cases.*;
import com.vandyo.sentry.core.collectionMachine.CollectionDealer; import com.vandyo.sentry.core.collectionMachine.CollectionDealer;
import com.vandyo.sentry.core.collectionMachine.CollectionMachine; import com.vandyo.sentry.core.collectionMachine.CollectionMachine;
import com.vandyo.sentry.core.collectionMachine.EmailDealer; import com.vandyo.sentry.core.collectionMachine.EmailDealer;
import com.vandyo.sentry.core.config.MapConfig; import com.vandyo.sentry.core.config.CheckMetaConfig;
import com.vandyo.sentry.core.dto.ErrStatus; import com.vandyo.sentry.core.dto.ErrStatus;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -33,7 +33,7 @@ public class Tmp { ...@@ -33,7 +33,7 @@ public class Tmp {
public String pwd; public String pwd;
@Autowired @Autowired
private MapConfig mapConfig; private CheckMetaConfig checkMetaConfig;
@Autowired @Autowired
private EmailDealer emailDealer; private EmailDealer emailDealer;
...@@ -59,7 +59,7 @@ public class Tmp { ...@@ -59,7 +59,7 @@ public class Tmp {
Map<String, Map<ErrStatus, Long>> data = CollectionMachine.checkRule(5); Map<String, Map<ErrStatus, Long>> data = CollectionMachine.checkRule(5);
String info = JSONUtil.parseFromMap(data).toStringPretty(); String info = JSONUtil.parseFromMap(data).toStringPretty();
// 查看是否 符合规则 Using timeMap // 查看是否 符合规则 Using timeMap
Map<String,Integer> timeMap = mapConfig.getTimeMap(); Map<String,Integer> timeMap = checkMetaConfig.getTimeMap();
log.info("start to check rule!"); log.info("start to check rule!");
List<CollectionDealer> list = new ArrayList<>(1); List<CollectionDealer> list = new ArrayList<>(1);
list.add(emailDealer); list.add(emailDealer);
......
package com.vandyo.sentry.core.collectionMachine; package com.vandyo.sentry.core.collectionMachine;
import com.vandyo.sentry.core.config.MapConfig; import com.vandyo.sentry.core.config.CheckMetaConfig;
import com.vandyo.sentry.core.dto.ErrStatus; import com.vandyo.sentry.core.dto.ErrStatus;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.JavaMailSender;
...@@ -10,21 +11,30 @@ import org.springframework.stereotype.Component; ...@@ -10,21 +11,30 @@ import org.springframework.stereotype.Component;
import java.util.Map; import java.util.Map;
@Component @Component
@Slf4j
public class EmailDealer extends DataClearDealer { public class EmailDealer extends DataClearDealer {
@Autowired @Autowired
private JavaMailSender javaMailSender; private JavaMailSender javaMailSender;
@Autowired @Autowired
private MapConfig mapConfig; private CheckMetaConfig checkMetaConfig;
@Override @Override
public void deal(Map<String, Map<ErrStatus, Long>> data) { public void deal(Map<String, Map<ErrStatus, Long>> data) {
String content = formatData(data,mapConfig.getDesMap()); String content = formatData(data, checkMetaConfig.getDesMap());
SimpleMailMessage message = new SimpleMailMessage(); SimpleMailMessage message = new SimpleMailMessage();
// FIXME: 更换为部门邮件应该更好!
message.setFrom("zhouzihao@vandyo.com"); message.setFrom("zhouzihao@vandyo.com");
message.setTo("1042181618@qq.com");
message.setSubject("[服务报错]"); message.setSubject("[服务报错]");
message.setText(content); message.setText(content);
for (String email : checkMetaConfig.getEmailList()) {
try {
message.setTo(email);
javaMailSender.send(message); javaMailSender.send(message);
log.info("email send to [{}]",email);
} catch (Exception e) {
log.error("Can not send email: {}", e.getLocalizedMessage());
}
}
} }
} }
...@@ -4,17 +4,29 @@ import org.springframework.boot.context.properties.ConfigurationProperties; ...@@ -4,17 +4,29 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
@Configuration @Configuration
@ConfigurationProperties(prefix = "checkmeta") @ConfigurationProperties(prefix = "checkmeta")
@EnableConfigurationProperties(MapConfig.class) @EnableConfigurationProperties(CheckMetaConfig.class)
public class MapConfig { public class CheckMetaConfig {
private Map<String,String> desMap = new HashMap<>(); private Map<String,String> desMap = new HashMap<>();
private Map<String,Integer> timeMap = new HashMap<>(); private Map<String,Integer> timeMap = new HashMap<>();
private List<String> emailList = new ArrayList<>();
public List<String> getEmailList() {
return emailList;
}
public void setEmailList(List<String> emailList) {
this.emailList = emailList;
}
public Map<String, String> getDesMap() { public Map<String, String> getDesMap() {
return desMap; return desMap;
} }
......
...@@ -11,7 +11,7 @@ import java.util.*; ...@@ -11,7 +11,7 @@ import java.util.*;
public class Signature { public class Signature {
private static final Logger log = LoggerFactory.getLogger(Tmp.class); private static final Logger log = LoggerFactory.getLogger(Tmp.class);
// need be change to product env
public static final String host = "http://10.100.11.41:8080"; public static final String host = "http://10.100.11.41:8080";
/** /**
......
...@@ -17,6 +17,7 @@ checkmeta: ...@@ -17,6 +17,7 @@ checkmeta:
"[/car/my_car/list]": 6 "[/car/my_car/list]": 6
"[/carDynamic/api/status/car/state/get]": 6 "[/carDynamic/api/status/car/state/get]": 6
test: 2 test: 2
emailList[0]: "1042181618@qq.com"
spring: spring:
mail: mail:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment