Authored by xuhui

添加根据报警组信息取的当前组人员的email地址集合

package com.util;
import java.util.List;
import com.model.AlarmGroup;
import com.model.User;
import com.monitor.mysql.mapper.AlarmGroupMapper;
import com.monitor.mysql.mapper.UserMapper;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
... ... @@ -9,10 +11,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.model.AlarmGroup;
import com.model.User;
import com.monitor.mysql.mapper.AlarmGroupMapper;
import com.monitor.mysql.mapper.UserMapper;
import java.util.List;
/**
* 根据相关信息获取用户的详情
... ... @@ -142,7 +141,63 @@ public class GetUsersInfoUtil {
}catch(Exception e){
logger.error(" - BaseHandler - getMobileByAlarmGroup - error", e);
}
return null;
}
/**
* 其余所有查询
* 根据报警组的组名获取用户的登录名获取用户的邮箱
* @param groupName 报警组的名称,肯定是唯一的
* @return
*/
public String getEmailByAlarmGroup(String groupName){
try{
AlarmGroup alarmGroup = alarmGroupMapper.queryByContantsName(groupName);
if(alarmGroup == null){
return null;
}
String usersName = alarmGroup.getUsersName();
if(StringUtils.isBlank(usersName)){
logger.error(" - BaseHandler - getMobileByAlarmGroup - user is empty");
return null;
}
String []listUser = StringUtils.split(usersName,',');
if((listUser == null) || (listUser.length == 0)){
return null;
}
String []names = new String[listUser.length];
for (int i = 0; i < listUser.length; i++) {
String string = listUser[i];
if(StringUtils.isBlank(string)){
continue;
}
names[i] = string;
}
if((null == names) || (names.length == 0)){
return null;
}
List<User> users = userMapper.selectByNames(names);
if(CollectionUtils.isEmpty(users)){
return null;
}
if(users.size() != listUser.length){
logger.error(" - BaseHandler - getEmailByAlarmGroup - The number of inconsistent - alarmGroup groupName is:" + groupName);
}
String email = "";
int index = users.size() - 1;
for (int i = 0; i < users.size(); i++) {
User user = users.get(i);
if(index == i){
email += user.getEmail();
}else{
email += user.getEmail() + ",";
}
}
return email;
}catch(Exception e){
logger.error(" - BaseHandler - getEmailByAlarmGroup - error", e);
}
return null;
}
}
\ No newline at end of file
... ...
package com.monitor.user.ctrl;
import com.model.HostGroup;
import com.model.User;
import com.monitor.common.service.AppRedisService;
import com.monitor.common.service.MailService;
import com.monitor.common.util.MD5Util;
import com.monitor.common.util.MailUtil;
import com.monitor.influxdb.contants.InfluxDBContants;
import com.monitor.influxdb.mapper.UserOperateMapper;
import com.monitor.influxdb.mapper.impl.CommonQuery;
import com.monitor.influxdb.util.QueryResultUtil;
import com.monitor.model.domain.Mail;
import com.monitor.model.domain.PageBean;
import com.monitor.model.domain.UserOperate;
... ... @@ -18,21 +13,16 @@ import com.monitor.model.page.PageResponse;
import com.monitor.model.request.UserOperateReq;
import com.monitor.model.response.BaseResponse;
import com.monitor.mysql.mapper.UserMapper;
import org.apache.commons.lang.StringUtils;
import org.influxdb.dto.QueryResult;
import com.util.GetUsersInfoUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Controller;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@Controller
... ... @@ -53,6 +43,9 @@ public class UserCtrl {
@Autowired
private AppRedisService appRedisService;
@Autowired
private GetUsersInfoUtil getUsersInfoUtil;
@RequestMapping("/getAllUser")
@ResponseBody
public BaseResponse getAllUser() {
... ... @@ -243,5 +236,12 @@ public class UserCtrl {
return new BaseResponse();
}
}
@RequestMapping("/getEmailByAlarmGroup")
@ResponseBody
public BaseResponse getEmailByAlarmGroup(String groupName){
String emails = getUsersInfoUtil.getEmailByAlarmGroup(groupName);
BaseResponse baseResponse = new BaseResponse();
baseResponse.setData(emails);
return baseResponse;
}
}
\ No newline at end of file
... ...