Explorar el Código

新增 管式墒情站预警功能

zhaiyifei hace 1 año
padre
commit
9204263112

+ 15 - 0
src/main/java/com/yunfeiyun/agmp/iots/core/http/AdznGssqService.java

@@ -15,6 +15,7 @@ import com.yunfeiyun.agmp.iot.common.service.MongoService;
 import com.yunfeiyun.agmp.iots.common.annotate.HttpCore;
 import com.yunfeiyun.agmp.iots.service.IIotDeviceService;
 import com.yunfeiyun.agmp.iots.service.impl.IotDeviceAddressService;
+import com.yunfeiyun.agmp.iots.warn.service.WarnService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
@@ -148,6 +149,8 @@ public class AdznGssqService extends HttpClient {
         IotDeviceAddressService iotDeviceAddressService = SpringUtils.getBean(IotDeviceAddressService.class);
         List<IotAdznGssqdata> iotAdznGssqdataList = new ArrayList<>();
         List<IotDevice> updateList = new ArrayList<>();
+        Map<IotDevice, List<IotAdznGssqdata>> extMap = new HashMap<>();
+
         for(IotDevice iotDevice : iotDeviceList){
             List<IotAdznGssqdata> childList = parseDevListData(iotDevice);
 
@@ -164,7 +167,9 @@ public class AdznGssqService extends HttpClient {
                         continue;
                     }
                 }
+
                 iotAdznGssqdataList.addAll(childList);
+                extMap.put(iotDevice, childList);
 
                 JSONObject devInfo = (JSONObject)devMap.get(iotDevice.getDevCode());
                 String devLng = devInfo.getString("LNG");
@@ -190,6 +195,16 @@ public class AdznGssqService extends HttpClient {
         if(!iotAdznGssqdataList.isEmpty()){
             MongoService mongoService = SpringUtils.getBean(MongoService.class);
             mongoService.insertList(IotAdznGssqdata.class, iotAdznGssqdataList);
+
+            // 发送告警消息
+            WarnService warnService = SpringUtils.getBean(WarnService.class);
+            for(Map.Entry<IotDevice, List<IotAdznGssqdata>> entry : extMap.entrySet()){
+                IotDevice iotDeviceOld = entry.getKey();
+                List<IotAdznGssqdata> ext = entry.getValue();
+                JSONObject warnData = new JSONObject();
+                warnData.put("data", ext);
+                warnService.processWarningReportData(iotDeviceOld, warnData);
+            }
         }
         if(!updateList.isEmpty()){
             SpringUtils.getBean(IIotDeviceService.class).updateIotDeviceBatch(updateList);

+ 1 - 1
src/main/java/com/yunfeiyun/agmp/iots/task/AdznGssqScheduler.java

@@ -3,8 +3,8 @@ package com.yunfeiyun.agmp.iots.task;
 import com.yunfeiyun.agmp.iot.common.constant.devicetype.IotDeviceDictConst;
 import com.yunfeiyun.agmp.iot.common.domain.IotDevice;
 import com.yunfeiyun.agmp.iot.common.enums.ybq.YbqTypeConst;
-import com.yunfeiyun.agmp.iots.core.manager.HttpManager;
 import com.yunfeiyun.agmp.iots.core.http.AdznGssqService;
+import com.yunfeiyun.agmp.iots.core.manager.HttpManager;
 import com.yunfeiyun.agmp.iots.service.IIotDeviceService;
 import com.yunfeiyun.agmp.iots.service.IIotDevicelasteddataService;
 import lombok.extern.slf4j.Slf4j;

+ 4 - 4
src/main/java/com/yunfeiyun/agmp/iots/warn/service/WarnService.java

@@ -124,10 +124,10 @@ public class WarnService {
                             warnResult = comparableSqzReportData(warnInfoDto);
                             break;
                         }
-//                        case GSSQ: {
-//                            warnResult = comparableGssqReportData(warnQxSqInfoDto);
-//                            break;
-//                        }
+                        case GSSQ: {
+                            warnResult = comparableGssqReportData(warnInfoDto);
+                            break;
+                        }
 //                    case "病虫害": {
 //                        warnResult = comparableBchReportData(devBid, config, data);
 //                        break;