diff --git a/data_receiver.iml b/data_receiver.iml new file mode 100644 index 0000000..8d50c52 --- /dev/null +++ b/data_receiver.iml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data_receiver.iml b/data_receiver.iml new file mode 100644 index 0000000..8d50c52 --- /dev/null +++ b/data_receiver.iml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/rain_receiver.iml b/rain_receiver.iml deleted file mode 100644 index 8d50c52..0000000 --- a/rain_receiver.iml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/data_receiver.iml b/data_receiver.iml new file mode 100644 index 0000000..8d50c52 --- /dev/null +++ b/data_receiver.iml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/rain_receiver.iml b/rain_receiver.iml deleted file mode 100644 index 8d50c52..0000000 --- a/rain_receiver.iml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/java/com/casic/config/task/TaskSchedulingConfig.java b/src/main/java/com/casic/config/task/TaskSchedulingConfig.java index a96447c..1fa2e20 100644 --- a/src/main/java/com/casic/config/task/TaskSchedulingConfig.java +++ b/src/main/java/com/casic/config/task/TaskSchedulingConfig.java @@ -2,6 +2,7 @@ import com.casic.client.Client; import com.casic.config.TaskCronTimeConfig; +import com.casic.model.AlarmMsgDTO; import com.casic.service.DeviceDataScanner; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -12,7 +13,9 @@ import org.springframework.scheduling.support.CronTrigger; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.concurrent.Executors; @Slf4j @@ -47,26 +50,37 @@ return new Runnable() { @Override public void run() { - List alarmMsgList = new ArrayList<>(); + List alarmMsgList = new ArrayList<>(); deviceDataScannerList.forEach( deviceDataScanner -> { alarmMsgList.addAll(deviceDataScanner.scanDeviceData()); } ); - alarmMsgList.forEach( - alarmMsg -> { - client.setSendMsg(alarmMsg); - Thread myThread = new Thread(client); - myThread.start(); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - } - ); + Map soleDevcodeMap = soleDevcode(alarmMsgList); + for (String key : soleDevcodeMap.keySet()) { + client.setSendMsg(soleDevcodeMap.get(key)); + Thread myThread = new Thread(client); + myThread.start(); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } } }; } + private Map soleDevcode(List alarmMsgList) { + Map soleDevcodeMap = new HashMap<>(); + alarmMsgList.forEach( + alarmMsgDTO -> { + String alarmMsg = alarmMsgDTO.getDevcode() + "mmmm" + alarmMsgDTO.getIsAlarm(); + soleDevcodeMap.put(alarmMsgDTO.getDevcode(), alarmMsg); + } + ); + return soleDevcodeMap; + } + + } diff --git a/data_receiver.iml b/data_receiver.iml new file mode 100644 index 0000000..8d50c52 --- /dev/null +++ b/data_receiver.iml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/rain_receiver.iml b/rain_receiver.iml deleted file mode 100644 index 8d50c52..0000000 --- a/rain_receiver.iml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/java/com/casic/config/task/TaskSchedulingConfig.java b/src/main/java/com/casic/config/task/TaskSchedulingConfig.java index a96447c..1fa2e20 100644 --- a/src/main/java/com/casic/config/task/TaskSchedulingConfig.java +++ b/src/main/java/com/casic/config/task/TaskSchedulingConfig.java @@ -2,6 +2,7 @@ import com.casic.client.Client; import com.casic.config.TaskCronTimeConfig; +import com.casic.model.AlarmMsgDTO; import com.casic.service.DeviceDataScanner; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -12,7 +13,9 @@ import org.springframework.scheduling.support.CronTrigger; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.concurrent.Executors; @Slf4j @@ -47,26 +50,37 @@ return new Runnable() { @Override public void run() { - List alarmMsgList = new ArrayList<>(); + List alarmMsgList = new ArrayList<>(); deviceDataScannerList.forEach( deviceDataScanner -> { alarmMsgList.addAll(deviceDataScanner.scanDeviceData()); } ); - alarmMsgList.forEach( - alarmMsg -> { - client.setSendMsg(alarmMsg); - Thread myThread = new Thread(client); - myThread.start(); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - } - ); + Map soleDevcodeMap = soleDevcode(alarmMsgList); + for (String key : soleDevcodeMap.keySet()) { + client.setSendMsg(soleDevcodeMap.get(key)); + Thread myThread = new Thread(client); + myThread.start(); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } } }; } + private Map soleDevcode(List alarmMsgList) { + Map soleDevcodeMap = new HashMap<>(); + alarmMsgList.forEach( + alarmMsgDTO -> { + String alarmMsg = alarmMsgDTO.getDevcode() + "mmmm" + alarmMsgDTO.getIsAlarm(); + soleDevcodeMap.put(alarmMsgDTO.getDevcode(), alarmMsg); + } + ); + return soleDevcodeMap; + } + + } diff --git a/src/main/java/com/casic/model/AlarmMsgDTO.java b/src/main/java/com/casic/model/AlarmMsgDTO.java new file mode 100644 index 0000000..228a03c --- /dev/null +++ b/src/main/java/com/casic/model/AlarmMsgDTO.java @@ -0,0 +1,11 @@ +package com.casic.model; + +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +public class AlarmMsgDTO { + private String devcode; + private Integer isAlarm; +} diff --git a/data_receiver.iml b/data_receiver.iml new file mode 100644 index 0000000..8d50c52 --- /dev/null +++ b/data_receiver.iml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/rain_receiver.iml b/rain_receiver.iml deleted file mode 100644 index 8d50c52..0000000 --- a/rain_receiver.iml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/java/com/casic/config/task/TaskSchedulingConfig.java b/src/main/java/com/casic/config/task/TaskSchedulingConfig.java index a96447c..1fa2e20 100644 --- a/src/main/java/com/casic/config/task/TaskSchedulingConfig.java +++ b/src/main/java/com/casic/config/task/TaskSchedulingConfig.java @@ -2,6 +2,7 @@ import com.casic.client.Client; import com.casic.config.TaskCronTimeConfig; +import com.casic.model.AlarmMsgDTO; import com.casic.service.DeviceDataScanner; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -12,7 +13,9 @@ import org.springframework.scheduling.support.CronTrigger; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.concurrent.Executors; @Slf4j @@ -47,26 +50,37 @@ return new Runnable() { @Override public void run() { - List alarmMsgList = new ArrayList<>(); + List alarmMsgList = new ArrayList<>(); deviceDataScannerList.forEach( deviceDataScanner -> { alarmMsgList.addAll(deviceDataScanner.scanDeviceData()); } ); - alarmMsgList.forEach( - alarmMsg -> { - client.setSendMsg(alarmMsg); - Thread myThread = new Thread(client); - myThread.start(); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - } - ); + Map soleDevcodeMap = soleDevcode(alarmMsgList); + for (String key : soleDevcodeMap.keySet()) { + client.setSendMsg(soleDevcodeMap.get(key)); + Thread myThread = new Thread(client); + myThread.start(); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } } }; } + private Map soleDevcode(List alarmMsgList) { + Map soleDevcodeMap = new HashMap<>(); + alarmMsgList.forEach( + alarmMsgDTO -> { + String alarmMsg = alarmMsgDTO.getDevcode() + "mmmm" + alarmMsgDTO.getIsAlarm(); + soleDevcodeMap.put(alarmMsgDTO.getDevcode(), alarmMsg); + } + ); + return soleDevcodeMap; + } + + } diff --git a/src/main/java/com/casic/model/AlarmMsgDTO.java b/src/main/java/com/casic/model/AlarmMsgDTO.java new file mode 100644 index 0000000..228a03c --- /dev/null +++ b/src/main/java/com/casic/model/AlarmMsgDTO.java @@ -0,0 +1,11 @@ +package com.casic.model; + +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +public class AlarmMsgDTO { + private String devcode; + private Integer isAlarm; +} diff --git a/src/main/java/com/casic/service/DeviceDataScanner.java b/src/main/java/com/casic/service/DeviceDataScanner.java index 5bacb17..95e37f4 100644 --- a/src/main/java/com/casic/service/DeviceDataScanner.java +++ b/src/main/java/com/casic/service/DeviceDataScanner.java @@ -1,9 +1,11 @@ package com.casic.service; +import com.casic.model.AlarmMsgDTO; + import java.util.List; public interface DeviceDataScanner { - List scanDeviceData(); + List scanDeviceData(); } diff --git a/data_receiver.iml b/data_receiver.iml new file mode 100644 index 0000000..8d50c52 --- /dev/null +++ b/data_receiver.iml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/rain_receiver.iml b/rain_receiver.iml deleted file mode 100644 index 8d50c52..0000000 --- a/rain_receiver.iml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/java/com/casic/config/task/TaskSchedulingConfig.java b/src/main/java/com/casic/config/task/TaskSchedulingConfig.java index a96447c..1fa2e20 100644 --- a/src/main/java/com/casic/config/task/TaskSchedulingConfig.java +++ b/src/main/java/com/casic/config/task/TaskSchedulingConfig.java @@ -2,6 +2,7 @@ import com.casic.client.Client; import com.casic.config.TaskCronTimeConfig; +import com.casic.model.AlarmMsgDTO; import com.casic.service.DeviceDataScanner; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -12,7 +13,9 @@ import org.springframework.scheduling.support.CronTrigger; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.concurrent.Executors; @Slf4j @@ -47,26 +50,37 @@ return new Runnable() { @Override public void run() { - List alarmMsgList = new ArrayList<>(); + List alarmMsgList = new ArrayList<>(); deviceDataScannerList.forEach( deviceDataScanner -> { alarmMsgList.addAll(deviceDataScanner.scanDeviceData()); } ); - alarmMsgList.forEach( - alarmMsg -> { - client.setSendMsg(alarmMsg); - Thread myThread = new Thread(client); - myThread.start(); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - } - ); + Map soleDevcodeMap = soleDevcode(alarmMsgList); + for (String key : soleDevcodeMap.keySet()) { + client.setSendMsg(soleDevcodeMap.get(key)); + Thread myThread = new Thread(client); + myThread.start(); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } } }; } + private Map soleDevcode(List alarmMsgList) { + Map soleDevcodeMap = new HashMap<>(); + alarmMsgList.forEach( + alarmMsgDTO -> { + String alarmMsg = alarmMsgDTO.getDevcode() + "mmmm" + alarmMsgDTO.getIsAlarm(); + soleDevcodeMap.put(alarmMsgDTO.getDevcode(), alarmMsg); + } + ); + return soleDevcodeMap; + } + + } diff --git a/src/main/java/com/casic/model/AlarmMsgDTO.java b/src/main/java/com/casic/model/AlarmMsgDTO.java new file mode 100644 index 0000000..228a03c --- /dev/null +++ b/src/main/java/com/casic/model/AlarmMsgDTO.java @@ -0,0 +1,11 @@ +package com.casic.model; + +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +public class AlarmMsgDTO { + private String devcode; + private Integer isAlarm; +} diff --git a/src/main/java/com/casic/service/DeviceDataScanner.java b/src/main/java/com/casic/service/DeviceDataScanner.java index 5bacb17..95e37f4 100644 --- a/src/main/java/com/casic/service/DeviceDataScanner.java +++ b/src/main/java/com/casic/service/DeviceDataScanner.java @@ -1,9 +1,11 @@ package com.casic.service; +import com.casic.model.AlarmMsgDTO; + import java.util.List; public interface DeviceDataScanner { - List scanDeviceData(); + List scanDeviceData(); } diff --git a/src/main/java/com/casic/service/scanner/FlowDataScanner.java b/src/main/java/com/casic/service/scanner/FlowDataScanner.java index 0f02aa1..aeb70bc 100644 --- a/src/main/java/com/casic/service/scanner/FlowDataScanner.java +++ b/src/main/java/com/casic/service/scanner/FlowDataScanner.java @@ -1,5 +1,6 @@ package com.casic.service.scanner; +import com.casic.model.AlarmMsgDTO; import com.casic.service.DeviceDataScanner; import com.casic.service.DeviceDataSupport; import org.springframework.stereotype.Service; @@ -12,8 +13,8 @@ public class FlowDataScanner extends DeviceDataSupport implements DeviceDataScanner { @Override - public List scanDeviceData() { - List alarmMsgDTOList=new ArrayList<>(); + public List scanDeviceData() { + List alarmMsgDTOList=new ArrayList<>(); String thresholdValue = alarmLevelConfig.getFlow(); List> flowDataMapList = this.deviceDataMapper.getFlowData(); flowDataMapList.forEach( @@ -28,8 +29,10 @@ } else { mergeAlarm = isAlarm; } - String alarmMsg = devcode + alarmMark + mergeAlarm; - alarmMsgDTOList.add(alarmMsg); + alarmMsgDTOList.add(AlarmMsgDTO.builder() + .devcode(devcode) + .isAlarm(mergeAlarm) + .build()); // sendAlarmMsg(devcode, mergeAlarm); } ); diff --git a/data_receiver.iml b/data_receiver.iml new file mode 100644 index 0000000..8d50c52 --- /dev/null +++ b/data_receiver.iml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/rain_receiver.iml b/rain_receiver.iml deleted file mode 100644 index 8d50c52..0000000 --- a/rain_receiver.iml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/java/com/casic/config/task/TaskSchedulingConfig.java b/src/main/java/com/casic/config/task/TaskSchedulingConfig.java index a96447c..1fa2e20 100644 --- a/src/main/java/com/casic/config/task/TaskSchedulingConfig.java +++ b/src/main/java/com/casic/config/task/TaskSchedulingConfig.java @@ -2,6 +2,7 @@ import com.casic.client.Client; import com.casic.config.TaskCronTimeConfig; +import com.casic.model.AlarmMsgDTO; import com.casic.service.DeviceDataScanner; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -12,7 +13,9 @@ import org.springframework.scheduling.support.CronTrigger; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.concurrent.Executors; @Slf4j @@ -47,26 +50,37 @@ return new Runnable() { @Override public void run() { - List alarmMsgList = new ArrayList<>(); + List alarmMsgList = new ArrayList<>(); deviceDataScannerList.forEach( deviceDataScanner -> { alarmMsgList.addAll(deviceDataScanner.scanDeviceData()); } ); - alarmMsgList.forEach( - alarmMsg -> { - client.setSendMsg(alarmMsg); - Thread myThread = new Thread(client); - myThread.start(); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - } - ); + Map soleDevcodeMap = soleDevcode(alarmMsgList); + for (String key : soleDevcodeMap.keySet()) { + client.setSendMsg(soleDevcodeMap.get(key)); + Thread myThread = new Thread(client); + myThread.start(); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } } }; } + private Map soleDevcode(List alarmMsgList) { + Map soleDevcodeMap = new HashMap<>(); + alarmMsgList.forEach( + alarmMsgDTO -> { + String alarmMsg = alarmMsgDTO.getDevcode() + "mmmm" + alarmMsgDTO.getIsAlarm(); + soleDevcodeMap.put(alarmMsgDTO.getDevcode(), alarmMsg); + } + ); + return soleDevcodeMap; + } + + } diff --git a/src/main/java/com/casic/model/AlarmMsgDTO.java b/src/main/java/com/casic/model/AlarmMsgDTO.java new file mode 100644 index 0000000..228a03c --- /dev/null +++ b/src/main/java/com/casic/model/AlarmMsgDTO.java @@ -0,0 +1,11 @@ +package com.casic.model; + +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +public class AlarmMsgDTO { + private String devcode; + private Integer isAlarm; +} diff --git a/src/main/java/com/casic/service/DeviceDataScanner.java b/src/main/java/com/casic/service/DeviceDataScanner.java index 5bacb17..95e37f4 100644 --- a/src/main/java/com/casic/service/DeviceDataScanner.java +++ b/src/main/java/com/casic/service/DeviceDataScanner.java @@ -1,9 +1,11 @@ package com.casic.service; +import com.casic.model.AlarmMsgDTO; + import java.util.List; public interface DeviceDataScanner { - List scanDeviceData(); + List scanDeviceData(); } diff --git a/src/main/java/com/casic/service/scanner/FlowDataScanner.java b/src/main/java/com/casic/service/scanner/FlowDataScanner.java index 0f02aa1..aeb70bc 100644 --- a/src/main/java/com/casic/service/scanner/FlowDataScanner.java +++ b/src/main/java/com/casic/service/scanner/FlowDataScanner.java @@ -1,5 +1,6 @@ package com.casic.service.scanner; +import com.casic.model.AlarmMsgDTO; import com.casic.service.DeviceDataScanner; import com.casic.service.DeviceDataSupport; import org.springframework.stereotype.Service; @@ -12,8 +13,8 @@ public class FlowDataScanner extends DeviceDataSupport implements DeviceDataScanner { @Override - public List scanDeviceData() { - List alarmMsgDTOList=new ArrayList<>(); + public List scanDeviceData() { + List alarmMsgDTOList=new ArrayList<>(); String thresholdValue = alarmLevelConfig.getFlow(); List> flowDataMapList = this.deviceDataMapper.getFlowData(); flowDataMapList.forEach( @@ -28,8 +29,10 @@ } else { mergeAlarm = isAlarm; } - String alarmMsg = devcode + alarmMark + mergeAlarm; - alarmMsgDTOList.add(alarmMsg); + alarmMsgDTOList.add(AlarmMsgDTO.builder() + .devcode(devcode) + .isAlarm(mergeAlarm) + .build()); // sendAlarmMsg(devcode, mergeAlarm); } ); diff --git a/src/main/java/com/casic/service/scanner/PressDataScanner.java b/src/main/java/com/casic/service/scanner/PressDataScanner.java index 00ddc13..99b2127 100644 --- a/src/main/java/com/casic/service/scanner/PressDataScanner.java +++ b/src/main/java/com/casic/service/scanner/PressDataScanner.java @@ -1,5 +1,6 @@ package com.casic.service.scanner; +import com.casic.model.AlarmMsgDTO; import com.casic.service.DeviceDataScanner; import com.casic.service.DeviceDataSupport; import org.springframework.stereotype.Service; @@ -12,8 +13,8 @@ public class PressDataScanner extends DeviceDataSupport implements DeviceDataScanner { @Override - public List scanDeviceData() { - List alarmMsgDTOList = new ArrayList<>(); + public List scanDeviceData() { + List alarmMsgDTOList=new ArrayList<>(); String thresholdValue = alarmLevelConfig.getPressure(); List> pressDataMapList = this.deviceDataMapper.getPressureData(); pressDataMapList.forEach( @@ -28,8 +29,10 @@ } else { mergeAlarm = isAlarm; } - String alarmMsg = devcode + alarmMark + mergeAlarm; - alarmMsgDTOList.add(alarmMsg); + alarmMsgDTOList.add(AlarmMsgDTO.builder() + .devcode(devcode) + .isAlarm(mergeAlarm) + .build()); // sendAlarmMsg(devcode, mergeAlarm); } ); diff --git a/data_receiver.iml b/data_receiver.iml new file mode 100644 index 0000000..8d50c52 --- /dev/null +++ b/data_receiver.iml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/rain_receiver.iml b/rain_receiver.iml deleted file mode 100644 index 8d50c52..0000000 --- a/rain_receiver.iml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/java/com/casic/config/task/TaskSchedulingConfig.java b/src/main/java/com/casic/config/task/TaskSchedulingConfig.java index a96447c..1fa2e20 100644 --- a/src/main/java/com/casic/config/task/TaskSchedulingConfig.java +++ b/src/main/java/com/casic/config/task/TaskSchedulingConfig.java @@ -2,6 +2,7 @@ import com.casic.client.Client; import com.casic.config.TaskCronTimeConfig; +import com.casic.model.AlarmMsgDTO; import com.casic.service.DeviceDataScanner; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -12,7 +13,9 @@ import org.springframework.scheduling.support.CronTrigger; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.concurrent.Executors; @Slf4j @@ -47,26 +50,37 @@ return new Runnable() { @Override public void run() { - List alarmMsgList = new ArrayList<>(); + List alarmMsgList = new ArrayList<>(); deviceDataScannerList.forEach( deviceDataScanner -> { alarmMsgList.addAll(deviceDataScanner.scanDeviceData()); } ); - alarmMsgList.forEach( - alarmMsg -> { - client.setSendMsg(alarmMsg); - Thread myThread = new Thread(client); - myThread.start(); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - } - ); + Map soleDevcodeMap = soleDevcode(alarmMsgList); + for (String key : soleDevcodeMap.keySet()) { + client.setSendMsg(soleDevcodeMap.get(key)); + Thread myThread = new Thread(client); + myThread.start(); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } } }; } + private Map soleDevcode(List alarmMsgList) { + Map soleDevcodeMap = new HashMap<>(); + alarmMsgList.forEach( + alarmMsgDTO -> { + String alarmMsg = alarmMsgDTO.getDevcode() + "mmmm" + alarmMsgDTO.getIsAlarm(); + soleDevcodeMap.put(alarmMsgDTO.getDevcode(), alarmMsg); + } + ); + return soleDevcodeMap; + } + + } diff --git a/src/main/java/com/casic/model/AlarmMsgDTO.java b/src/main/java/com/casic/model/AlarmMsgDTO.java new file mode 100644 index 0000000..228a03c --- /dev/null +++ b/src/main/java/com/casic/model/AlarmMsgDTO.java @@ -0,0 +1,11 @@ +package com.casic.model; + +import lombok.Builder; +import lombok.Data; + +@Builder +@Data +public class AlarmMsgDTO { + private String devcode; + private Integer isAlarm; +} diff --git a/src/main/java/com/casic/service/DeviceDataScanner.java b/src/main/java/com/casic/service/DeviceDataScanner.java index 5bacb17..95e37f4 100644 --- a/src/main/java/com/casic/service/DeviceDataScanner.java +++ b/src/main/java/com/casic/service/DeviceDataScanner.java @@ -1,9 +1,11 @@ package com.casic.service; +import com.casic.model.AlarmMsgDTO; + import java.util.List; public interface DeviceDataScanner { - List scanDeviceData(); + List scanDeviceData(); } diff --git a/src/main/java/com/casic/service/scanner/FlowDataScanner.java b/src/main/java/com/casic/service/scanner/FlowDataScanner.java index 0f02aa1..aeb70bc 100644 --- a/src/main/java/com/casic/service/scanner/FlowDataScanner.java +++ b/src/main/java/com/casic/service/scanner/FlowDataScanner.java @@ -1,5 +1,6 @@ package com.casic.service.scanner; +import com.casic.model.AlarmMsgDTO; import com.casic.service.DeviceDataScanner; import com.casic.service.DeviceDataSupport; import org.springframework.stereotype.Service; @@ -12,8 +13,8 @@ public class FlowDataScanner extends DeviceDataSupport implements DeviceDataScanner { @Override - public List scanDeviceData() { - List alarmMsgDTOList=new ArrayList<>(); + public List scanDeviceData() { + List alarmMsgDTOList=new ArrayList<>(); String thresholdValue = alarmLevelConfig.getFlow(); List> flowDataMapList = this.deviceDataMapper.getFlowData(); flowDataMapList.forEach( @@ -28,8 +29,10 @@ } else { mergeAlarm = isAlarm; } - String alarmMsg = devcode + alarmMark + mergeAlarm; - alarmMsgDTOList.add(alarmMsg); + alarmMsgDTOList.add(AlarmMsgDTO.builder() + .devcode(devcode) + .isAlarm(mergeAlarm) + .build()); // sendAlarmMsg(devcode, mergeAlarm); } ); diff --git a/src/main/java/com/casic/service/scanner/PressDataScanner.java b/src/main/java/com/casic/service/scanner/PressDataScanner.java index 00ddc13..99b2127 100644 --- a/src/main/java/com/casic/service/scanner/PressDataScanner.java +++ b/src/main/java/com/casic/service/scanner/PressDataScanner.java @@ -1,5 +1,6 @@ package com.casic.service.scanner; +import com.casic.model.AlarmMsgDTO; import com.casic.service.DeviceDataScanner; import com.casic.service.DeviceDataSupport; import org.springframework.stereotype.Service; @@ -12,8 +13,8 @@ public class PressDataScanner extends DeviceDataSupport implements DeviceDataScanner { @Override - public List scanDeviceData() { - List alarmMsgDTOList = new ArrayList<>(); + public List scanDeviceData() { + List alarmMsgDTOList=new ArrayList<>(); String thresholdValue = alarmLevelConfig.getPressure(); List> pressDataMapList = this.deviceDataMapper.getPressureData(); pressDataMapList.forEach( @@ -28,8 +29,10 @@ } else { mergeAlarm = isAlarm; } - String alarmMsg = devcode + alarmMark + mergeAlarm; - alarmMsgDTOList.add(alarmMsg); + alarmMsgDTOList.add(AlarmMsgDTO.builder() + .devcode(devcode) + .isAlarm(mergeAlarm) + .build()); // sendAlarmMsg(devcode, mergeAlarm); } ); diff --git a/src/main/java/com/casic/service/scanner/TempHumiScanner.java b/src/main/java/com/casic/service/scanner/TempHumiScanner.java index d2718cb..f00b0c1 100644 --- a/src/main/java/com/casic/service/scanner/TempHumiScanner.java +++ b/src/main/java/com/casic/service/scanner/TempHumiScanner.java @@ -1,5 +1,6 @@ package com.casic.service.scanner; +import com.casic.model.AlarmMsgDTO; import com.casic.service.DeviceDataScanner; import com.casic.service.DeviceDataSupport; import org.springframework.stereotype.Service; @@ -12,8 +13,8 @@ public class TempHumiScanner extends DeviceDataSupport implements DeviceDataScanner { @Override - public List scanDeviceData() { - List alarmMsgDTOList = new ArrayList<>(); + public List scanDeviceData() { + List alarmMsgDTOList = new ArrayList<>(); String humiThreshold = alarmLevelConfig.getHumi(); String tempThreshold = alarmLevelConfig.getTemp(); List> pressDataMapList = this.deviceDataMapper.getHumiTemp(); @@ -25,11 +26,15 @@ String humidityData = pressDataMap.get("HUMIDITY").toString(); Integer isHumiAlarm = isAlarm(humidityData, humiThreshold); if (isHumiAlarm == 0 && isTempAlarm == 0) { - String alarmMsg = devcode + alarmMark +0; - alarmMsgDTOList.add(alarmMsg); + alarmMsgDTOList.add(AlarmMsgDTO.builder() + .devcode(devcode) + .isAlarm(0) + .build()); } else { - String alarmMsg = devcode + alarmMark + 1; - alarmMsgDTOList.add(alarmMsg); + alarmMsgDTOList.add(AlarmMsgDTO.builder() + .devcode(devcode) + .isAlarm(1) + .build()); } // sendAlarmMsg(devcode, mergeAlarm); }