diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/src/main/java/com/casic/enums/AlarmDatagramFlag.java b/src/main/java/com/casic/enums/AlarmDatagramFlag.java index 4716be3..f85da78 100644 --- a/src/main/java/com/casic/enums/AlarmDatagramFlag.java +++ b/src/main/java/com/casic/enums/AlarmDatagramFlag.java @@ -4,5 +4,5 @@ String alarmMark="mmmm"; - String rainFallMark="mmmm"; + String rainFallMark="aaaa"; } diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/src/main/java/com/casic/enums/AlarmDatagramFlag.java b/src/main/java/com/casic/enums/AlarmDatagramFlag.java index 4716be3..f85da78 100644 --- a/src/main/java/com/casic/enums/AlarmDatagramFlag.java +++ b/src/main/java/com/casic/enums/AlarmDatagramFlag.java @@ -4,5 +4,5 @@ String alarmMark="mmmm"; - String rainFallMark="mmmm"; + String rainFallMark="aaaa"; } diff --git a/src/main/java/com/casic/enums/DevcodeEnums.java b/src/main/java/com/casic/enums/DevcodeEnums.java new file mode 100644 index 0000000..2b8f450 --- /dev/null +++ b/src/main/java/com/casic/enums/DevcodeEnums.java @@ -0,0 +1,29 @@ +package com.casic.enums; + +public interface DevcodeEnums { + + String RAIN_GAUGE="865328068419943"; + + /** + * 温湿度 + */ + String HUMI_TEMP="842019010188"; + /** + * 多功能1 + */ + String MULTI_DEVOCDE1="512023010001"; + + /** + * 多功能2 + */ + String MULTI_DEVOCDE2="512023010002"; + /** + * 多功能3 + */ + String MULTI_DEVOCDE3="512023010003"; + + /** + * 多功能4 + */ + String MULTI_DEVOCDE4="512023010004"; +} diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/src/main/java/com/casic/enums/AlarmDatagramFlag.java b/src/main/java/com/casic/enums/AlarmDatagramFlag.java index 4716be3..f85da78 100644 --- a/src/main/java/com/casic/enums/AlarmDatagramFlag.java +++ b/src/main/java/com/casic/enums/AlarmDatagramFlag.java @@ -4,5 +4,5 @@ String alarmMark="mmmm"; - String rainFallMark="mmmm"; + String rainFallMark="aaaa"; } diff --git a/src/main/java/com/casic/enums/DevcodeEnums.java b/src/main/java/com/casic/enums/DevcodeEnums.java new file mode 100644 index 0000000..2b8f450 --- /dev/null +++ b/src/main/java/com/casic/enums/DevcodeEnums.java @@ -0,0 +1,29 @@ +package com.casic.enums; + +public interface DevcodeEnums { + + String RAIN_GAUGE="865328068419943"; + + /** + * 温湿度 + */ + String HUMI_TEMP="842019010188"; + /** + * 多功能1 + */ + String MULTI_DEVOCDE1="512023010001"; + + /** + * 多功能2 + */ + String MULTI_DEVOCDE2="512023010002"; + /** + * 多功能3 + */ + String MULTI_DEVOCDE3="512023010003"; + + /** + * 多功能4 + */ + String MULTI_DEVOCDE4="512023010004"; +} diff --git a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java index 3c907a9..5465cb5 100644 --- a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java +++ b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java @@ -6,16 +6,16 @@ /** * 继电器灯和设备编号的枚举关系 */ -public enum RelayDevcodeMapEnums { +public enum RelayDevcodeMapEnums implements DevcodeEnums{ RELAY_DEVCODE(new HashMap() { { - put("842019010188", "1"); - put("865328068419943", "2"); - put("512023010001", "3"); - put("512023010002", "4"); - put("512023010003", "5"); - put("512023010004", "C6"); + put(RAIN_GAUGE, "1"); + put(HUMI_TEMP, "2"); + put(MULTI_DEVOCDE1, "3"); + put(MULTI_DEVOCDE2, "4"); + put(MULTI_DEVOCDE3, "5"); + put(MULTI_DEVOCDE4, "6"); } }); diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/src/main/java/com/casic/enums/AlarmDatagramFlag.java b/src/main/java/com/casic/enums/AlarmDatagramFlag.java index 4716be3..f85da78 100644 --- a/src/main/java/com/casic/enums/AlarmDatagramFlag.java +++ b/src/main/java/com/casic/enums/AlarmDatagramFlag.java @@ -4,5 +4,5 @@ String alarmMark="mmmm"; - String rainFallMark="mmmm"; + String rainFallMark="aaaa"; } diff --git a/src/main/java/com/casic/enums/DevcodeEnums.java b/src/main/java/com/casic/enums/DevcodeEnums.java new file mode 100644 index 0000000..2b8f450 --- /dev/null +++ b/src/main/java/com/casic/enums/DevcodeEnums.java @@ -0,0 +1,29 @@ +package com.casic.enums; + +public interface DevcodeEnums { + + String RAIN_GAUGE="865328068419943"; + + /** + * 温湿度 + */ + String HUMI_TEMP="842019010188"; + /** + * 多功能1 + */ + String MULTI_DEVOCDE1="512023010001"; + + /** + * 多功能2 + */ + String MULTI_DEVOCDE2="512023010002"; + /** + * 多功能3 + */ + String MULTI_DEVOCDE3="512023010003"; + + /** + * 多功能4 + */ + String MULTI_DEVOCDE4="512023010004"; +} diff --git a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java index 3c907a9..5465cb5 100644 --- a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java +++ b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java @@ -6,16 +6,16 @@ /** * 继电器灯和设备编号的枚举关系 */ -public enum RelayDevcodeMapEnums { +public enum RelayDevcodeMapEnums implements DevcodeEnums{ RELAY_DEVCODE(new HashMap() { { - put("842019010188", "1"); - put("865328068419943", "2"); - put("512023010001", "3"); - put("512023010002", "4"); - put("512023010003", "5"); - put("512023010004", "C6"); + put(RAIN_GAUGE, "1"); + put(HUMI_TEMP, "2"); + put(MULTI_DEVOCDE1, "3"); + put(MULTI_DEVOCDE2, "4"); + put(MULTI_DEVOCDE3, "5"); + put(MULTI_DEVOCDE4, "6"); } }); diff --git a/src/main/java/com/casic/mapper/RainFallDataMapper.java b/src/main/java/com/casic/mapper/RainFallDataMapper.java index f5c29db..2984a9a 100644 --- a/src/main/java/com/casic/mapper/RainFallDataMapper.java +++ b/src/main/java/com/casic/mapper/RainFallDataMapper.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.model.RainFallData; +import org.apache.ibatis.annotations.Mapper; +@Mapper public interface RainFallDataMapper extends BaseMapper { + + } diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/src/main/java/com/casic/enums/AlarmDatagramFlag.java b/src/main/java/com/casic/enums/AlarmDatagramFlag.java index 4716be3..f85da78 100644 --- a/src/main/java/com/casic/enums/AlarmDatagramFlag.java +++ b/src/main/java/com/casic/enums/AlarmDatagramFlag.java @@ -4,5 +4,5 @@ String alarmMark="mmmm"; - String rainFallMark="mmmm"; + String rainFallMark="aaaa"; } diff --git a/src/main/java/com/casic/enums/DevcodeEnums.java b/src/main/java/com/casic/enums/DevcodeEnums.java new file mode 100644 index 0000000..2b8f450 --- /dev/null +++ b/src/main/java/com/casic/enums/DevcodeEnums.java @@ -0,0 +1,29 @@ +package com.casic.enums; + +public interface DevcodeEnums { + + String RAIN_GAUGE="865328068419943"; + + /** + * 温湿度 + */ + String HUMI_TEMP="842019010188"; + /** + * 多功能1 + */ + String MULTI_DEVOCDE1="512023010001"; + + /** + * 多功能2 + */ + String MULTI_DEVOCDE2="512023010002"; + /** + * 多功能3 + */ + String MULTI_DEVOCDE3="512023010003"; + + /** + * 多功能4 + */ + String MULTI_DEVOCDE4="512023010004"; +} diff --git a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java index 3c907a9..5465cb5 100644 --- a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java +++ b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java @@ -6,16 +6,16 @@ /** * 继电器灯和设备编号的枚举关系 */ -public enum RelayDevcodeMapEnums { +public enum RelayDevcodeMapEnums implements DevcodeEnums{ RELAY_DEVCODE(new HashMap() { { - put("842019010188", "1"); - put("865328068419943", "2"); - put("512023010001", "3"); - put("512023010002", "4"); - put("512023010003", "5"); - put("512023010004", "C6"); + put(RAIN_GAUGE, "1"); + put(HUMI_TEMP, "2"); + put(MULTI_DEVOCDE1, "3"); + put(MULTI_DEVOCDE2, "4"); + put(MULTI_DEVOCDE3, "5"); + put(MULTI_DEVOCDE4, "6"); } }); diff --git a/src/main/java/com/casic/mapper/RainFallDataMapper.java b/src/main/java/com/casic/mapper/RainFallDataMapper.java index f5c29db..2984a9a 100644 --- a/src/main/java/com/casic/mapper/RainFallDataMapper.java +++ b/src/main/java/com/casic/mapper/RainFallDataMapper.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.model.RainFallData; +import org.apache.ibatis.annotations.Mapper; +@Mapper public interface RainFallDataMapper extends BaseMapper { + + } diff --git a/src/main/java/com/casic/model/RainFallData.java b/src/main/java/com/casic/model/RainFallData.java index fa96673..c676eea 100644 --- a/src/main/java/com/casic/model/RainFallData.java +++ b/src/main/java/com/casic/model/RainFallData.java @@ -1,5 +1,6 @@ package com.casic.model; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -9,6 +10,7 @@ @TableName("AD_YL_YLIANG") public class RainFallData { + @TableId private String dbid; private String scrid; diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/src/main/java/com/casic/enums/AlarmDatagramFlag.java b/src/main/java/com/casic/enums/AlarmDatagramFlag.java index 4716be3..f85da78 100644 --- a/src/main/java/com/casic/enums/AlarmDatagramFlag.java +++ b/src/main/java/com/casic/enums/AlarmDatagramFlag.java @@ -4,5 +4,5 @@ String alarmMark="mmmm"; - String rainFallMark="mmmm"; + String rainFallMark="aaaa"; } diff --git a/src/main/java/com/casic/enums/DevcodeEnums.java b/src/main/java/com/casic/enums/DevcodeEnums.java new file mode 100644 index 0000000..2b8f450 --- /dev/null +++ b/src/main/java/com/casic/enums/DevcodeEnums.java @@ -0,0 +1,29 @@ +package com.casic.enums; + +public interface DevcodeEnums { + + String RAIN_GAUGE="865328068419943"; + + /** + * 温湿度 + */ + String HUMI_TEMP="842019010188"; + /** + * 多功能1 + */ + String MULTI_DEVOCDE1="512023010001"; + + /** + * 多功能2 + */ + String MULTI_DEVOCDE2="512023010002"; + /** + * 多功能3 + */ + String MULTI_DEVOCDE3="512023010003"; + + /** + * 多功能4 + */ + String MULTI_DEVOCDE4="512023010004"; +} diff --git a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java index 3c907a9..5465cb5 100644 --- a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java +++ b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java @@ -6,16 +6,16 @@ /** * 继电器灯和设备编号的枚举关系 */ -public enum RelayDevcodeMapEnums { +public enum RelayDevcodeMapEnums implements DevcodeEnums{ RELAY_DEVCODE(new HashMap() { { - put("842019010188", "1"); - put("865328068419943", "2"); - put("512023010001", "3"); - put("512023010002", "4"); - put("512023010003", "5"); - put("512023010004", "C6"); + put(RAIN_GAUGE, "1"); + put(HUMI_TEMP, "2"); + put(MULTI_DEVOCDE1, "3"); + put(MULTI_DEVOCDE2, "4"); + put(MULTI_DEVOCDE3, "5"); + put(MULTI_DEVOCDE4, "6"); } }); diff --git a/src/main/java/com/casic/mapper/RainFallDataMapper.java b/src/main/java/com/casic/mapper/RainFallDataMapper.java index f5c29db..2984a9a 100644 --- a/src/main/java/com/casic/mapper/RainFallDataMapper.java +++ b/src/main/java/com/casic/mapper/RainFallDataMapper.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.model.RainFallData; +import org.apache.ibatis.annotations.Mapper; +@Mapper public interface RainFallDataMapper extends BaseMapper { + + } diff --git a/src/main/java/com/casic/model/RainFallData.java b/src/main/java/com/casic/model/RainFallData.java index fa96673..c676eea 100644 --- a/src/main/java/com/casic/model/RainFallData.java +++ b/src/main/java/com/casic/model/RainFallData.java @@ -1,5 +1,6 @@ package com.casic.model; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -9,6 +10,7 @@ @TableName("AD_YL_YLIANG") public class RainFallData { + @TableId private String dbid; private String scrid; diff --git a/src/main/java/com/casic/resolver/AlarmDataResolver.java b/src/main/java/com/casic/resolver/AlarmDataResolver.java index 2c6874b..c794a7b 100644 --- a/src/main/java/com/casic/resolver/AlarmDataResolver.java +++ b/src/main/java/com/casic/resolver/AlarmDataResolver.java @@ -1,7 +1,9 @@ package com.casic.resolver; +import com.alibaba.druid.util.StringUtils; import com.casic.enums.AlarmDatagramFlag; +import com.casic.enums.DevcodeEnums; import com.casic.enums.RelayDevcodeMapEnums; import com.casic.model.RelayStatusDTO; import lombok.extern.slf4j.Slf4j; @@ -9,17 +11,28 @@ @Slf4j @Service -public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag { +public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag, DevcodeEnums { @Override public RelayStatusDTO datagram(String msg) { - if(msg.contains(alarmMark)){ - //去掉补位 - String devcode = msg.substring(0, 15); - Integer isAlarm = Integer.valueOf(msg.substring(16,17)); + if (msg.contains(alarmMark)) { + String devcode = ""; + Integer isAlarm; + if (msg.contains(HUMI_TEMP)) { + devcode = HUMI_TEMP; + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } else { + //去掉补位 + devcode = msg.substring(0, 12); + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } log.info("设备编号为" + devcode + ",是否报警" + isAlarm); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName( RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/src/main/java/com/casic/enums/AlarmDatagramFlag.java b/src/main/java/com/casic/enums/AlarmDatagramFlag.java index 4716be3..f85da78 100644 --- a/src/main/java/com/casic/enums/AlarmDatagramFlag.java +++ b/src/main/java/com/casic/enums/AlarmDatagramFlag.java @@ -4,5 +4,5 @@ String alarmMark="mmmm"; - String rainFallMark="mmmm"; + String rainFallMark="aaaa"; } diff --git a/src/main/java/com/casic/enums/DevcodeEnums.java b/src/main/java/com/casic/enums/DevcodeEnums.java new file mode 100644 index 0000000..2b8f450 --- /dev/null +++ b/src/main/java/com/casic/enums/DevcodeEnums.java @@ -0,0 +1,29 @@ +package com.casic.enums; + +public interface DevcodeEnums { + + String RAIN_GAUGE="865328068419943"; + + /** + * 温湿度 + */ + String HUMI_TEMP="842019010188"; + /** + * 多功能1 + */ + String MULTI_DEVOCDE1="512023010001"; + + /** + * 多功能2 + */ + String MULTI_DEVOCDE2="512023010002"; + /** + * 多功能3 + */ + String MULTI_DEVOCDE3="512023010003"; + + /** + * 多功能4 + */ + String MULTI_DEVOCDE4="512023010004"; +} diff --git a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java index 3c907a9..5465cb5 100644 --- a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java +++ b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java @@ -6,16 +6,16 @@ /** * 继电器灯和设备编号的枚举关系 */ -public enum RelayDevcodeMapEnums { +public enum RelayDevcodeMapEnums implements DevcodeEnums{ RELAY_DEVCODE(new HashMap() { { - put("842019010188", "1"); - put("865328068419943", "2"); - put("512023010001", "3"); - put("512023010002", "4"); - put("512023010003", "5"); - put("512023010004", "C6"); + put(RAIN_GAUGE, "1"); + put(HUMI_TEMP, "2"); + put(MULTI_DEVOCDE1, "3"); + put(MULTI_DEVOCDE2, "4"); + put(MULTI_DEVOCDE3, "5"); + put(MULTI_DEVOCDE4, "6"); } }); diff --git a/src/main/java/com/casic/mapper/RainFallDataMapper.java b/src/main/java/com/casic/mapper/RainFallDataMapper.java index f5c29db..2984a9a 100644 --- a/src/main/java/com/casic/mapper/RainFallDataMapper.java +++ b/src/main/java/com/casic/mapper/RainFallDataMapper.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.model.RainFallData; +import org.apache.ibatis.annotations.Mapper; +@Mapper public interface RainFallDataMapper extends BaseMapper { + + } diff --git a/src/main/java/com/casic/model/RainFallData.java b/src/main/java/com/casic/model/RainFallData.java index fa96673..c676eea 100644 --- a/src/main/java/com/casic/model/RainFallData.java +++ b/src/main/java/com/casic/model/RainFallData.java @@ -1,5 +1,6 @@ package com.casic.model; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -9,6 +10,7 @@ @TableName("AD_YL_YLIANG") public class RainFallData { + @TableId private String dbid; private String scrid; diff --git a/src/main/java/com/casic/resolver/AlarmDataResolver.java b/src/main/java/com/casic/resolver/AlarmDataResolver.java index 2c6874b..c794a7b 100644 --- a/src/main/java/com/casic/resolver/AlarmDataResolver.java +++ b/src/main/java/com/casic/resolver/AlarmDataResolver.java @@ -1,7 +1,9 @@ package com.casic.resolver; +import com.alibaba.druid.util.StringUtils; import com.casic.enums.AlarmDatagramFlag; +import com.casic.enums.DevcodeEnums; import com.casic.enums.RelayDevcodeMapEnums; import com.casic.model.RelayStatusDTO; import lombok.extern.slf4j.Slf4j; @@ -9,17 +11,28 @@ @Slf4j @Service -public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag { +public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag, DevcodeEnums { @Override public RelayStatusDTO datagram(String msg) { - if(msg.contains(alarmMark)){ - //去掉补位 - String devcode = msg.substring(0, 15); - Integer isAlarm = Integer.valueOf(msg.substring(16,17)); + if (msg.contains(alarmMark)) { + String devcode = ""; + Integer isAlarm; + if (msg.contains(HUMI_TEMP)) { + devcode = HUMI_TEMP; + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } else { + //去掉补位 + devcode = msg.substring(0, 12); + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } log.info("设备编号为" + devcode + ",是否报警" + isAlarm); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName( RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/resolver/RainFallDataResolver.java b/src/main/java/com/casic/resolver/RainFallDataResolver.java index 8a22899..9b643de 100644 --- a/src/main/java/com/casic/resolver/RainFallDataResolver.java +++ b/src/main/java/com/casic/resolver/RainFallDataResolver.java @@ -11,29 +11,34 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.Date; @Service @Slf4j public class RainFallDataResolver implements DatagramResolver, AlarmDatagramFlag { - @Autowired + @Resource private RainFallDataMapper rainFallDataMapper; @Autowired private AlarmLevelConfig alarmLevelConfig; @Override public RelayStatusDTO datagram(String msg) { - if (msg.contains(rainFallMark)) { + if (msg.toLowerCase().contains(rainFallMark)) { //去掉补位 String devcode = msg.substring(0, 15); - String defaultValue = msg.substring(26, 30); + String defaultValue = String.valueOf(Integer.valueOf(msg.substring(26, 30))); log.info("设备编号为" + devcode + ",设备数据为" + defaultValue); RainFallData rainFallData = initRainFallData(devcode, defaultValue); rainFallDataMapper.insert(rainFallData); Integer isAlarm = isAlarm(String.valueOf(defaultValue), alarmLevelConfig.getRainfall()); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName(RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/src/main/java/com/casic/enums/AlarmDatagramFlag.java b/src/main/java/com/casic/enums/AlarmDatagramFlag.java index 4716be3..f85da78 100644 --- a/src/main/java/com/casic/enums/AlarmDatagramFlag.java +++ b/src/main/java/com/casic/enums/AlarmDatagramFlag.java @@ -4,5 +4,5 @@ String alarmMark="mmmm"; - String rainFallMark="mmmm"; + String rainFallMark="aaaa"; } diff --git a/src/main/java/com/casic/enums/DevcodeEnums.java b/src/main/java/com/casic/enums/DevcodeEnums.java new file mode 100644 index 0000000..2b8f450 --- /dev/null +++ b/src/main/java/com/casic/enums/DevcodeEnums.java @@ -0,0 +1,29 @@ +package com.casic.enums; + +public interface DevcodeEnums { + + String RAIN_GAUGE="865328068419943"; + + /** + * 温湿度 + */ + String HUMI_TEMP="842019010188"; + /** + * 多功能1 + */ + String MULTI_DEVOCDE1="512023010001"; + + /** + * 多功能2 + */ + String MULTI_DEVOCDE2="512023010002"; + /** + * 多功能3 + */ + String MULTI_DEVOCDE3="512023010003"; + + /** + * 多功能4 + */ + String MULTI_DEVOCDE4="512023010004"; +} diff --git a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java index 3c907a9..5465cb5 100644 --- a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java +++ b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java @@ -6,16 +6,16 @@ /** * 继电器灯和设备编号的枚举关系 */ -public enum RelayDevcodeMapEnums { +public enum RelayDevcodeMapEnums implements DevcodeEnums{ RELAY_DEVCODE(new HashMap() { { - put("842019010188", "1"); - put("865328068419943", "2"); - put("512023010001", "3"); - put("512023010002", "4"); - put("512023010003", "5"); - put("512023010004", "C6"); + put(RAIN_GAUGE, "1"); + put(HUMI_TEMP, "2"); + put(MULTI_DEVOCDE1, "3"); + put(MULTI_DEVOCDE2, "4"); + put(MULTI_DEVOCDE3, "5"); + put(MULTI_DEVOCDE4, "6"); } }); diff --git a/src/main/java/com/casic/mapper/RainFallDataMapper.java b/src/main/java/com/casic/mapper/RainFallDataMapper.java index f5c29db..2984a9a 100644 --- a/src/main/java/com/casic/mapper/RainFallDataMapper.java +++ b/src/main/java/com/casic/mapper/RainFallDataMapper.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.model.RainFallData; +import org.apache.ibatis.annotations.Mapper; +@Mapper public interface RainFallDataMapper extends BaseMapper { + + } diff --git a/src/main/java/com/casic/model/RainFallData.java b/src/main/java/com/casic/model/RainFallData.java index fa96673..c676eea 100644 --- a/src/main/java/com/casic/model/RainFallData.java +++ b/src/main/java/com/casic/model/RainFallData.java @@ -1,5 +1,6 @@ package com.casic.model; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -9,6 +10,7 @@ @TableName("AD_YL_YLIANG") public class RainFallData { + @TableId private String dbid; private String scrid; diff --git a/src/main/java/com/casic/resolver/AlarmDataResolver.java b/src/main/java/com/casic/resolver/AlarmDataResolver.java index 2c6874b..c794a7b 100644 --- a/src/main/java/com/casic/resolver/AlarmDataResolver.java +++ b/src/main/java/com/casic/resolver/AlarmDataResolver.java @@ -1,7 +1,9 @@ package com.casic.resolver; +import com.alibaba.druid.util.StringUtils; import com.casic.enums.AlarmDatagramFlag; +import com.casic.enums.DevcodeEnums; import com.casic.enums.RelayDevcodeMapEnums; import com.casic.model.RelayStatusDTO; import lombok.extern.slf4j.Slf4j; @@ -9,17 +11,28 @@ @Slf4j @Service -public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag { +public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag, DevcodeEnums { @Override public RelayStatusDTO datagram(String msg) { - if(msg.contains(alarmMark)){ - //去掉补位 - String devcode = msg.substring(0, 15); - Integer isAlarm = Integer.valueOf(msg.substring(16,17)); + if (msg.contains(alarmMark)) { + String devcode = ""; + Integer isAlarm; + if (msg.contains(HUMI_TEMP)) { + devcode = HUMI_TEMP; + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } else { + //去掉补位 + devcode = msg.substring(0, 12); + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } log.info("设备编号为" + devcode + ",是否报警" + isAlarm); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName( RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/resolver/RainFallDataResolver.java b/src/main/java/com/casic/resolver/RainFallDataResolver.java index 8a22899..9b643de 100644 --- a/src/main/java/com/casic/resolver/RainFallDataResolver.java +++ b/src/main/java/com/casic/resolver/RainFallDataResolver.java @@ -11,29 +11,34 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.Date; @Service @Slf4j public class RainFallDataResolver implements DatagramResolver, AlarmDatagramFlag { - @Autowired + @Resource private RainFallDataMapper rainFallDataMapper; @Autowired private AlarmLevelConfig alarmLevelConfig; @Override public RelayStatusDTO datagram(String msg) { - if (msg.contains(rainFallMark)) { + if (msg.toLowerCase().contains(rainFallMark)) { //去掉补位 String devcode = msg.substring(0, 15); - String defaultValue = msg.substring(26, 30); + String defaultValue = String.valueOf(Integer.valueOf(msg.substring(26, 30))); log.info("设备编号为" + devcode + ",设备数据为" + defaultValue); RainFallData rainFallData = initRainFallData(devcode, defaultValue); rainFallDataMapper.insert(rainFallData); Integer isAlarm = isAlarm(String.valueOf(defaultValue), alarmLevelConfig.getRainfall()); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName(RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/server/ReceiverServer.java b/src/main/java/com/casic/server/ReceiverServer.java index a98e4ca..b1849f6 100644 --- a/src/main/java/com/casic/server/ReceiverServer.java +++ b/src/main/java/com/casic/server/ReceiverServer.java @@ -33,10 +33,10 @@ @Autowired private ServerPort serverPort; - @PostConstruct - public void init() { - this.start(); - } +// @PostConstruct +// public void init() { +// this.start(); +// } public void start() { EventLoopGroup bossGroup = new NioEventLoopGroup(); diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/src/main/java/com/casic/enums/AlarmDatagramFlag.java b/src/main/java/com/casic/enums/AlarmDatagramFlag.java index 4716be3..f85da78 100644 --- a/src/main/java/com/casic/enums/AlarmDatagramFlag.java +++ b/src/main/java/com/casic/enums/AlarmDatagramFlag.java @@ -4,5 +4,5 @@ String alarmMark="mmmm"; - String rainFallMark="mmmm"; + String rainFallMark="aaaa"; } diff --git a/src/main/java/com/casic/enums/DevcodeEnums.java b/src/main/java/com/casic/enums/DevcodeEnums.java new file mode 100644 index 0000000..2b8f450 --- /dev/null +++ b/src/main/java/com/casic/enums/DevcodeEnums.java @@ -0,0 +1,29 @@ +package com.casic.enums; + +public interface DevcodeEnums { + + String RAIN_GAUGE="865328068419943"; + + /** + * 温湿度 + */ + String HUMI_TEMP="842019010188"; + /** + * 多功能1 + */ + String MULTI_DEVOCDE1="512023010001"; + + /** + * 多功能2 + */ + String MULTI_DEVOCDE2="512023010002"; + /** + * 多功能3 + */ + String MULTI_DEVOCDE3="512023010003"; + + /** + * 多功能4 + */ + String MULTI_DEVOCDE4="512023010004"; +} diff --git a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java index 3c907a9..5465cb5 100644 --- a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java +++ b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java @@ -6,16 +6,16 @@ /** * 继电器灯和设备编号的枚举关系 */ -public enum RelayDevcodeMapEnums { +public enum RelayDevcodeMapEnums implements DevcodeEnums{ RELAY_DEVCODE(new HashMap() { { - put("842019010188", "1"); - put("865328068419943", "2"); - put("512023010001", "3"); - put("512023010002", "4"); - put("512023010003", "5"); - put("512023010004", "C6"); + put(RAIN_GAUGE, "1"); + put(HUMI_TEMP, "2"); + put(MULTI_DEVOCDE1, "3"); + put(MULTI_DEVOCDE2, "4"); + put(MULTI_DEVOCDE3, "5"); + put(MULTI_DEVOCDE4, "6"); } }); diff --git a/src/main/java/com/casic/mapper/RainFallDataMapper.java b/src/main/java/com/casic/mapper/RainFallDataMapper.java index f5c29db..2984a9a 100644 --- a/src/main/java/com/casic/mapper/RainFallDataMapper.java +++ b/src/main/java/com/casic/mapper/RainFallDataMapper.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.model.RainFallData; +import org.apache.ibatis.annotations.Mapper; +@Mapper public interface RainFallDataMapper extends BaseMapper { + + } diff --git a/src/main/java/com/casic/model/RainFallData.java b/src/main/java/com/casic/model/RainFallData.java index fa96673..c676eea 100644 --- a/src/main/java/com/casic/model/RainFallData.java +++ b/src/main/java/com/casic/model/RainFallData.java @@ -1,5 +1,6 @@ package com.casic.model; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -9,6 +10,7 @@ @TableName("AD_YL_YLIANG") public class RainFallData { + @TableId private String dbid; private String scrid; diff --git a/src/main/java/com/casic/resolver/AlarmDataResolver.java b/src/main/java/com/casic/resolver/AlarmDataResolver.java index 2c6874b..c794a7b 100644 --- a/src/main/java/com/casic/resolver/AlarmDataResolver.java +++ b/src/main/java/com/casic/resolver/AlarmDataResolver.java @@ -1,7 +1,9 @@ package com.casic.resolver; +import com.alibaba.druid.util.StringUtils; import com.casic.enums.AlarmDatagramFlag; +import com.casic.enums.DevcodeEnums; import com.casic.enums.RelayDevcodeMapEnums; import com.casic.model.RelayStatusDTO; import lombok.extern.slf4j.Slf4j; @@ -9,17 +11,28 @@ @Slf4j @Service -public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag { +public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag, DevcodeEnums { @Override public RelayStatusDTO datagram(String msg) { - if(msg.contains(alarmMark)){ - //去掉补位 - String devcode = msg.substring(0, 15); - Integer isAlarm = Integer.valueOf(msg.substring(16,17)); + if (msg.contains(alarmMark)) { + String devcode = ""; + Integer isAlarm; + if (msg.contains(HUMI_TEMP)) { + devcode = HUMI_TEMP; + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } else { + //去掉补位 + devcode = msg.substring(0, 12); + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } log.info("设备编号为" + devcode + ",是否报警" + isAlarm); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName( RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/resolver/RainFallDataResolver.java b/src/main/java/com/casic/resolver/RainFallDataResolver.java index 8a22899..9b643de 100644 --- a/src/main/java/com/casic/resolver/RainFallDataResolver.java +++ b/src/main/java/com/casic/resolver/RainFallDataResolver.java @@ -11,29 +11,34 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.Date; @Service @Slf4j public class RainFallDataResolver implements DatagramResolver, AlarmDatagramFlag { - @Autowired + @Resource private RainFallDataMapper rainFallDataMapper; @Autowired private AlarmLevelConfig alarmLevelConfig; @Override public RelayStatusDTO datagram(String msg) { - if (msg.contains(rainFallMark)) { + if (msg.toLowerCase().contains(rainFallMark)) { //去掉补位 String devcode = msg.substring(0, 15); - String defaultValue = msg.substring(26, 30); + String defaultValue = String.valueOf(Integer.valueOf(msg.substring(26, 30))); log.info("设备编号为" + devcode + ",设备数据为" + defaultValue); RainFallData rainFallData = initRainFallData(devcode, defaultValue); rainFallDataMapper.insert(rainFallData); Integer isAlarm = isAlarm(String.valueOf(defaultValue), alarmLevelConfig.getRainfall()); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName(RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/server/ReceiverServer.java b/src/main/java/com/casic/server/ReceiverServer.java index a98e4ca..b1849f6 100644 --- a/src/main/java/com/casic/server/ReceiverServer.java +++ b/src/main/java/com/casic/server/ReceiverServer.java @@ -33,10 +33,10 @@ @Autowired private ServerPort serverPort; - @PostConstruct - public void init() { - this.start(); - } +// @PostConstruct +// public void init() { +// this.start(); +// } public void start() { EventLoopGroup bossGroup = new NioEventLoopGroup(); diff --git a/src/main/java/com/casic/server/ReceiverServerHandler.java b/src/main/java/com/casic/server/ReceiverServerHandler.java index 31ac43e..bd6616c 100644 --- a/src/main/java/com/casic/server/ReceiverServerHandler.java +++ b/src/main/java/com/casic/server/ReceiverServerHandler.java @@ -3,6 +3,7 @@ import com.casic.enums.RelaySwitchEnums; import com.casic.model.RelayStatusDTO; +import com.casic.resolver.DatagramResolver; import com.casic.resolver.RainFallDataResolver; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; @@ -34,7 +35,7 @@ new DefaultChannelGroup(GlobalEventExecutor.INSTANCE); @Autowired - private List rainFallDataResolverList; + private List datagramResolverList; public ReceiverServerHandler() { } @@ -66,13 +67,16 @@ */ @Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + if (msg instanceof String) { - rainFallDataResolverList.forEach( - rainFallDataResolver -> { - RelayStatusDTO relayStatusDTO = rainFallDataResolver.datagram(String.valueOf(msg)); - sendMsg(ctx, relayStatusDTO); - } - ); + if (!String.valueOf(msg).contains("iccid")){ + datagramResolverList.forEach( + rainFallDataResolver -> { + RelayStatusDTO relayStatusDTO = rainFallDataResolver.datagram(String.valueOf(msg)); + sendMsg(ctx, relayStatusDTO); + } + ); + } } super.channelRead(ctx, msg); } diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/src/main/java/com/casic/enums/AlarmDatagramFlag.java b/src/main/java/com/casic/enums/AlarmDatagramFlag.java index 4716be3..f85da78 100644 --- a/src/main/java/com/casic/enums/AlarmDatagramFlag.java +++ b/src/main/java/com/casic/enums/AlarmDatagramFlag.java @@ -4,5 +4,5 @@ String alarmMark="mmmm"; - String rainFallMark="mmmm"; + String rainFallMark="aaaa"; } diff --git a/src/main/java/com/casic/enums/DevcodeEnums.java b/src/main/java/com/casic/enums/DevcodeEnums.java new file mode 100644 index 0000000..2b8f450 --- /dev/null +++ b/src/main/java/com/casic/enums/DevcodeEnums.java @@ -0,0 +1,29 @@ +package com.casic.enums; + +public interface DevcodeEnums { + + String RAIN_GAUGE="865328068419943"; + + /** + * 温湿度 + */ + String HUMI_TEMP="842019010188"; + /** + * 多功能1 + */ + String MULTI_DEVOCDE1="512023010001"; + + /** + * 多功能2 + */ + String MULTI_DEVOCDE2="512023010002"; + /** + * 多功能3 + */ + String MULTI_DEVOCDE3="512023010003"; + + /** + * 多功能4 + */ + String MULTI_DEVOCDE4="512023010004"; +} diff --git a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java index 3c907a9..5465cb5 100644 --- a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java +++ b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java @@ -6,16 +6,16 @@ /** * 继电器灯和设备编号的枚举关系 */ -public enum RelayDevcodeMapEnums { +public enum RelayDevcodeMapEnums implements DevcodeEnums{ RELAY_DEVCODE(new HashMap() { { - put("842019010188", "1"); - put("865328068419943", "2"); - put("512023010001", "3"); - put("512023010002", "4"); - put("512023010003", "5"); - put("512023010004", "C6"); + put(RAIN_GAUGE, "1"); + put(HUMI_TEMP, "2"); + put(MULTI_DEVOCDE1, "3"); + put(MULTI_DEVOCDE2, "4"); + put(MULTI_DEVOCDE3, "5"); + put(MULTI_DEVOCDE4, "6"); } }); diff --git a/src/main/java/com/casic/mapper/RainFallDataMapper.java b/src/main/java/com/casic/mapper/RainFallDataMapper.java index f5c29db..2984a9a 100644 --- a/src/main/java/com/casic/mapper/RainFallDataMapper.java +++ b/src/main/java/com/casic/mapper/RainFallDataMapper.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.model.RainFallData; +import org.apache.ibatis.annotations.Mapper; +@Mapper public interface RainFallDataMapper extends BaseMapper { + + } diff --git a/src/main/java/com/casic/model/RainFallData.java b/src/main/java/com/casic/model/RainFallData.java index fa96673..c676eea 100644 --- a/src/main/java/com/casic/model/RainFallData.java +++ b/src/main/java/com/casic/model/RainFallData.java @@ -1,5 +1,6 @@ package com.casic.model; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -9,6 +10,7 @@ @TableName("AD_YL_YLIANG") public class RainFallData { + @TableId private String dbid; private String scrid; diff --git a/src/main/java/com/casic/resolver/AlarmDataResolver.java b/src/main/java/com/casic/resolver/AlarmDataResolver.java index 2c6874b..c794a7b 100644 --- a/src/main/java/com/casic/resolver/AlarmDataResolver.java +++ b/src/main/java/com/casic/resolver/AlarmDataResolver.java @@ -1,7 +1,9 @@ package com.casic.resolver; +import com.alibaba.druid.util.StringUtils; import com.casic.enums.AlarmDatagramFlag; +import com.casic.enums.DevcodeEnums; import com.casic.enums.RelayDevcodeMapEnums; import com.casic.model.RelayStatusDTO; import lombok.extern.slf4j.Slf4j; @@ -9,17 +11,28 @@ @Slf4j @Service -public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag { +public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag, DevcodeEnums { @Override public RelayStatusDTO datagram(String msg) { - if(msg.contains(alarmMark)){ - //去掉补位 - String devcode = msg.substring(0, 15); - Integer isAlarm = Integer.valueOf(msg.substring(16,17)); + if (msg.contains(alarmMark)) { + String devcode = ""; + Integer isAlarm; + if (msg.contains(HUMI_TEMP)) { + devcode = HUMI_TEMP; + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } else { + //去掉补位 + devcode = msg.substring(0, 12); + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } log.info("设备编号为" + devcode + ",是否报警" + isAlarm); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName( RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/resolver/RainFallDataResolver.java b/src/main/java/com/casic/resolver/RainFallDataResolver.java index 8a22899..9b643de 100644 --- a/src/main/java/com/casic/resolver/RainFallDataResolver.java +++ b/src/main/java/com/casic/resolver/RainFallDataResolver.java @@ -11,29 +11,34 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.Date; @Service @Slf4j public class RainFallDataResolver implements DatagramResolver, AlarmDatagramFlag { - @Autowired + @Resource private RainFallDataMapper rainFallDataMapper; @Autowired private AlarmLevelConfig alarmLevelConfig; @Override public RelayStatusDTO datagram(String msg) { - if (msg.contains(rainFallMark)) { + if (msg.toLowerCase().contains(rainFallMark)) { //去掉补位 String devcode = msg.substring(0, 15); - String defaultValue = msg.substring(26, 30); + String defaultValue = String.valueOf(Integer.valueOf(msg.substring(26, 30))); log.info("设备编号为" + devcode + ",设备数据为" + defaultValue); RainFallData rainFallData = initRainFallData(devcode, defaultValue); rainFallDataMapper.insert(rainFallData); Integer isAlarm = isAlarm(String.valueOf(defaultValue), alarmLevelConfig.getRainfall()); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName(RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/server/ReceiverServer.java b/src/main/java/com/casic/server/ReceiverServer.java index a98e4ca..b1849f6 100644 --- a/src/main/java/com/casic/server/ReceiverServer.java +++ b/src/main/java/com/casic/server/ReceiverServer.java @@ -33,10 +33,10 @@ @Autowired private ServerPort serverPort; - @PostConstruct - public void init() { - this.start(); - } +// @PostConstruct +// public void init() { +// this.start(); +// } public void start() { EventLoopGroup bossGroup = new NioEventLoopGroup(); diff --git a/src/main/java/com/casic/server/ReceiverServerHandler.java b/src/main/java/com/casic/server/ReceiverServerHandler.java index 31ac43e..bd6616c 100644 --- a/src/main/java/com/casic/server/ReceiverServerHandler.java +++ b/src/main/java/com/casic/server/ReceiverServerHandler.java @@ -3,6 +3,7 @@ import com.casic.enums.RelaySwitchEnums; import com.casic.model.RelayStatusDTO; +import com.casic.resolver.DatagramResolver; import com.casic.resolver.RainFallDataResolver; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; @@ -34,7 +35,7 @@ new DefaultChannelGroup(GlobalEventExecutor.INSTANCE); @Autowired - private List rainFallDataResolverList; + private List datagramResolverList; public ReceiverServerHandler() { } @@ -66,13 +67,16 @@ */ @Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + if (msg instanceof String) { - rainFallDataResolverList.forEach( - rainFallDataResolver -> { - RelayStatusDTO relayStatusDTO = rainFallDataResolver.datagram(String.valueOf(msg)); - sendMsg(ctx, relayStatusDTO); - } - ); + if (!String.valueOf(msg).contains("iccid")){ + datagramResolverList.forEach( + rainFallDataResolver -> { + RelayStatusDTO relayStatusDTO = rainFallDataResolver.datagram(String.valueOf(msg)); + sendMsg(ctx, relayStatusDTO); + } + ); + } } super.channelRead(ctx, msg); } diff --git a/src/main/java/com/casic/service/DeviceDataSupport.java b/src/main/java/com/casic/service/DeviceDataSupport.java index 93d61ea..9ddcd7a 100644 --- a/src/main/java/com/casic/service/DeviceDataSupport.java +++ b/src/main/java/com/casic/service/DeviceDataSupport.java @@ -27,7 +27,7 @@ * 比较是否报警 报警/正常 1/0 */ protected Integer isAlarm(String realData, String thresholdValue) { - if (!StringUtils.isEmpty(realData) && StringUtils.isEmpty(thresholdValue)) { + if (!StringUtils.isEmpty(realData) && !StringUtils.isEmpty(thresholdValue)) { if (Float.valueOf(realData) >= Float.valueOf(thresholdValue)) { return 1; } diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/src/main/java/com/casic/enums/AlarmDatagramFlag.java b/src/main/java/com/casic/enums/AlarmDatagramFlag.java index 4716be3..f85da78 100644 --- a/src/main/java/com/casic/enums/AlarmDatagramFlag.java +++ b/src/main/java/com/casic/enums/AlarmDatagramFlag.java @@ -4,5 +4,5 @@ String alarmMark="mmmm"; - String rainFallMark="mmmm"; + String rainFallMark="aaaa"; } diff --git a/src/main/java/com/casic/enums/DevcodeEnums.java b/src/main/java/com/casic/enums/DevcodeEnums.java new file mode 100644 index 0000000..2b8f450 --- /dev/null +++ b/src/main/java/com/casic/enums/DevcodeEnums.java @@ -0,0 +1,29 @@ +package com.casic.enums; + +public interface DevcodeEnums { + + String RAIN_GAUGE="865328068419943"; + + /** + * 温湿度 + */ + String HUMI_TEMP="842019010188"; + /** + * 多功能1 + */ + String MULTI_DEVOCDE1="512023010001"; + + /** + * 多功能2 + */ + String MULTI_DEVOCDE2="512023010002"; + /** + * 多功能3 + */ + String MULTI_DEVOCDE3="512023010003"; + + /** + * 多功能4 + */ + String MULTI_DEVOCDE4="512023010004"; +} diff --git a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java index 3c907a9..5465cb5 100644 --- a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java +++ b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java @@ -6,16 +6,16 @@ /** * 继电器灯和设备编号的枚举关系 */ -public enum RelayDevcodeMapEnums { +public enum RelayDevcodeMapEnums implements DevcodeEnums{ RELAY_DEVCODE(new HashMap() { { - put("842019010188", "1"); - put("865328068419943", "2"); - put("512023010001", "3"); - put("512023010002", "4"); - put("512023010003", "5"); - put("512023010004", "C6"); + put(RAIN_GAUGE, "1"); + put(HUMI_TEMP, "2"); + put(MULTI_DEVOCDE1, "3"); + put(MULTI_DEVOCDE2, "4"); + put(MULTI_DEVOCDE3, "5"); + put(MULTI_DEVOCDE4, "6"); } }); diff --git a/src/main/java/com/casic/mapper/RainFallDataMapper.java b/src/main/java/com/casic/mapper/RainFallDataMapper.java index f5c29db..2984a9a 100644 --- a/src/main/java/com/casic/mapper/RainFallDataMapper.java +++ b/src/main/java/com/casic/mapper/RainFallDataMapper.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.model.RainFallData; +import org.apache.ibatis.annotations.Mapper; +@Mapper public interface RainFallDataMapper extends BaseMapper { + + } diff --git a/src/main/java/com/casic/model/RainFallData.java b/src/main/java/com/casic/model/RainFallData.java index fa96673..c676eea 100644 --- a/src/main/java/com/casic/model/RainFallData.java +++ b/src/main/java/com/casic/model/RainFallData.java @@ -1,5 +1,6 @@ package com.casic.model; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -9,6 +10,7 @@ @TableName("AD_YL_YLIANG") public class RainFallData { + @TableId private String dbid; private String scrid; diff --git a/src/main/java/com/casic/resolver/AlarmDataResolver.java b/src/main/java/com/casic/resolver/AlarmDataResolver.java index 2c6874b..c794a7b 100644 --- a/src/main/java/com/casic/resolver/AlarmDataResolver.java +++ b/src/main/java/com/casic/resolver/AlarmDataResolver.java @@ -1,7 +1,9 @@ package com.casic.resolver; +import com.alibaba.druid.util.StringUtils; import com.casic.enums.AlarmDatagramFlag; +import com.casic.enums.DevcodeEnums; import com.casic.enums.RelayDevcodeMapEnums; import com.casic.model.RelayStatusDTO; import lombok.extern.slf4j.Slf4j; @@ -9,17 +11,28 @@ @Slf4j @Service -public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag { +public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag, DevcodeEnums { @Override public RelayStatusDTO datagram(String msg) { - if(msg.contains(alarmMark)){ - //去掉补位 - String devcode = msg.substring(0, 15); - Integer isAlarm = Integer.valueOf(msg.substring(16,17)); + if (msg.contains(alarmMark)) { + String devcode = ""; + Integer isAlarm; + if (msg.contains(HUMI_TEMP)) { + devcode = HUMI_TEMP; + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } else { + //去掉补位 + devcode = msg.substring(0, 12); + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } log.info("设备编号为" + devcode + ",是否报警" + isAlarm); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName( RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/resolver/RainFallDataResolver.java b/src/main/java/com/casic/resolver/RainFallDataResolver.java index 8a22899..9b643de 100644 --- a/src/main/java/com/casic/resolver/RainFallDataResolver.java +++ b/src/main/java/com/casic/resolver/RainFallDataResolver.java @@ -11,29 +11,34 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.Date; @Service @Slf4j public class RainFallDataResolver implements DatagramResolver, AlarmDatagramFlag { - @Autowired + @Resource private RainFallDataMapper rainFallDataMapper; @Autowired private AlarmLevelConfig alarmLevelConfig; @Override public RelayStatusDTO datagram(String msg) { - if (msg.contains(rainFallMark)) { + if (msg.toLowerCase().contains(rainFallMark)) { //去掉补位 String devcode = msg.substring(0, 15); - String defaultValue = msg.substring(26, 30); + String defaultValue = String.valueOf(Integer.valueOf(msg.substring(26, 30))); log.info("设备编号为" + devcode + ",设备数据为" + defaultValue); RainFallData rainFallData = initRainFallData(devcode, defaultValue); rainFallDataMapper.insert(rainFallData); Integer isAlarm = isAlarm(String.valueOf(defaultValue), alarmLevelConfig.getRainfall()); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName(RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/server/ReceiverServer.java b/src/main/java/com/casic/server/ReceiverServer.java index a98e4ca..b1849f6 100644 --- a/src/main/java/com/casic/server/ReceiverServer.java +++ b/src/main/java/com/casic/server/ReceiverServer.java @@ -33,10 +33,10 @@ @Autowired private ServerPort serverPort; - @PostConstruct - public void init() { - this.start(); - } +// @PostConstruct +// public void init() { +// this.start(); +// } public void start() { EventLoopGroup bossGroup = new NioEventLoopGroup(); diff --git a/src/main/java/com/casic/server/ReceiverServerHandler.java b/src/main/java/com/casic/server/ReceiverServerHandler.java index 31ac43e..bd6616c 100644 --- a/src/main/java/com/casic/server/ReceiverServerHandler.java +++ b/src/main/java/com/casic/server/ReceiverServerHandler.java @@ -3,6 +3,7 @@ import com.casic.enums.RelaySwitchEnums; import com.casic.model.RelayStatusDTO; +import com.casic.resolver.DatagramResolver; import com.casic.resolver.RainFallDataResolver; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; @@ -34,7 +35,7 @@ new DefaultChannelGroup(GlobalEventExecutor.INSTANCE); @Autowired - private List rainFallDataResolverList; + private List datagramResolverList; public ReceiverServerHandler() { } @@ -66,13 +67,16 @@ */ @Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + if (msg instanceof String) { - rainFallDataResolverList.forEach( - rainFallDataResolver -> { - RelayStatusDTO relayStatusDTO = rainFallDataResolver.datagram(String.valueOf(msg)); - sendMsg(ctx, relayStatusDTO); - } - ); + if (!String.valueOf(msg).contains("iccid")){ + datagramResolverList.forEach( + rainFallDataResolver -> { + RelayStatusDTO relayStatusDTO = rainFallDataResolver.datagram(String.valueOf(msg)); + sendMsg(ctx, relayStatusDTO); + } + ); + } } super.channelRead(ctx, msg); } diff --git a/src/main/java/com/casic/service/DeviceDataSupport.java b/src/main/java/com/casic/service/DeviceDataSupport.java index 93d61ea..9ddcd7a 100644 --- a/src/main/java/com/casic/service/DeviceDataSupport.java +++ b/src/main/java/com/casic/service/DeviceDataSupport.java @@ -27,7 +27,7 @@ * 比较是否报警 报警/正常 1/0 */ protected Integer isAlarm(String realData, String thresholdValue) { - if (!StringUtils.isEmpty(realData) && StringUtils.isEmpty(thresholdValue)) { + if (!StringUtils.isEmpty(realData) && !StringUtils.isEmpty(thresholdValue)) { if (Float.valueOf(realData) >= Float.valueOf(thresholdValue)) { return 1; } diff --git a/src/main/java/com/casic/service/scanner/FlowDataScanner.java b/src/main/java/com/casic/service/scanner/FlowDataScanner.java index 7ab7228..741a1e8 100644 --- a/src/main/java/com/casic/service/scanner/FlowDataScanner.java +++ b/src/main/java/com/casic/service/scanner/FlowDataScanner.java @@ -16,8 +16,8 @@ List> flowDataMapList = this.deviceDataMapper.getFlowData(); flowDataMapList.forEach( flowDataMap -> { - String devcode = flowDataMap.get("devcode").toString(); - String insdata = flowDataMap.get("insdata").toString(); + String devcode = flowDataMap.get("DEVCODE").toString(); + String insdata = flowDataMap.get("INSDATA").toString(); Integer isAlarm = isAlarm(insdata, thresholdValue); sendAlarmMsg(devcode, isAlarm); } diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/src/main/java/com/casic/enums/AlarmDatagramFlag.java b/src/main/java/com/casic/enums/AlarmDatagramFlag.java index 4716be3..f85da78 100644 --- a/src/main/java/com/casic/enums/AlarmDatagramFlag.java +++ b/src/main/java/com/casic/enums/AlarmDatagramFlag.java @@ -4,5 +4,5 @@ String alarmMark="mmmm"; - String rainFallMark="mmmm"; + String rainFallMark="aaaa"; } diff --git a/src/main/java/com/casic/enums/DevcodeEnums.java b/src/main/java/com/casic/enums/DevcodeEnums.java new file mode 100644 index 0000000..2b8f450 --- /dev/null +++ b/src/main/java/com/casic/enums/DevcodeEnums.java @@ -0,0 +1,29 @@ +package com.casic.enums; + +public interface DevcodeEnums { + + String RAIN_GAUGE="865328068419943"; + + /** + * 温湿度 + */ + String HUMI_TEMP="842019010188"; + /** + * 多功能1 + */ + String MULTI_DEVOCDE1="512023010001"; + + /** + * 多功能2 + */ + String MULTI_DEVOCDE2="512023010002"; + /** + * 多功能3 + */ + String MULTI_DEVOCDE3="512023010003"; + + /** + * 多功能4 + */ + String MULTI_DEVOCDE4="512023010004"; +} diff --git a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java index 3c907a9..5465cb5 100644 --- a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java +++ b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java @@ -6,16 +6,16 @@ /** * 继电器灯和设备编号的枚举关系 */ -public enum RelayDevcodeMapEnums { +public enum RelayDevcodeMapEnums implements DevcodeEnums{ RELAY_DEVCODE(new HashMap() { { - put("842019010188", "1"); - put("865328068419943", "2"); - put("512023010001", "3"); - put("512023010002", "4"); - put("512023010003", "5"); - put("512023010004", "C6"); + put(RAIN_GAUGE, "1"); + put(HUMI_TEMP, "2"); + put(MULTI_DEVOCDE1, "3"); + put(MULTI_DEVOCDE2, "4"); + put(MULTI_DEVOCDE3, "5"); + put(MULTI_DEVOCDE4, "6"); } }); diff --git a/src/main/java/com/casic/mapper/RainFallDataMapper.java b/src/main/java/com/casic/mapper/RainFallDataMapper.java index f5c29db..2984a9a 100644 --- a/src/main/java/com/casic/mapper/RainFallDataMapper.java +++ b/src/main/java/com/casic/mapper/RainFallDataMapper.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.model.RainFallData; +import org.apache.ibatis.annotations.Mapper; +@Mapper public interface RainFallDataMapper extends BaseMapper { + + } diff --git a/src/main/java/com/casic/model/RainFallData.java b/src/main/java/com/casic/model/RainFallData.java index fa96673..c676eea 100644 --- a/src/main/java/com/casic/model/RainFallData.java +++ b/src/main/java/com/casic/model/RainFallData.java @@ -1,5 +1,6 @@ package com.casic.model; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -9,6 +10,7 @@ @TableName("AD_YL_YLIANG") public class RainFallData { + @TableId private String dbid; private String scrid; diff --git a/src/main/java/com/casic/resolver/AlarmDataResolver.java b/src/main/java/com/casic/resolver/AlarmDataResolver.java index 2c6874b..c794a7b 100644 --- a/src/main/java/com/casic/resolver/AlarmDataResolver.java +++ b/src/main/java/com/casic/resolver/AlarmDataResolver.java @@ -1,7 +1,9 @@ package com.casic.resolver; +import com.alibaba.druid.util.StringUtils; import com.casic.enums.AlarmDatagramFlag; +import com.casic.enums.DevcodeEnums; import com.casic.enums.RelayDevcodeMapEnums; import com.casic.model.RelayStatusDTO; import lombok.extern.slf4j.Slf4j; @@ -9,17 +11,28 @@ @Slf4j @Service -public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag { +public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag, DevcodeEnums { @Override public RelayStatusDTO datagram(String msg) { - if(msg.contains(alarmMark)){ - //去掉补位 - String devcode = msg.substring(0, 15); - Integer isAlarm = Integer.valueOf(msg.substring(16,17)); + if (msg.contains(alarmMark)) { + String devcode = ""; + Integer isAlarm; + if (msg.contains(HUMI_TEMP)) { + devcode = HUMI_TEMP; + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } else { + //去掉补位 + devcode = msg.substring(0, 12); + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } log.info("设备编号为" + devcode + ",是否报警" + isAlarm); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName( RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/resolver/RainFallDataResolver.java b/src/main/java/com/casic/resolver/RainFallDataResolver.java index 8a22899..9b643de 100644 --- a/src/main/java/com/casic/resolver/RainFallDataResolver.java +++ b/src/main/java/com/casic/resolver/RainFallDataResolver.java @@ -11,29 +11,34 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.Date; @Service @Slf4j public class RainFallDataResolver implements DatagramResolver, AlarmDatagramFlag { - @Autowired + @Resource private RainFallDataMapper rainFallDataMapper; @Autowired private AlarmLevelConfig alarmLevelConfig; @Override public RelayStatusDTO datagram(String msg) { - if (msg.contains(rainFallMark)) { + if (msg.toLowerCase().contains(rainFallMark)) { //去掉补位 String devcode = msg.substring(0, 15); - String defaultValue = msg.substring(26, 30); + String defaultValue = String.valueOf(Integer.valueOf(msg.substring(26, 30))); log.info("设备编号为" + devcode + ",设备数据为" + defaultValue); RainFallData rainFallData = initRainFallData(devcode, defaultValue); rainFallDataMapper.insert(rainFallData); Integer isAlarm = isAlarm(String.valueOf(defaultValue), alarmLevelConfig.getRainfall()); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName(RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/server/ReceiverServer.java b/src/main/java/com/casic/server/ReceiverServer.java index a98e4ca..b1849f6 100644 --- a/src/main/java/com/casic/server/ReceiverServer.java +++ b/src/main/java/com/casic/server/ReceiverServer.java @@ -33,10 +33,10 @@ @Autowired private ServerPort serverPort; - @PostConstruct - public void init() { - this.start(); - } +// @PostConstruct +// public void init() { +// this.start(); +// } public void start() { EventLoopGroup bossGroup = new NioEventLoopGroup(); diff --git a/src/main/java/com/casic/server/ReceiverServerHandler.java b/src/main/java/com/casic/server/ReceiverServerHandler.java index 31ac43e..bd6616c 100644 --- a/src/main/java/com/casic/server/ReceiverServerHandler.java +++ b/src/main/java/com/casic/server/ReceiverServerHandler.java @@ -3,6 +3,7 @@ import com.casic.enums.RelaySwitchEnums; import com.casic.model.RelayStatusDTO; +import com.casic.resolver.DatagramResolver; import com.casic.resolver.RainFallDataResolver; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; @@ -34,7 +35,7 @@ new DefaultChannelGroup(GlobalEventExecutor.INSTANCE); @Autowired - private List rainFallDataResolverList; + private List datagramResolverList; public ReceiverServerHandler() { } @@ -66,13 +67,16 @@ */ @Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + if (msg instanceof String) { - rainFallDataResolverList.forEach( - rainFallDataResolver -> { - RelayStatusDTO relayStatusDTO = rainFallDataResolver.datagram(String.valueOf(msg)); - sendMsg(ctx, relayStatusDTO); - } - ); + if (!String.valueOf(msg).contains("iccid")){ + datagramResolverList.forEach( + rainFallDataResolver -> { + RelayStatusDTO relayStatusDTO = rainFallDataResolver.datagram(String.valueOf(msg)); + sendMsg(ctx, relayStatusDTO); + } + ); + } } super.channelRead(ctx, msg); } diff --git a/src/main/java/com/casic/service/DeviceDataSupport.java b/src/main/java/com/casic/service/DeviceDataSupport.java index 93d61ea..9ddcd7a 100644 --- a/src/main/java/com/casic/service/DeviceDataSupport.java +++ b/src/main/java/com/casic/service/DeviceDataSupport.java @@ -27,7 +27,7 @@ * 比较是否报警 报警/正常 1/0 */ protected Integer isAlarm(String realData, String thresholdValue) { - if (!StringUtils.isEmpty(realData) && StringUtils.isEmpty(thresholdValue)) { + if (!StringUtils.isEmpty(realData) && !StringUtils.isEmpty(thresholdValue)) { if (Float.valueOf(realData) >= Float.valueOf(thresholdValue)) { return 1; } diff --git a/src/main/java/com/casic/service/scanner/FlowDataScanner.java b/src/main/java/com/casic/service/scanner/FlowDataScanner.java index 7ab7228..741a1e8 100644 --- a/src/main/java/com/casic/service/scanner/FlowDataScanner.java +++ b/src/main/java/com/casic/service/scanner/FlowDataScanner.java @@ -16,8 +16,8 @@ List> flowDataMapList = this.deviceDataMapper.getFlowData(); flowDataMapList.forEach( flowDataMap -> { - String devcode = flowDataMap.get("devcode").toString(); - String insdata = flowDataMap.get("insdata").toString(); + String devcode = flowDataMap.get("DEVCODE").toString(); + String insdata = flowDataMap.get("INSDATA").toString(); Integer isAlarm = isAlarm(insdata, thresholdValue); sendAlarmMsg(devcode, isAlarm); } diff --git a/src/main/java/com/casic/service/scanner/PressDataScanner.java b/src/main/java/com/casic/service/scanner/PressDataScanner.java index 6738c38..9aea77b 100644 --- a/src/main/java/com/casic/service/scanner/PressDataScanner.java +++ b/src/main/java/com/casic/service/scanner/PressDataScanner.java @@ -18,8 +18,8 @@ List> pressDataMapList = this.deviceDataMapper.getPressureData(); pressDataMapList.forEach( pressDataMap -> { - String devcode = pressDataMap.get("devcode").toString(); - String pressdata = pressDataMap.get("pressdata").toString(); + String devcode = pressDataMap.get("DEVCODE").toString(); + String pressdata = pressDataMap.get("PRESSDATA").toString(); Integer isAlarm=isAlarm(pressdata,thresholdValue); sendAlarmMsg(devcode,isAlarm); } diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/src/main/java/com/casic/enums/AlarmDatagramFlag.java b/src/main/java/com/casic/enums/AlarmDatagramFlag.java index 4716be3..f85da78 100644 --- a/src/main/java/com/casic/enums/AlarmDatagramFlag.java +++ b/src/main/java/com/casic/enums/AlarmDatagramFlag.java @@ -4,5 +4,5 @@ String alarmMark="mmmm"; - String rainFallMark="mmmm"; + String rainFallMark="aaaa"; } diff --git a/src/main/java/com/casic/enums/DevcodeEnums.java b/src/main/java/com/casic/enums/DevcodeEnums.java new file mode 100644 index 0000000..2b8f450 --- /dev/null +++ b/src/main/java/com/casic/enums/DevcodeEnums.java @@ -0,0 +1,29 @@ +package com.casic.enums; + +public interface DevcodeEnums { + + String RAIN_GAUGE="865328068419943"; + + /** + * 温湿度 + */ + String HUMI_TEMP="842019010188"; + /** + * 多功能1 + */ + String MULTI_DEVOCDE1="512023010001"; + + /** + * 多功能2 + */ + String MULTI_DEVOCDE2="512023010002"; + /** + * 多功能3 + */ + String MULTI_DEVOCDE3="512023010003"; + + /** + * 多功能4 + */ + String MULTI_DEVOCDE4="512023010004"; +} diff --git a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java index 3c907a9..5465cb5 100644 --- a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java +++ b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java @@ -6,16 +6,16 @@ /** * 继电器灯和设备编号的枚举关系 */ -public enum RelayDevcodeMapEnums { +public enum RelayDevcodeMapEnums implements DevcodeEnums{ RELAY_DEVCODE(new HashMap() { { - put("842019010188", "1"); - put("865328068419943", "2"); - put("512023010001", "3"); - put("512023010002", "4"); - put("512023010003", "5"); - put("512023010004", "C6"); + put(RAIN_GAUGE, "1"); + put(HUMI_TEMP, "2"); + put(MULTI_DEVOCDE1, "3"); + put(MULTI_DEVOCDE2, "4"); + put(MULTI_DEVOCDE3, "5"); + put(MULTI_DEVOCDE4, "6"); } }); diff --git a/src/main/java/com/casic/mapper/RainFallDataMapper.java b/src/main/java/com/casic/mapper/RainFallDataMapper.java index f5c29db..2984a9a 100644 --- a/src/main/java/com/casic/mapper/RainFallDataMapper.java +++ b/src/main/java/com/casic/mapper/RainFallDataMapper.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.model.RainFallData; +import org.apache.ibatis.annotations.Mapper; +@Mapper public interface RainFallDataMapper extends BaseMapper { + + } diff --git a/src/main/java/com/casic/model/RainFallData.java b/src/main/java/com/casic/model/RainFallData.java index fa96673..c676eea 100644 --- a/src/main/java/com/casic/model/RainFallData.java +++ b/src/main/java/com/casic/model/RainFallData.java @@ -1,5 +1,6 @@ package com.casic.model; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -9,6 +10,7 @@ @TableName("AD_YL_YLIANG") public class RainFallData { + @TableId private String dbid; private String scrid; diff --git a/src/main/java/com/casic/resolver/AlarmDataResolver.java b/src/main/java/com/casic/resolver/AlarmDataResolver.java index 2c6874b..c794a7b 100644 --- a/src/main/java/com/casic/resolver/AlarmDataResolver.java +++ b/src/main/java/com/casic/resolver/AlarmDataResolver.java @@ -1,7 +1,9 @@ package com.casic.resolver; +import com.alibaba.druid.util.StringUtils; import com.casic.enums.AlarmDatagramFlag; +import com.casic.enums.DevcodeEnums; import com.casic.enums.RelayDevcodeMapEnums; import com.casic.model.RelayStatusDTO; import lombok.extern.slf4j.Slf4j; @@ -9,17 +11,28 @@ @Slf4j @Service -public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag { +public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag, DevcodeEnums { @Override public RelayStatusDTO datagram(String msg) { - if(msg.contains(alarmMark)){ - //去掉补位 - String devcode = msg.substring(0, 15); - Integer isAlarm = Integer.valueOf(msg.substring(16,17)); + if (msg.contains(alarmMark)) { + String devcode = ""; + Integer isAlarm; + if (msg.contains(HUMI_TEMP)) { + devcode = HUMI_TEMP; + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } else { + //去掉补位 + devcode = msg.substring(0, 12); + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } log.info("设备编号为" + devcode + ",是否报警" + isAlarm); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName( RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/resolver/RainFallDataResolver.java b/src/main/java/com/casic/resolver/RainFallDataResolver.java index 8a22899..9b643de 100644 --- a/src/main/java/com/casic/resolver/RainFallDataResolver.java +++ b/src/main/java/com/casic/resolver/RainFallDataResolver.java @@ -11,29 +11,34 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.Date; @Service @Slf4j public class RainFallDataResolver implements DatagramResolver, AlarmDatagramFlag { - @Autowired + @Resource private RainFallDataMapper rainFallDataMapper; @Autowired private AlarmLevelConfig alarmLevelConfig; @Override public RelayStatusDTO datagram(String msg) { - if (msg.contains(rainFallMark)) { + if (msg.toLowerCase().contains(rainFallMark)) { //去掉补位 String devcode = msg.substring(0, 15); - String defaultValue = msg.substring(26, 30); + String defaultValue = String.valueOf(Integer.valueOf(msg.substring(26, 30))); log.info("设备编号为" + devcode + ",设备数据为" + defaultValue); RainFallData rainFallData = initRainFallData(devcode, defaultValue); rainFallDataMapper.insert(rainFallData); Integer isAlarm = isAlarm(String.valueOf(defaultValue), alarmLevelConfig.getRainfall()); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName(RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/server/ReceiverServer.java b/src/main/java/com/casic/server/ReceiverServer.java index a98e4ca..b1849f6 100644 --- a/src/main/java/com/casic/server/ReceiverServer.java +++ b/src/main/java/com/casic/server/ReceiverServer.java @@ -33,10 +33,10 @@ @Autowired private ServerPort serverPort; - @PostConstruct - public void init() { - this.start(); - } +// @PostConstruct +// public void init() { +// this.start(); +// } public void start() { EventLoopGroup bossGroup = new NioEventLoopGroup(); diff --git a/src/main/java/com/casic/server/ReceiverServerHandler.java b/src/main/java/com/casic/server/ReceiverServerHandler.java index 31ac43e..bd6616c 100644 --- a/src/main/java/com/casic/server/ReceiverServerHandler.java +++ b/src/main/java/com/casic/server/ReceiverServerHandler.java @@ -3,6 +3,7 @@ import com.casic.enums.RelaySwitchEnums; import com.casic.model.RelayStatusDTO; +import com.casic.resolver.DatagramResolver; import com.casic.resolver.RainFallDataResolver; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; @@ -34,7 +35,7 @@ new DefaultChannelGroup(GlobalEventExecutor.INSTANCE); @Autowired - private List rainFallDataResolverList; + private List datagramResolverList; public ReceiverServerHandler() { } @@ -66,13 +67,16 @@ */ @Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + if (msg instanceof String) { - rainFallDataResolverList.forEach( - rainFallDataResolver -> { - RelayStatusDTO relayStatusDTO = rainFallDataResolver.datagram(String.valueOf(msg)); - sendMsg(ctx, relayStatusDTO); - } - ); + if (!String.valueOf(msg).contains("iccid")){ + datagramResolverList.forEach( + rainFallDataResolver -> { + RelayStatusDTO relayStatusDTO = rainFallDataResolver.datagram(String.valueOf(msg)); + sendMsg(ctx, relayStatusDTO); + } + ); + } } super.channelRead(ctx, msg); } diff --git a/src/main/java/com/casic/service/DeviceDataSupport.java b/src/main/java/com/casic/service/DeviceDataSupport.java index 93d61ea..9ddcd7a 100644 --- a/src/main/java/com/casic/service/DeviceDataSupport.java +++ b/src/main/java/com/casic/service/DeviceDataSupport.java @@ -27,7 +27,7 @@ * 比较是否报警 报警/正常 1/0 */ protected Integer isAlarm(String realData, String thresholdValue) { - if (!StringUtils.isEmpty(realData) && StringUtils.isEmpty(thresholdValue)) { + if (!StringUtils.isEmpty(realData) && !StringUtils.isEmpty(thresholdValue)) { if (Float.valueOf(realData) >= Float.valueOf(thresholdValue)) { return 1; } diff --git a/src/main/java/com/casic/service/scanner/FlowDataScanner.java b/src/main/java/com/casic/service/scanner/FlowDataScanner.java index 7ab7228..741a1e8 100644 --- a/src/main/java/com/casic/service/scanner/FlowDataScanner.java +++ b/src/main/java/com/casic/service/scanner/FlowDataScanner.java @@ -16,8 +16,8 @@ List> flowDataMapList = this.deviceDataMapper.getFlowData(); flowDataMapList.forEach( flowDataMap -> { - String devcode = flowDataMap.get("devcode").toString(); - String insdata = flowDataMap.get("insdata").toString(); + String devcode = flowDataMap.get("DEVCODE").toString(); + String insdata = flowDataMap.get("INSDATA").toString(); Integer isAlarm = isAlarm(insdata, thresholdValue); sendAlarmMsg(devcode, isAlarm); } diff --git a/src/main/java/com/casic/service/scanner/PressDataScanner.java b/src/main/java/com/casic/service/scanner/PressDataScanner.java index 6738c38..9aea77b 100644 --- a/src/main/java/com/casic/service/scanner/PressDataScanner.java +++ b/src/main/java/com/casic/service/scanner/PressDataScanner.java @@ -18,8 +18,8 @@ List> pressDataMapList = this.deviceDataMapper.getPressureData(); pressDataMapList.forEach( pressDataMap -> { - String devcode = pressDataMap.get("devcode").toString(); - String pressdata = pressDataMap.get("pressdata").toString(); + String devcode = pressDataMap.get("DEVCODE").toString(); + String pressdata = pressDataMap.get("PRESSDATA").toString(); Integer isAlarm=isAlarm(pressdata,thresholdValue); sendAlarmMsg(devcode,isAlarm); } diff --git a/src/main/java/com/casic/service/scanner/TempHumiScanner.java b/src/main/java/com/casic/service/scanner/TempHumiScanner.java index a9efc57..74aa34f 100644 --- a/src/main/java/com/casic/service/scanner/TempHumiScanner.java +++ b/src/main/java/com/casic/service/scanner/TempHumiScanner.java @@ -17,10 +17,10 @@ List> pressDataMapList = this.deviceDataMapper.getHumiTemp(); pressDataMapList.forEach( pressDataMap -> { - String devcode = pressDataMap.get("devcode").toString(); - String temperatureData = pressDataMap.get("temperature").toString(); + String devcode = pressDataMap.get("DEVCODE").toString(); + String temperatureData = pressDataMap.get("TEMPERATURE").toString(); Integer isTempAlarm = isAlarm(temperatureData, tempThreshold); - String humidityData = pressDataMap.get("humidity").toString(); + String humidityData = pressDataMap.get("HUMIDITY").toString(); Integer isHumiAlarm = isAlarm(humidityData, humiThreshold); if (isHumiAlarm == 0 && isTempAlarm == 0) { sendAlarmMsg(devcode, 0); diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/src/main/java/com/casic/enums/AlarmDatagramFlag.java b/src/main/java/com/casic/enums/AlarmDatagramFlag.java index 4716be3..f85da78 100644 --- a/src/main/java/com/casic/enums/AlarmDatagramFlag.java +++ b/src/main/java/com/casic/enums/AlarmDatagramFlag.java @@ -4,5 +4,5 @@ String alarmMark="mmmm"; - String rainFallMark="mmmm"; + String rainFallMark="aaaa"; } diff --git a/src/main/java/com/casic/enums/DevcodeEnums.java b/src/main/java/com/casic/enums/DevcodeEnums.java new file mode 100644 index 0000000..2b8f450 --- /dev/null +++ b/src/main/java/com/casic/enums/DevcodeEnums.java @@ -0,0 +1,29 @@ +package com.casic.enums; + +public interface DevcodeEnums { + + String RAIN_GAUGE="865328068419943"; + + /** + * 温湿度 + */ + String HUMI_TEMP="842019010188"; + /** + * 多功能1 + */ + String MULTI_DEVOCDE1="512023010001"; + + /** + * 多功能2 + */ + String MULTI_DEVOCDE2="512023010002"; + /** + * 多功能3 + */ + String MULTI_DEVOCDE3="512023010003"; + + /** + * 多功能4 + */ + String MULTI_DEVOCDE4="512023010004"; +} diff --git a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java index 3c907a9..5465cb5 100644 --- a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java +++ b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java @@ -6,16 +6,16 @@ /** * 继电器灯和设备编号的枚举关系 */ -public enum RelayDevcodeMapEnums { +public enum RelayDevcodeMapEnums implements DevcodeEnums{ RELAY_DEVCODE(new HashMap() { { - put("842019010188", "1"); - put("865328068419943", "2"); - put("512023010001", "3"); - put("512023010002", "4"); - put("512023010003", "5"); - put("512023010004", "C6"); + put(RAIN_GAUGE, "1"); + put(HUMI_TEMP, "2"); + put(MULTI_DEVOCDE1, "3"); + put(MULTI_DEVOCDE2, "4"); + put(MULTI_DEVOCDE3, "5"); + put(MULTI_DEVOCDE4, "6"); } }); diff --git a/src/main/java/com/casic/mapper/RainFallDataMapper.java b/src/main/java/com/casic/mapper/RainFallDataMapper.java index f5c29db..2984a9a 100644 --- a/src/main/java/com/casic/mapper/RainFallDataMapper.java +++ b/src/main/java/com/casic/mapper/RainFallDataMapper.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.model.RainFallData; +import org.apache.ibatis.annotations.Mapper; +@Mapper public interface RainFallDataMapper extends BaseMapper { + + } diff --git a/src/main/java/com/casic/model/RainFallData.java b/src/main/java/com/casic/model/RainFallData.java index fa96673..c676eea 100644 --- a/src/main/java/com/casic/model/RainFallData.java +++ b/src/main/java/com/casic/model/RainFallData.java @@ -1,5 +1,6 @@ package com.casic.model; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -9,6 +10,7 @@ @TableName("AD_YL_YLIANG") public class RainFallData { + @TableId private String dbid; private String scrid; diff --git a/src/main/java/com/casic/resolver/AlarmDataResolver.java b/src/main/java/com/casic/resolver/AlarmDataResolver.java index 2c6874b..c794a7b 100644 --- a/src/main/java/com/casic/resolver/AlarmDataResolver.java +++ b/src/main/java/com/casic/resolver/AlarmDataResolver.java @@ -1,7 +1,9 @@ package com.casic.resolver; +import com.alibaba.druid.util.StringUtils; import com.casic.enums.AlarmDatagramFlag; +import com.casic.enums.DevcodeEnums; import com.casic.enums.RelayDevcodeMapEnums; import com.casic.model.RelayStatusDTO; import lombok.extern.slf4j.Slf4j; @@ -9,17 +11,28 @@ @Slf4j @Service -public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag { +public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag, DevcodeEnums { @Override public RelayStatusDTO datagram(String msg) { - if(msg.contains(alarmMark)){ - //去掉补位 - String devcode = msg.substring(0, 15); - Integer isAlarm = Integer.valueOf(msg.substring(16,17)); + if (msg.contains(alarmMark)) { + String devcode = ""; + Integer isAlarm; + if (msg.contains(HUMI_TEMP)) { + devcode = HUMI_TEMP; + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } else { + //去掉补位 + devcode = msg.substring(0, 12); + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } log.info("设备编号为" + devcode + ",是否报警" + isAlarm); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName( RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/resolver/RainFallDataResolver.java b/src/main/java/com/casic/resolver/RainFallDataResolver.java index 8a22899..9b643de 100644 --- a/src/main/java/com/casic/resolver/RainFallDataResolver.java +++ b/src/main/java/com/casic/resolver/RainFallDataResolver.java @@ -11,29 +11,34 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.Date; @Service @Slf4j public class RainFallDataResolver implements DatagramResolver, AlarmDatagramFlag { - @Autowired + @Resource private RainFallDataMapper rainFallDataMapper; @Autowired private AlarmLevelConfig alarmLevelConfig; @Override public RelayStatusDTO datagram(String msg) { - if (msg.contains(rainFallMark)) { + if (msg.toLowerCase().contains(rainFallMark)) { //去掉补位 String devcode = msg.substring(0, 15); - String defaultValue = msg.substring(26, 30); + String defaultValue = String.valueOf(Integer.valueOf(msg.substring(26, 30))); log.info("设备编号为" + devcode + ",设备数据为" + defaultValue); RainFallData rainFallData = initRainFallData(devcode, defaultValue); rainFallDataMapper.insert(rainFallData); Integer isAlarm = isAlarm(String.valueOf(defaultValue), alarmLevelConfig.getRainfall()); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName(RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/server/ReceiverServer.java b/src/main/java/com/casic/server/ReceiverServer.java index a98e4ca..b1849f6 100644 --- a/src/main/java/com/casic/server/ReceiverServer.java +++ b/src/main/java/com/casic/server/ReceiverServer.java @@ -33,10 +33,10 @@ @Autowired private ServerPort serverPort; - @PostConstruct - public void init() { - this.start(); - } +// @PostConstruct +// public void init() { +// this.start(); +// } public void start() { EventLoopGroup bossGroup = new NioEventLoopGroup(); diff --git a/src/main/java/com/casic/server/ReceiverServerHandler.java b/src/main/java/com/casic/server/ReceiverServerHandler.java index 31ac43e..bd6616c 100644 --- a/src/main/java/com/casic/server/ReceiverServerHandler.java +++ b/src/main/java/com/casic/server/ReceiverServerHandler.java @@ -3,6 +3,7 @@ import com.casic.enums.RelaySwitchEnums; import com.casic.model.RelayStatusDTO; +import com.casic.resolver.DatagramResolver; import com.casic.resolver.RainFallDataResolver; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; @@ -34,7 +35,7 @@ new DefaultChannelGroup(GlobalEventExecutor.INSTANCE); @Autowired - private List rainFallDataResolverList; + private List datagramResolverList; public ReceiverServerHandler() { } @@ -66,13 +67,16 @@ */ @Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + if (msg instanceof String) { - rainFallDataResolverList.forEach( - rainFallDataResolver -> { - RelayStatusDTO relayStatusDTO = rainFallDataResolver.datagram(String.valueOf(msg)); - sendMsg(ctx, relayStatusDTO); - } - ); + if (!String.valueOf(msg).contains("iccid")){ + datagramResolverList.forEach( + rainFallDataResolver -> { + RelayStatusDTO relayStatusDTO = rainFallDataResolver.datagram(String.valueOf(msg)); + sendMsg(ctx, relayStatusDTO); + } + ); + } } super.channelRead(ctx, msg); } diff --git a/src/main/java/com/casic/service/DeviceDataSupport.java b/src/main/java/com/casic/service/DeviceDataSupport.java index 93d61ea..9ddcd7a 100644 --- a/src/main/java/com/casic/service/DeviceDataSupport.java +++ b/src/main/java/com/casic/service/DeviceDataSupport.java @@ -27,7 +27,7 @@ * 比较是否报警 报警/正常 1/0 */ protected Integer isAlarm(String realData, String thresholdValue) { - if (!StringUtils.isEmpty(realData) && StringUtils.isEmpty(thresholdValue)) { + if (!StringUtils.isEmpty(realData) && !StringUtils.isEmpty(thresholdValue)) { if (Float.valueOf(realData) >= Float.valueOf(thresholdValue)) { return 1; } diff --git a/src/main/java/com/casic/service/scanner/FlowDataScanner.java b/src/main/java/com/casic/service/scanner/FlowDataScanner.java index 7ab7228..741a1e8 100644 --- a/src/main/java/com/casic/service/scanner/FlowDataScanner.java +++ b/src/main/java/com/casic/service/scanner/FlowDataScanner.java @@ -16,8 +16,8 @@ List> flowDataMapList = this.deviceDataMapper.getFlowData(); flowDataMapList.forEach( flowDataMap -> { - String devcode = flowDataMap.get("devcode").toString(); - String insdata = flowDataMap.get("insdata").toString(); + String devcode = flowDataMap.get("DEVCODE").toString(); + String insdata = flowDataMap.get("INSDATA").toString(); Integer isAlarm = isAlarm(insdata, thresholdValue); sendAlarmMsg(devcode, isAlarm); } diff --git a/src/main/java/com/casic/service/scanner/PressDataScanner.java b/src/main/java/com/casic/service/scanner/PressDataScanner.java index 6738c38..9aea77b 100644 --- a/src/main/java/com/casic/service/scanner/PressDataScanner.java +++ b/src/main/java/com/casic/service/scanner/PressDataScanner.java @@ -18,8 +18,8 @@ List> pressDataMapList = this.deviceDataMapper.getPressureData(); pressDataMapList.forEach( pressDataMap -> { - String devcode = pressDataMap.get("devcode").toString(); - String pressdata = pressDataMap.get("pressdata").toString(); + String devcode = pressDataMap.get("DEVCODE").toString(); + String pressdata = pressDataMap.get("PRESSDATA").toString(); Integer isAlarm=isAlarm(pressdata,thresholdValue); sendAlarmMsg(devcode,isAlarm); } diff --git a/src/main/java/com/casic/service/scanner/TempHumiScanner.java b/src/main/java/com/casic/service/scanner/TempHumiScanner.java index a9efc57..74aa34f 100644 --- a/src/main/java/com/casic/service/scanner/TempHumiScanner.java +++ b/src/main/java/com/casic/service/scanner/TempHumiScanner.java @@ -17,10 +17,10 @@ List> pressDataMapList = this.deviceDataMapper.getHumiTemp(); pressDataMapList.forEach( pressDataMap -> { - String devcode = pressDataMap.get("devcode").toString(); - String temperatureData = pressDataMap.get("temperature").toString(); + String devcode = pressDataMap.get("DEVCODE").toString(); + String temperatureData = pressDataMap.get("TEMPERATURE").toString(); Integer isTempAlarm = isAlarm(temperatureData, tempThreshold); - String humidityData = pressDataMap.get("humidity").toString(); + String humidityData = pressDataMap.get("HUMIDITY").toString(); Integer isHumiAlarm = isAlarm(humidityData, humiThreshold); if (isHumiAlarm == 0 && isTempAlarm == 0) { sendAlarmMsg(devcode, 0); diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 20205e3..795fda7 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,7 +4,7 @@ spring: datasource: driverClassName: oracle.jdbc.driver.OracleDriver - url: jdbc:oracle:thin:@139.198.18.188:1521:WDMA + url: jdbc:oracle:thin:@111.198.10.15:11202:ORCL username: sensor password: sensor jms: diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/src/main/java/com/casic/enums/AlarmDatagramFlag.java b/src/main/java/com/casic/enums/AlarmDatagramFlag.java index 4716be3..f85da78 100644 --- a/src/main/java/com/casic/enums/AlarmDatagramFlag.java +++ b/src/main/java/com/casic/enums/AlarmDatagramFlag.java @@ -4,5 +4,5 @@ String alarmMark="mmmm"; - String rainFallMark="mmmm"; + String rainFallMark="aaaa"; } diff --git a/src/main/java/com/casic/enums/DevcodeEnums.java b/src/main/java/com/casic/enums/DevcodeEnums.java new file mode 100644 index 0000000..2b8f450 --- /dev/null +++ b/src/main/java/com/casic/enums/DevcodeEnums.java @@ -0,0 +1,29 @@ +package com.casic.enums; + +public interface DevcodeEnums { + + String RAIN_GAUGE="865328068419943"; + + /** + * 温湿度 + */ + String HUMI_TEMP="842019010188"; + /** + * 多功能1 + */ + String MULTI_DEVOCDE1="512023010001"; + + /** + * 多功能2 + */ + String MULTI_DEVOCDE2="512023010002"; + /** + * 多功能3 + */ + String MULTI_DEVOCDE3="512023010003"; + + /** + * 多功能4 + */ + String MULTI_DEVOCDE4="512023010004"; +} diff --git a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java index 3c907a9..5465cb5 100644 --- a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java +++ b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java @@ -6,16 +6,16 @@ /** * 继电器灯和设备编号的枚举关系 */ -public enum RelayDevcodeMapEnums { +public enum RelayDevcodeMapEnums implements DevcodeEnums{ RELAY_DEVCODE(new HashMap() { { - put("842019010188", "1"); - put("865328068419943", "2"); - put("512023010001", "3"); - put("512023010002", "4"); - put("512023010003", "5"); - put("512023010004", "C6"); + put(RAIN_GAUGE, "1"); + put(HUMI_TEMP, "2"); + put(MULTI_DEVOCDE1, "3"); + put(MULTI_DEVOCDE2, "4"); + put(MULTI_DEVOCDE3, "5"); + put(MULTI_DEVOCDE4, "6"); } }); diff --git a/src/main/java/com/casic/mapper/RainFallDataMapper.java b/src/main/java/com/casic/mapper/RainFallDataMapper.java index f5c29db..2984a9a 100644 --- a/src/main/java/com/casic/mapper/RainFallDataMapper.java +++ b/src/main/java/com/casic/mapper/RainFallDataMapper.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.model.RainFallData; +import org.apache.ibatis.annotations.Mapper; +@Mapper public interface RainFallDataMapper extends BaseMapper { + + } diff --git a/src/main/java/com/casic/model/RainFallData.java b/src/main/java/com/casic/model/RainFallData.java index fa96673..c676eea 100644 --- a/src/main/java/com/casic/model/RainFallData.java +++ b/src/main/java/com/casic/model/RainFallData.java @@ -1,5 +1,6 @@ package com.casic.model; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -9,6 +10,7 @@ @TableName("AD_YL_YLIANG") public class RainFallData { + @TableId private String dbid; private String scrid; diff --git a/src/main/java/com/casic/resolver/AlarmDataResolver.java b/src/main/java/com/casic/resolver/AlarmDataResolver.java index 2c6874b..c794a7b 100644 --- a/src/main/java/com/casic/resolver/AlarmDataResolver.java +++ b/src/main/java/com/casic/resolver/AlarmDataResolver.java @@ -1,7 +1,9 @@ package com.casic.resolver; +import com.alibaba.druid.util.StringUtils; import com.casic.enums.AlarmDatagramFlag; +import com.casic.enums.DevcodeEnums; import com.casic.enums.RelayDevcodeMapEnums; import com.casic.model.RelayStatusDTO; import lombok.extern.slf4j.Slf4j; @@ -9,17 +11,28 @@ @Slf4j @Service -public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag { +public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag, DevcodeEnums { @Override public RelayStatusDTO datagram(String msg) { - if(msg.contains(alarmMark)){ - //去掉补位 - String devcode = msg.substring(0, 15); - Integer isAlarm = Integer.valueOf(msg.substring(16,17)); + if (msg.contains(alarmMark)) { + String devcode = ""; + Integer isAlarm; + if (msg.contains(HUMI_TEMP)) { + devcode = HUMI_TEMP; + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } else { + //去掉补位 + devcode = msg.substring(0, 12); + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } log.info("设备编号为" + devcode + ",是否报警" + isAlarm); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName( RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/resolver/RainFallDataResolver.java b/src/main/java/com/casic/resolver/RainFallDataResolver.java index 8a22899..9b643de 100644 --- a/src/main/java/com/casic/resolver/RainFallDataResolver.java +++ b/src/main/java/com/casic/resolver/RainFallDataResolver.java @@ -11,29 +11,34 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.Date; @Service @Slf4j public class RainFallDataResolver implements DatagramResolver, AlarmDatagramFlag { - @Autowired + @Resource private RainFallDataMapper rainFallDataMapper; @Autowired private AlarmLevelConfig alarmLevelConfig; @Override public RelayStatusDTO datagram(String msg) { - if (msg.contains(rainFallMark)) { + if (msg.toLowerCase().contains(rainFallMark)) { //去掉补位 String devcode = msg.substring(0, 15); - String defaultValue = msg.substring(26, 30); + String defaultValue = String.valueOf(Integer.valueOf(msg.substring(26, 30))); log.info("设备编号为" + devcode + ",设备数据为" + defaultValue); RainFallData rainFallData = initRainFallData(devcode, defaultValue); rainFallDataMapper.insert(rainFallData); Integer isAlarm = isAlarm(String.valueOf(defaultValue), alarmLevelConfig.getRainfall()); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName(RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/server/ReceiverServer.java b/src/main/java/com/casic/server/ReceiverServer.java index a98e4ca..b1849f6 100644 --- a/src/main/java/com/casic/server/ReceiverServer.java +++ b/src/main/java/com/casic/server/ReceiverServer.java @@ -33,10 +33,10 @@ @Autowired private ServerPort serverPort; - @PostConstruct - public void init() { - this.start(); - } +// @PostConstruct +// public void init() { +// this.start(); +// } public void start() { EventLoopGroup bossGroup = new NioEventLoopGroup(); diff --git a/src/main/java/com/casic/server/ReceiverServerHandler.java b/src/main/java/com/casic/server/ReceiverServerHandler.java index 31ac43e..bd6616c 100644 --- a/src/main/java/com/casic/server/ReceiverServerHandler.java +++ b/src/main/java/com/casic/server/ReceiverServerHandler.java @@ -3,6 +3,7 @@ import com.casic.enums.RelaySwitchEnums; import com.casic.model.RelayStatusDTO; +import com.casic.resolver.DatagramResolver; import com.casic.resolver.RainFallDataResolver; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; @@ -34,7 +35,7 @@ new DefaultChannelGroup(GlobalEventExecutor.INSTANCE); @Autowired - private List rainFallDataResolverList; + private List datagramResolverList; public ReceiverServerHandler() { } @@ -66,13 +67,16 @@ */ @Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + if (msg instanceof String) { - rainFallDataResolverList.forEach( - rainFallDataResolver -> { - RelayStatusDTO relayStatusDTO = rainFallDataResolver.datagram(String.valueOf(msg)); - sendMsg(ctx, relayStatusDTO); - } - ); + if (!String.valueOf(msg).contains("iccid")){ + datagramResolverList.forEach( + rainFallDataResolver -> { + RelayStatusDTO relayStatusDTO = rainFallDataResolver.datagram(String.valueOf(msg)); + sendMsg(ctx, relayStatusDTO); + } + ); + } } super.channelRead(ctx, msg); } diff --git a/src/main/java/com/casic/service/DeviceDataSupport.java b/src/main/java/com/casic/service/DeviceDataSupport.java index 93d61ea..9ddcd7a 100644 --- a/src/main/java/com/casic/service/DeviceDataSupport.java +++ b/src/main/java/com/casic/service/DeviceDataSupport.java @@ -27,7 +27,7 @@ * 比较是否报警 报警/正常 1/0 */ protected Integer isAlarm(String realData, String thresholdValue) { - if (!StringUtils.isEmpty(realData) && StringUtils.isEmpty(thresholdValue)) { + if (!StringUtils.isEmpty(realData) && !StringUtils.isEmpty(thresholdValue)) { if (Float.valueOf(realData) >= Float.valueOf(thresholdValue)) { return 1; } diff --git a/src/main/java/com/casic/service/scanner/FlowDataScanner.java b/src/main/java/com/casic/service/scanner/FlowDataScanner.java index 7ab7228..741a1e8 100644 --- a/src/main/java/com/casic/service/scanner/FlowDataScanner.java +++ b/src/main/java/com/casic/service/scanner/FlowDataScanner.java @@ -16,8 +16,8 @@ List> flowDataMapList = this.deviceDataMapper.getFlowData(); flowDataMapList.forEach( flowDataMap -> { - String devcode = flowDataMap.get("devcode").toString(); - String insdata = flowDataMap.get("insdata").toString(); + String devcode = flowDataMap.get("DEVCODE").toString(); + String insdata = flowDataMap.get("INSDATA").toString(); Integer isAlarm = isAlarm(insdata, thresholdValue); sendAlarmMsg(devcode, isAlarm); } diff --git a/src/main/java/com/casic/service/scanner/PressDataScanner.java b/src/main/java/com/casic/service/scanner/PressDataScanner.java index 6738c38..9aea77b 100644 --- a/src/main/java/com/casic/service/scanner/PressDataScanner.java +++ b/src/main/java/com/casic/service/scanner/PressDataScanner.java @@ -18,8 +18,8 @@ List> pressDataMapList = this.deviceDataMapper.getPressureData(); pressDataMapList.forEach( pressDataMap -> { - String devcode = pressDataMap.get("devcode").toString(); - String pressdata = pressDataMap.get("pressdata").toString(); + String devcode = pressDataMap.get("DEVCODE").toString(); + String pressdata = pressDataMap.get("PRESSDATA").toString(); Integer isAlarm=isAlarm(pressdata,thresholdValue); sendAlarmMsg(devcode,isAlarm); } diff --git a/src/main/java/com/casic/service/scanner/TempHumiScanner.java b/src/main/java/com/casic/service/scanner/TempHumiScanner.java index a9efc57..74aa34f 100644 --- a/src/main/java/com/casic/service/scanner/TempHumiScanner.java +++ b/src/main/java/com/casic/service/scanner/TempHumiScanner.java @@ -17,10 +17,10 @@ List> pressDataMapList = this.deviceDataMapper.getHumiTemp(); pressDataMapList.forEach( pressDataMap -> { - String devcode = pressDataMap.get("devcode").toString(); - String temperatureData = pressDataMap.get("temperature").toString(); + String devcode = pressDataMap.get("DEVCODE").toString(); + String temperatureData = pressDataMap.get("TEMPERATURE").toString(); Integer isTempAlarm = isAlarm(temperatureData, tempThreshold); - String humidityData = pressDataMap.get("humidity").toString(); + String humidityData = pressDataMap.get("HUMIDITY").toString(); Integer isHumiAlarm = isAlarm(humidityData, humiThreshold); if (isHumiAlarm == 0 && isTempAlarm == 0) { sendAlarmMsg(devcode, 0); diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 20205e3..795fda7 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,7 +4,7 @@ spring: datasource: driverClassName: oracle.jdbc.driver.OracleDriver - url: jdbc:oracle:thin:@139.198.18.188:1521:WDMA + url: jdbc:oracle:thin:@111.198.10.15:11202:ORCL username: sensor password: sensor jms: diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 4a7b9ac..d780e9a 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -28,7 +28,6 @@ pressure: 15 flow: 5 task: - cronTime: 0 */1 * * * ? - -xgd: - server-port: 13764 + cron-time: 0 */1 * * * ? + server: + port: 13764 diff --git a/pom.xml b/pom.xml index cbdc982..a4d2a33 100644 --- a/pom.xml +++ b/pom.xml @@ -22,28 +22,15 @@ org.springframework.boot spring-boot-starter - 2.1.3.RELEASE + 2.4.5 org.springframework.boot spring-boot-starter-tomcat - 2.1.3.RELEASE + 2.4.5 - - - org.springframework.boot - spring-boot-starter-web - 2.1.3.RELEASE - - - - - org.springframework.boot - spring-boot-starter-jdbc - 2.1.3.RELEASE - - + com.oracle.database.jdbc ojdbc6 @@ -69,6 +56,13 @@ 4.1.36.Final + + org.quartz-scheduler + quartz + 2.3.2 + compile + + com.alibaba @@ -85,33 +79,17 @@ com.baomidou - mybatis-plus-generator - 3.3.2 - - - - com.baomidou mybatis-plus 3.4.3 - com.baomidou - mybatis-plus-generator - 3.5.1 - - org.springframework.boot - spring-boot-starter-freemarker - 2.7.4 + spring-boot-starter-web + 2.4.5 - - org.freemarker - freemarker - 2.3.28 - compile - + diff --git a/rain_receiver.iml b/rain_receiver.iml index 5cde140..8d50c52 100644 --- a/rain_receiver.iml +++ b/rain_receiver.iml @@ -25,46 +25,24 @@ - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + @@ -73,11 +51,19 @@ + + + + + + + + + - @@ -85,8 +71,18 @@ - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/casic/CasicApplication.java b/src/main/java/com/casic/CasicApplication.java index b5f3ef8..d2dd8e8 100644 --- a/src/main/java/com/casic/CasicApplication.java +++ b/src/main/java/com/casic/CasicApplication.java @@ -1,6 +1,9 @@ package com.casic; +import com.casic.server.ReceiverServer; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; @@ -15,10 +18,18 @@ @Slf4j @ComponentScan(basePackages= "com.casic.**") @SpringBootApplication -public class CasicApplication { +public class CasicApplication implements CommandLineRunner { + + @Autowired + private ReceiverServer receiverServer; + public static void main(String[] args) { log.info("CasicApplication is success!"); SpringApplication.run(CasicApplication.class, args); } + @Override + public void run(String... args) { + this.receiverServer.start(); + } } diff --git a/src/main/java/com/casic/config/ServerPort.java b/src/main/java/com/casic/config/ServerPort.java index 8980e43..fc89cf1 100644 --- a/src/main/java/com/casic/config/ServerPort.java +++ b/src/main/java/com/casic/config/ServerPort.java @@ -6,7 +6,7 @@ @Data @Component -@ConfigurationProperties(prefix = "casic.task") +@ConfigurationProperties(prefix = "casic.server") public class ServerPort { private Integer port; diff --git a/src/main/java/com/casic/controller/TestController.java b/src/main/java/com/casic/controller/TestController.java new file mode 100644 index 0000000..51867a7 --- /dev/null +++ b/src/main/java/com/casic/controller/TestController.java @@ -0,0 +1,18 @@ +package com.casic.controller; + +import com.casic.mapper.DeviceDataMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class TestController { + + @Autowired + private DeviceDataMapper deviceDataMapper; + + @RequestMapping("/test") + public Object testMap() { + return deviceDataMapper.getFlowData(); + } +} diff --git a/src/main/java/com/casic/enums/AlarmDatagramFlag.java b/src/main/java/com/casic/enums/AlarmDatagramFlag.java index 4716be3..f85da78 100644 --- a/src/main/java/com/casic/enums/AlarmDatagramFlag.java +++ b/src/main/java/com/casic/enums/AlarmDatagramFlag.java @@ -4,5 +4,5 @@ String alarmMark="mmmm"; - String rainFallMark="mmmm"; + String rainFallMark="aaaa"; } diff --git a/src/main/java/com/casic/enums/DevcodeEnums.java b/src/main/java/com/casic/enums/DevcodeEnums.java new file mode 100644 index 0000000..2b8f450 --- /dev/null +++ b/src/main/java/com/casic/enums/DevcodeEnums.java @@ -0,0 +1,29 @@ +package com.casic.enums; + +public interface DevcodeEnums { + + String RAIN_GAUGE="865328068419943"; + + /** + * 温湿度 + */ + String HUMI_TEMP="842019010188"; + /** + * 多功能1 + */ + String MULTI_DEVOCDE1="512023010001"; + + /** + * 多功能2 + */ + String MULTI_DEVOCDE2="512023010002"; + /** + * 多功能3 + */ + String MULTI_DEVOCDE3="512023010003"; + + /** + * 多功能4 + */ + String MULTI_DEVOCDE4="512023010004"; +} diff --git a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java index 3c907a9..5465cb5 100644 --- a/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java +++ b/src/main/java/com/casic/enums/RelayDevcodeMapEnums.java @@ -6,16 +6,16 @@ /** * 继电器灯和设备编号的枚举关系 */ -public enum RelayDevcodeMapEnums { +public enum RelayDevcodeMapEnums implements DevcodeEnums{ RELAY_DEVCODE(new HashMap() { { - put("842019010188", "1"); - put("865328068419943", "2"); - put("512023010001", "3"); - put("512023010002", "4"); - put("512023010003", "5"); - put("512023010004", "C6"); + put(RAIN_GAUGE, "1"); + put(HUMI_TEMP, "2"); + put(MULTI_DEVOCDE1, "3"); + put(MULTI_DEVOCDE2, "4"); + put(MULTI_DEVOCDE3, "5"); + put(MULTI_DEVOCDE4, "6"); } }); diff --git a/src/main/java/com/casic/mapper/RainFallDataMapper.java b/src/main/java/com/casic/mapper/RainFallDataMapper.java index f5c29db..2984a9a 100644 --- a/src/main/java/com/casic/mapper/RainFallDataMapper.java +++ b/src/main/java/com/casic/mapper/RainFallDataMapper.java @@ -2,6 +2,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.casic.model.RainFallData; +import org.apache.ibatis.annotations.Mapper; +@Mapper public interface RainFallDataMapper extends BaseMapper { + + } diff --git a/src/main/java/com/casic/model/RainFallData.java b/src/main/java/com/casic/model/RainFallData.java index fa96673..c676eea 100644 --- a/src/main/java/com/casic/model/RainFallData.java +++ b/src/main/java/com/casic/model/RainFallData.java @@ -1,5 +1,6 @@ package com.casic.model; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -9,6 +10,7 @@ @TableName("AD_YL_YLIANG") public class RainFallData { + @TableId private String dbid; private String scrid; diff --git a/src/main/java/com/casic/resolver/AlarmDataResolver.java b/src/main/java/com/casic/resolver/AlarmDataResolver.java index 2c6874b..c794a7b 100644 --- a/src/main/java/com/casic/resolver/AlarmDataResolver.java +++ b/src/main/java/com/casic/resolver/AlarmDataResolver.java @@ -1,7 +1,9 @@ package com.casic.resolver; +import com.alibaba.druid.util.StringUtils; import com.casic.enums.AlarmDatagramFlag; +import com.casic.enums.DevcodeEnums; import com.casic.enums.RelayDevcodeMapEnums; import com.casic.model.RelayStatusDTO; import lombok.extern.slf4j.Slf4j; @@ -9,17 +11,28 @@ @Slf4j @Service -public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag { +public class AlarmDataResolver implements DatagramResolver, AlarmDatagramFlag, DevcodeEnums { @Override public RelayStatusDTO datagram(String msg) { - if(msg.contains(alarmMark)){ - //去掉补位 - String devcode = msg.substring(0, 15); - Integer isAlarm = Integer.valueOf(msg.substring(16,17)); + if (msg.contains(alarmMark)) { + String devcode = ""; + Integer isAlarm; + if (msg.contains(HUMI_TEMP)) { + devcode = HUMI_TEMP; + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } else { + //去掉补位 + devcode = msg.substring(0, 12); + isAlarm = Integer.valueOf(msg.substring(16, 17)); + } log.info("设备编号为" + devcode + ",是否报警" + isAlarm); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName( RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/resolver/RainFallDataResolver.java b/src/main/java/com/casic/resolver/RainFallDataResolver.java index 8a22899..9b643de 100644 --- a/src/main/java/com/casic/resolver/RainFallDataResolver.java +++ b/src/main/java/com/casic/resolver/RainFallDataResolver.java @@ -11,29 +11,34 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.Date; @Service @Slf4j public class RainFallDataResolver implements DatagramResolver, AlarmDatagramFlag { - @Autowired + @Resource private RainFallDataMapper rainFallDataMapper; @Autowired private AlarmLevelConfig alarmLevelConfig; @Override public RelayStatusDTO datagram(String msg) { - if (msg.contains(rainFallMark)) { + if (msg.toLowerCase().contains(rainFallMark)) { //去掉补位 String devcode = msg.substring(0, 15); - String defaultValue = msg.substring(26, 30); + String defaultValue = String.valueOf(Integer.valueOf(msg.substring(26, 30))); log.info("设备编号为" + devcode + ",设备数据为" + defaultValue); RainFallData rainFallData = initRainFallData(devcode, defaultValue); rainFallDataMapper.insert(rainFallData); Integer isAlarm = isAlarm(String.valueOf(defaultValue), alarmLevelConfig.getRainfall()); + String channelName = RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode); + if (StringUtils.isEmpty(channelName)) { + return null; + } return RelayStatusDTO.builder() - .channelName(RelayDevcodeMapEnums.RELAY_DEVCODE.getRelayDevcodeMap().get(devcode)) + .channelName(channelName) .lampSwitch(isAlarm) .build(); } diff --git a/src/main/java/com/casic/server/ReceiverServer.java b/src/main/java/com/casic/server/ReceiverServer.java index a98e4ca..b1849f6 100644 --- a/src/main/java/com/casic/server/ReceiverServer.java +++ b/src/main/java/com/casic/server/ReceiverServer.java @@ -33,10 +33,10 @@ @Autowired private ServerPort serverPort; - @PostConstruct - public void init() { - this.start(); - } +// @PostConstruct +// public void init() { +// this.start(); +// } public void start() { EventLoopGroup bossGroup = new NioEventLoopGroup(); diff --git a/src/main/java/com/casic/server/ReceiverServerHandler.java b/src/main/java/com/casic/server/ReceiverServerHandler.java index 31ac43e..bd6616c 100644 --- a/src/main/java/com/casic/server/ReceiverServerHandler.java +++ b/src/main/java/com/casic/server/ReceiverServerHandler.java @@ -3,6 +3,7 @@ import com.casic.enums.RelaySwitchEnums; import com.casic.model.RelayStatusDTO; +import com.casic.resolver.DatagramResolver; import com.casic.resolver.RainFallDataResolver; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufAllocator; @@ -34,7 +35,7 @@ new DefaultChannelGroup(GlobalEventExecutor.INSTANCE); @Autowired - private List rainFallDataResolverList; + private List datagramResolverList; public ReceiverServerHandler() { } @@ -66,13 +67,16 @@ */ @Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { + if (msg instanceof String) { - rainFallDataResolverList.forEach( - rainFallDataResolver -> { - RelayStatusDTO relayStatusDTO = rainFallDataResolver.datagram(String.valueOf(msg)); - sendMsg(ctx, relayStatusDTO); - } - ); + if (!String.valueOf(msg).contains("iccid")){ + datagramResolverList.forEach( + rainFallDataResolver -> { + RelayStatusDTO relayStatusDTO = rainFallDataResolver.datagram(String.valueOf(msg)); + sendMsg(ctx, relayStatusDTO); + } + ); + } } super.channelRead(ctx, msg); } diff --git a/src/main/java/com/casic/service/DeviceDataSupport.java b/src/main/java/com/casic/service/DeviceDataSupport.java index 93d61ea..9ddcd7a 100644 --- a/src/main/java/com/casic/service/DeviceDataSupport.java +++ b/src/main/java/com/casic/service/DeviceDataSupport.java @@ -27,7 +27,7 @@ * 比较是否报警 报警/正常 1/0 */ protected Integer isAlarm(String realData, String thresholdValue) { - if (!StringUtils.isEmpty(realData) && StringUtils.isEmpty(thresholdValue)) { + if (!StringUtils.isEmpty(realData) && !StringUtils.isEmpty(thresholdValue)) { if (Float.valueOf(realData) >= Float.valueOf(thresholdValue)) { return 1; } diff --git a/src/main/java/com/casic/service/scanner/FlowDataScanner.java b/src/main/java/com/casic/service/scanner/FlowDataScanner.java index 7ab7228..741a1e8 100644 --- a/src/main/java/com/casic/service/scanner/FlowDataScanner.java +++ b/src/main/java/com/casic/service/scanner/FlowDataScanner.java @@ -16,8 +16,8 @@ List> flowDataMapList = this.deviceDataMapper.getFlowData(); flowDataMapList.forEach( flowDataMap -> { - String devcode = flowDataMap.get("devcode").toString(); - String insdata = flowDataMap.get("insdata").toString(); + String devcode = flowDataMap.get("DEVCODE").toString(); + String insdata = flowDataMap.get("INSDATA").toString(); Integer isAlarm = isAlarm(insdata, thresholdValue); sendAlarmMsg(devcode, isAlarm); } diff --git a/src/main/java/com/casic/service/scanner/PressDataScanner.java b/src/main/java/com/casic/service/scanner/PressDataScanner.java index 6738c38..9aea77b 100644 --- a/src/main/java/com/casic/service/scanner/PressDataScanner.java +++ b/src/main/java/com/casic/service/scanner/PressDataScanner.java @@ -18,8 +18,8 @@ List> pressDataMapList = this.deviceDataMapper.getPressureData(); pressDataMapList.forEach( pressDataMap -> { - String devcode = pressDataMap.get("devcode").toString(); - String pressdata = pressDataMap.get("pressdata").toString(); + String devcode = pressDataMap.get("DEVCODE").toString(); + String pressdata = pressDataMap.get("PRESSDATA").toString(); Integer isAlarm=isAlarm(pressdata,thresholdValue); sendAlarmMsg(devcode,isAlarm); } diff --git a/src/main/java/com/casic/service/scanner/TempHumiScanner.java b/src/main/java/com/casic/service/scanner/TempHumiScanner.java index a9efc57..74aa34f 100644 --- a/src/main/java/com/casic/service/scanner/TempHumiScanner.java +++ b/src/main/java/com/casic/service/scanner/TempHumiScanner.java @@ -17,10 +17,10 @@ List> pressDataMapList = this.deviceDataMapper.getHumiTemp(); pressDataMapList.forEach( pressDataMap -> { - String devcode = pressDataMap.get("devcode").toString(); - String temperatureData = pressDataMap.get("temperature").toString(); + String devcode = pressDataMap.get("DEVCODE").toString(); + String temperatureData = pressDataMap.get("TEMPERATURE").toString(); Integer isTempAlarm = isAlarm(temperatureData, tempThreshold); - String humidityData = pressDataMap.get("humidity").toString(); + String humidityData = pressDataMap.get("HUMIDITY").toString(); Integer isHumiAlarm = isAlarm(humidityData, humiThreshold); if (isHumiAlarm == 0 && isTempAlarm == 0) { sendAlarmMsg(devcode, 0); diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 20205e3..795fda7 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,7 +4,7 @@ spring: datasource: driverClassName: oracle.jdbc.driver.OracleDriver - url: jdbc:oracle:thin:@139.198.18.188:1521:WDMA + url: jdbc:oracle:thin:@111.198.10.15:11202:ORCL username: sensor password: sensor jms: diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 4a7b9ac..d780e9a 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -28,7 +28,6 @@ pressure: 15 flow: 5 task: - cronTime: 0 */1 * * * ? - -xgd: - server-port: 13764 + cron-time: 0 */1 * * * ? + server: + port: 13764 diff --git a/src/main/resources/mapper/DeviceMapper.xml b/src/main/resources/mapper/DeviceMapper.xml index 95c83d2..69f8a23 100644 --- a/src/main/resources/mapper/DeviceMapper.xml +++ b/src/main/resources/mapper/DeviceMapper.xml @@ -3,21 +3,33 @@ \ No newline at end of file