lizijie
2020-09-10 807be02a202a3d1fb3ce72dc765fe9993227c71a
小时数据警报
1 files added
1 files modified
66 ■■■■■ changed files
src/main/java/com/moral/task/RabbitMQInsertTask.java 16 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/util/AlarmUtils_2.java 50 ●●●●● patch | view | raw | blame | history
src/main/java/com/moral/task/RabbitMQInsertTask.java
@@ -12,6 +12,7 @@
import javax.annotation.Resource;
import com.moral.util.AlarmUtils_2;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.TopicExchange;
@@ -308,6 +309,21 @@
            List<Map<String, Object>> hourlyDataList = historyHourlyService.getHourlySensorData(devices);
            XxlJobLogger.log("RabbitMQHourlyData:" + hourlyDataList.size());
            if (!CollectionUtils.isEmpty(hourlyDataList)) {
                if(!(hourlyDataList.size()==macList.size())){
                    List<String> macList_copy = macList;
                    String mac_Splicing = null;
                    if (hourlyDataList.size()<macList.size()){
                        int i = 0;
                        for (Map hourData: hourlyDataList) {
                            if (!hourData.get("mac").toString().equals(macList_copy.get(i))){
                                mac_Splicing = mac_Splicing+hourData.get("mac")+",";
                                i=i-1;
                            }
                            i++;
                        }
                    }
                    AlarmUtils_2.sendMail("276999030@qq.com","离线警报",mac_Splicing+"设备或许离线!");
                }
                for (Map<String, Object> deviceData : hourlyDataList) {
                    if (!ObjectUtils.isEmpty(deviceData)) {
                        Map<String, Object> hourlyData = new LinkedHashMap<>();
src/main/java/com/moral/util/AlarmUtils_2.java
New file
@@ -0,0 +1,50 @@
package com.moral.util;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dm.model.v20151123.SingleSendMailRequest;
import com.aliyuncs.dm.model.v20151123.SingleSendMailResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
public class AlarmUtils_2 {
    /**
     *
     * @return
     */
    public static SingleSendMailResponse sendMail(String mailAddress, String mailSubject, String mailBody){
        // 如果是除杭州region外的其它region(如新加坡、澳洲Region),需要将下面的"cn-hangzhou"替换为"ap-southeast-1"、或"ap-southeast-2"。
        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAIV1JE1gsLMjpn", "5NpYfVwrvBL9BtEoDymFTQUGPyNBa2");
        // 如果是除杭州region外的其它region(如新加坡region), 需要做如下处理
        //try {
        //DefaultProfile.addEndpoint("dm.ap-southeast-1.aliyuncs.com", "ap-southeast-1", "Dm",  "dm.ap-southeast-1.aliyuncs.com");
        //} catch (ClientException e) {
        //e.printStackTrace();
        //}
        IAcsClient client = new DefaultAcsClient(profile);
        SingleSendMailRequest request = new SingleSendMailRequest();
        try {
            //request.setVersion("2017-06-22");// 如果是除杭州region外的其它region(如新加坡region),必须指定为2017-06-22
            request.setAccountName("postmaster@email.7drlb.com");
            request.setFromAlias("七星瓢虫环境科技");
            request.setAddressType(1);
            request.setTagName("testemail");
            request.setReplyToAddress(true);
            request.setToAddress(mailAddress);
            request.setSubject(mailSubject);
            request.setHtmlBody(mailBody);
            SingleSendMailResponse httpResponse = client.getAcsResponse(request);
            //System.out.println(httpResponse.getRequestId());
            //System.out.println("==========================================");
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
        return null;
    }
}