Commit 44e82226 authored by zhouzihao's avatar zhouzihao

dev-邮件接入配置

parent 45835ff1
......@@ -84,7 +84,7 @@ com.vandyo.sentry.core
## 数据处理器。
# TODO
- [ ] 邮件配置列表
- [x] 邮件配置列表
- [ ] 更多接口支持
- [ ] 相同接口依赖并发支持
- [ ] 接口调用插件配置化
......@@ -93,3 +93,4 @@ com.vandyo.sentry.core
- [ ] 数据收集器依赖解耦
# ChangeLog
......@@ -5,7 +5,7 @@ import com.vandyo.sentry.core.cases.*;
import com.vandyo.sentry.core.collectionMachine.CollectionDealer;
import com.vandyo.sentry.core.collectionMachine.CollectionMachine;
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 org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -33,7 +33,7 @@ public class Tmp {
public String pwd;
@Autowired
private MapConfig mapConfig;
private CheckMetaConfig checkMetaConfig;
@Autowired
private EmailDealer emailDealer;
......@@ -59,7 +59,7 @@ public class Tmp {
Map<String, Map<ErrStatus, Long>> data = CollectionMachine.checkRule(5);
String info = JSONUtil.parseFromMap(data).toStringPretty();
// 查看是否 符合规则 Using timeMap
Map<String,Integer> timeMap = mapConfig.getTimeMap();
Map<String,Integer> timeMap = checkMetaConfig.getTimeMap();
log.info("start to check rule!");
List<CollectionDealer> list = new ArrayList<>(1);
list.add(emailDealer);
......
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 lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
......@@ -10,21 +11,30 @@ import org.springframework.stereotype.Component;
import java.util.Map;
@Component
@Slf4j
public class EmailDealer extends DataClearDealer {
@Autowired
private JavaMailSender javaMailSender;
@Autowired
private MapConfig mapConfig;
private CheckMetaConfig checkMetaConfig;
@Override
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();
// FIXME: 更换为部门邮件应该更好!
message.setFrom("zhouzihao@vandyo.com");
message.setTo("1042181618@qq.com");
message.setSubject("[服务报错]");
message.setText(content);
javaMailSender.send(message);
for (String email : checkMetaConfig.getEmailList()) {
try {
message.setTo(email);
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;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Configuration
@ConfigurationProperties(prefix = "checkmeta")
@EnableConfigurationProperties(MapConfig.class)
public class MapConfig {
@EnableConfigurationProperties(CheckMetaConfig.class)
public class CheckMetaConfig {
private Map<String,String> desMap = 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() {
return desMap;
}
......
......@@ -11,7 +11,7 @@ import java.util.*;
public class Signature {
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";
/**
......
......@@ -17,6 +17,7 @@ checkmeta:
"[/car/my_car/list]": 6
"[/carDynamic/api/status/car/state/get]": 6
test: 2
emailList[0]: "1042181618@qq.com"
spring:
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