浏览代码

接收端

523096025 1 年之前
当前提交
eabab687f5
共有 25 个文件被更改,包括 1477 次插入0 次删除
  1. 86 0
      huimv-env-input/pom.xml
  2. 16 0
      huimv-env-input/src/main/java/com/huimv/env/input/HuimvEnvInputApplication.java
  3. 329 0
      huimv-env-input/src/main/java/com/huimv/env/input/config/TopicRabbitMQConfig.java
  4. 195 0
      huimv-env-input/src/main/java/com/huimv/env/input/producer/Producer.java
  5. 74 0
      huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServer.java
  6. 195 0
      huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java
  7. 14 0
      huimv-env-input/src/main/java/com/huimv/env/input/service/ICommandProcessorService.java
  8. 47 0
      huimv-env-input/src/main/java/com/huimv/env/input/service/impl/CommandProcessorServiceImpl.java
  9. 105 0
      huimv-env-input/src/main/resources/application-dev.yml
  10. 89 0
      huimv-env-input/src/main/resources/application-prod.yml
  11. 34 0
      huimv-env-input/src/main/resources/application.properties
  12. 24 0
      huimv-env-input/src/main/resources/assembly.xml
  13. 105 0
      huimv-env-input/target/classes/application-dev.yml
  14. 89 0
      huimv-env-input/target/classes/application-prod.yml
  15. 34 0
      huimv-env-input/target/classes/application.properties
  16. 24 0
      huimv-env-input/target/classes/assembly.xml
  17. 二进制
      huimv-env-input/target/classes/com/huimv/env/input/HuimvEnvInputApplication.class
  18. 二进制
      huimv-env-input/target/classes/com/huimv/env/input/server/EnvInputServer$1.class
  19. 二进制
      huimv-env-input/target/classes/com/huimv/env/input/server/EnvInputServer.class
  20. 二进制
      huimv-env-input/target/classes/com/huimv/env/input/server/EnvInputServerHandler.class
  21. 二进制
      huimv-env-input/target/huimv-new-env-input-0.0.1-SNAPSHOT.jar
  22. 二进制
      huimv-env-input/target/huimv-new-env-input-0.0.1-SNAPSHOT.jar.original
  23. 3 0
      huimv-env-input/target/maven-archiver/pom.properties
  24. 4 0
      huimv-env-input/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  25. 10 0
      huimv-env-input/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

+ 86 - 0
huimv-env-input/pom.xml

@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>2.4.3</version>
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>huimv-new-env-input</artifactId>
+    <version>0.0.1-SNAPSHOT</version>
+
+    <dependencies>
+        <!-- 排除Tomcat容器 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+            <!-- 移除掉默认支持的 Tomcat -->
+        </dependency>
+
+        <!-- 添加 Undertow 容器 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-undertow</artifactId>
+        </dependency>
+        <!-- mysql -->
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+        </dependency>
+        <!--rabbitmq-->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-amqp</artifactId>
+        </dependency>
+        <!-- redis -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <optional>true</optional>
+            <version>1.18.22</version>
+        </dependency>
+        <!-- actuator -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+            <version>1.2.28</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-all</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>2.6</version>
+            </plugin>
+        </plugins>
+    </build>
+</project>

+ 16 - 0
huimv-env-input/src/main/java/com/huimv/env/input/HuimvEnvInputApplication.java

@@ -0,0 +1,16 @@
+package com.huimv.env.input;
+
+import com.huimv.env.input.server.EnvInputServer;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.ApplicationContext;
+
+
+@SpringBootApplication
+public class HuimvEnvInputApplication {
+    public static void main(String[] args) throws InterruptedException {
+        ApplicationContext applicationContext = SpringApplication.run(HuimvEnvInputApplication.class, args);
+        // EnvInputServer
+        applicationContext.getBean(EnvInputServer.class).run();
+    }
+}

+ 329 - 0
huimv-env-input/src/main/java/com/huimv/env/input/config/TopicRabbitMQConfig.java

@@ -0,0 +1,329 @@
+//package com.huimv.env.input.config;
+//
+//import com.huimv.env.common.utils.Const;
+//import org.springframework.amqp.core.Binding;
+//import org.springframework.amqp.core.BindingBuilder;
+//import org.springframework.amqp.core.Queue;
+//import org.springframework.amqp.core.TopicExchange;
+//import org.springframework.context.annotation.Bean;
+//import org.springframework.context.annotation.Configuration;
+//
+///**
+// * @Project : huimv.shiwan
+// * @Package : com.huimv.biosafety.uface.controller
+// * @Description : TODO
+// * @Version : 1.0
+// * @Author : ZhuoNing
+// * @Create : 2020-12-25
+// **/
+//@Configuration
+//public class TopicRabbitMQConfig {
+//    //温度
+//    @Bean
+//    public Queue tempQueue() {
+//        return new Queue(Const.QUEUE_ENV_TEMP);
+//    }
+//    @Bean
+//    TopicExchange tempExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_TEMP);
+//    }
+//    @Bean
+//    Binding bindingTempExchangeMessage() {
+//        return BindingBuilder.bind(tempQueue()).to(tempExchange()).with(Const.ROUTING_KEY_ENV_TEMP);
+//    }
+//
+//    //目标温度
+//    @Bean
+//    public Queue targetTempQueue() {
+//        return new Queue(Const.QUEUE_ENV_TARGET_TEMP);
+//    }
+//    @Bean
+//    TopicExchange targetTempExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_TARGET_TEMP);
+//    }
+//    @Bean
+//    Binding bindingTargetTempExchangeMessage() {
+//        return BindingBuilder.bind(targetTempQueue()).to(targetTempExchange()).with(Const.ROUTING_KEY_ENV_TARGET_TEMP);
+//    }
+//    //湿度
+//    @Bean
+//    public Queue humiQueue() {
+//        return new Queue(Const.QUEUE_ENV_HUMI);
+//    }
+//    @Bean
+//    TopicExchange humiExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_HUMI);
+//    }
+//    @Bean
+//    Binding bindingTumiExchangeMessage() {
+//        return BindingBuilder.bind(humiQueue()).to(humiExchange()).with(Const.ROUTING_KEY_ENV_HUMI);
+//    }
+//
+//    //日龄
+//    @Bean
+//    public Queue dayAgeQueue() {
+//        return new Queue(Const.QUEUE_ENV_DAYAGE);
+//    }
+//    @Bean
+//    TopicExchange dayAgeExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_DAYAGE);
+//    }
+//    @Bean
+//    Binding bindingDayAgeExchangeMessage() {
+//        return BindingBuilder.bind(dayAgeQueue()).to(dayAgeExchange()).with(Const.ROUTING_KEY_ENV_DAYAGE);
+//    }
+//
+//    //通风
+//    @Bean
+//    public Queue fengQueue() {
+//        return new Queue(Const.QUEUE_ENV_FENG);
+//    }
+//    @Bean
+//    TopicExchange fengExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_FENG);
+//    }
+//    @Bean
+//    Binding bindingFengExchangeMessage() {
+//        return BindingBuilder.bind(fengQueue()).to(fengExchange()).with(Const.ROUTING_KEY_ENV_FENG);
+//    }
+//
+//    //舍外
+//    @Bean
+//    public Queue outTempQueue() {
+//        return new Queue(Const.QUEUE_ENV_OUT_TEMP);
+//    }
+//    @Bean
+//    TopicExchange outTempExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_OUT_TEMP);
+//    }
+//    @Bean
+//    Binding bindingOutTempExchangeMessage() {
+//        return BindingBuilder.bind(outTempQueue()).to(outTempExchange()).with(Const.ROUTING_KEY_ENV_OUT_TEMP);
+//    }
+//
+//    //舍内 平均温度
+//    @Bean
+//    public Queue inTempQueue() {
+//        return new Queue(Const.QUEUE_ENV_IN_TEMP);
+//    }
+//    @Bean
+//    TopicExchange inTempExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_IN_TEMP);
+//    }
+//    @Bean
+//    Binding bindingInTempExchangeMessage() {
+//        return BindingBuilder.bind(inTempQueue()).to(inTempExchange()).with(Const.ROUTING_KEY_ENV_IN_TEMP);
+//    }
+//
+//    //报警
+//    @Bean
+//    public Queue warningQueue() {
+//        return new Queue(Const.QUEUE_ENV_WARNING);
+//    }
+//    @Bean
+//    TopicExchange warningExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_WARNING);
+//    }
+//    @Bean
+//    Binding bindingWarningExchangeMessage() {
+//        return BindingBuilder.bind(warningQueue()).to(warningExchange()).with(Const.ROUTING_KEY_ENV_WARNING);
+//    }
+//
+//    //湿帘状态
+//    @Bean
+//    public Queue shilianStatusQueue() {
+//        return new Queue(Const.QUEUE_ENV_SHILIAN_STATUS);
+//    }
+//    @Bean
+//    TopicExchange shilianStatusExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_SHILIAN_STATUS);
+//    }
+//    @Bean
+//    Binding bindingshilianStatusExchangeMessage() {
+//        return BindingBuilder.bind(shilianStatusQueue()).to(shilianStatusExchange()).with(Const.ROUTING_KEY_ENV_SHILIAN_STATUS);
+//    }
+//
+//    //喷雾状态
+//    @Bean
+//    public Queue penwuStatusQueue() {
+//        return new Queue(Const.QUEUE_ENV_PENWU_STATUS);
+//    }
+//    @Bean
+//    TopicExchange penwuStatusExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_PENWU_STATUS);
+//    }
+//    @Bean
+//    Binding bindingpenwuStatusExchangeMessage() {
+//        return BindingBuilder.bind(penwuStatusQueue()).to(penwuStatusExchange()).with(Const.ROUTING_KEY_ENV_PENWU_STATUS);
+//    }
+//
+//    //日龄温度曲线配置
+//    @Bean
+//    public Queue dayagePeizhiQueue() {
+//        return new Queue(Const.QUEUE_ENV_DAYAGE_PEIZHI);
+//    }
+//    @Bean
+//    TopicExchange dayagePeizhiExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_DAYAGE_PEIZHI);
+//    }
+//    @Bean
+//    Binding bindingdayagePeizhiExchangeMessage() {
+//        return BindingBuilder.bind(dayagePeizhiQueue()).to(dayagePeizhiExchange()).with(Const.ROUTING_KEY_ENV_DAYAGE_PEIZHI);
+//    }
+//
+//    //风机状态
+//    @Bean
+//    public Queue fengPeizhiQueue() {
+//        return new Queue(Const.QUEUE_ENV_FENG_PEIZHI);
+//    }
+//    @Bean
+//    TopicExchange fengPeizhiExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_FENG_PEIZHI);
+//    }
+//    @Bean
+//    Binding bindingfengPeizhiExchangeMessage() {
+//        return BindingBuilder.bind(fengPeizhiQueue()).to(fengPeizhiExchange()).with(Const.ROUTING_KEY_ENV_FENG_PEIZHI);
+//    }
+//
+//
+//    //CO2
+//    @Bean
+//    public Queue co2DataQueue() {
+//        return new Queue(Const.QUEUE_ENV_CO2_DATA);
+//    }
+//    @Bean
+//    TopicExchange co2DatExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_CO2_DATA);
+//    }
+//    @Bean
+//    Binding bindingCo2DatExchangeMessage() {
+//        return BindingBuilder.bind(co2DataQueue()).to(co2DatExchange()).with(Const.ROUTING_KEY_ENV_CO2_DATA);
+//    }
+//
+//    //CO2
+//    @Bean
+//    public Queue yaliDataQueue() {
+//        return new Queue(Const.QUEUE_ENV_YALI_DATA);
+//    }
+//    @Bean
+//    TopicExchange yaliDatExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_YALI_DATA);
+//    }
+//    @Bean
+//    Binding bindingYaliDatExchangeMessage() {
+//        return BindingBuilder.bind(yaliDataQueue()).to(yaliDatExchange()).with(Const.ROUTING_KEY_ENV_YALI_DATA);
+//    }
+//
+//
+//    //水暖
+//    @Bean
+//    public Queue shuinuanDataQueue() {
+//        return new Queue(Const.QUEUE_ENV_SHUINUAN_DATA);
+//    }
+//    @Bean
+//    TopicExchange shuinuanDatExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_SHUINUAN_DATA);
+//    }
+//    @Bean
+//    Binding bindingshuinuanDatExchangeMessage() {
+//        return BindingBuilder.bind(shuinuanDataQueue()).to(shuinuanDatExchange()).with(Const.ROUTING_KEY_ENV_SHUINUAN_DATA);
+//    }
+//
+//    //位置
+//    @Bean
+//    public Queue weizhiDataQueue() {
+//        return new Queue(Const.QUEUE_ENV_WEIZHI_DATA);
+//    }
+//    @Bean
+//    TopicExchange weizhiDatExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_WEIZHI_DATA);
+//    }
+//    @Bean
+//    Binding bindingweizhiDatExchangeMessage() {
+//        return BindingBuilder.bind(weizhiDataQueue()).to(weizhiDatExchange()).with(Const.ROUTING_KEY_ENV_WEIZHI_DATA);
+//    }
+//
+//    // 水表
+//    @Bean
+//    public Queue shuibiaoDataQueue() {
+//        return new Queue(Const.QUEUE_ENV_SHUIBIAO_DATA);
+//    }
+//    @Bean
+//    TopicExchange shuibiaoDatExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_SHUIBIAO_DATA);
+//    }
+//    @Bean
+//    Binding bindingshuibiaoDatExchangeMessage() {
+//        return BindingBuilder.bind(shuibiaoDataQueue()).to(shuibiaoDatExchange()).with(Const.ROUTING_KEY_ENV_SHUIBIAO_DATA);
+//    }
+//
+//    //电表
+//    @Bean
+//    public Queue dianbiaoDataQueue() {
+//        return new Queue(Const.QUEUE_ENV_DIANBIAO_DATA);
+//    }
+//    @Bean
+//    TopicExchange dianbiaoDatExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_DIANBIAO_DATA);
+//    }
+//    @Bean
+//    Binding bindingdianbiaoDatExchangeMessage() {
+//        return BindingBuilder.bind(dianbiaoDataQueue()).to(dianbiaoDatExchange()).with(Const.ROUTING_KEY_ENV_DIANBIAO_DATA);
+//    }
+//
+//    //加热器
+//    @Bean
+//    public Queue jiareStatusQueue() {
+//        return new Queue(Const.QUEUE_ENV_JIARE_STATUS);
+//    }
+//    @Bean
+//    TopicExchange jiareStatusExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_JIARE_STATUS);
+//    }
+//    @Bean
+//    Binding bindingjiareStatusExchangeMessage() {
+//        return BindingBuilder.bind(jiareStatusQueue()).to(jiareStatusExchange()).with(Const.ROUTING_KEY_ENV_JIARE_STATUS);
+//    }
+//
+//    //小窗
+//    @Bean
+//    public Queue xiaochuangStatusQueue() {
+//        return new Queue(Const.QUEUE_ENV_XIAOCHUANG_STATUS);
+//    }
+//    @Bean
+//    TopicExchange xiaochuangStatusExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_XIAOCHUANG_STATUS);
+//    }
+//    @Bean
+//    Binding bindingxiaochuangStatusExchangeMessage() {
+//        return BindingBuilder.bind(xiaochuangStatusQueue()).to(xiaochuangStatusExchange()).with(Const.ROUTING_KEY_ENV_XIAOCHUANG_STATUS);
+//    }
+//
+//    //导流板
+//    @Bean
+//    public Queue daoliuStatusQueue() {
+//        return new Queue(Const.QUEUE_ENV_DAOLIU_STATUS);
+//    }
+//    @Bean
+//    TopicExchange daoliuStatusExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_DAOLIU_STATUS);
+//    }
+//    @Bean
+//    Binding bindingdaoliuStatusExchangeMessage() {
+//        return BindingBuilder.bind(daoliuStatusQueue()).to(daoliuStatusExchange()).with(Const.ROUTING_KEY_ENV_DAOLIU_STATUS);
+//    }
+//
+//    //照明
+//    @Bean
+//    public Queue zhaomingStatusQueue() {
+//        return new Queue(Const.QUEUE_ENV_ZHAOMING_STATUS);
+//    }
+//    @Bean
+//    TopicExchange zhaomingStatusExchange() {
+//        return new TopicExchange(Const.EXCHANGE_ENV_ZHAOMING_STATUS);
+//    }
+//    @Bean
+//    Binding bindingzhaomingStatusExchangeMessage() {
+//        return BindingBuilder.bind(zhaomingStatusQueue()).to(zhaomingStatusExchange()).with(Const.ROUTING_KEY_ENV_ZHAOMING_STATUS);
+//    }
+//}

+ 195 - 0
huimv-env-input/src/main/java/com/huimv/env/input/producer/Producer.java

@@ -0,0 +1,195 @@
+//package com.huimv.env.input.producer;
+//
+//import com.huimv.env.common.utils.Const;
+//import lombok.extern.slf4j.Slf4j;
+//import org.springframework.amqp.rabbit.core.RabbitTemplate;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.stereotype.Component;
+//
+//import java.util.HashMap;
+//import java.util.Map;
+//
+///**
+// * @Project : huimv.shiwan
+// * @Package : com.huimv.biosafety.uface.controller
+// * @Description : TODO
+// * @Version : 1.0
+// * @Author : ZhuoNing
+// * @Create : 2020-12-25
+// **/
+//@Component
+//@Slf4j
+//public class Producer {
+//    @Autowired
+//    RabbitTemplate rabbitTemplate;  //使用RabbitTemplate,这提供了接收/发送等等方法
+//
+//
+//    public String sendTempAskToMQ(String askText){
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_TEMP, Const.ROUTING_KEY_ENV_TEMP, map);
+//        return "ok";
+//    }
+//
+//    public String sendDayAge(String askText){
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_DAYAGE, Const.ROUTING_KEY_ENV_DAYAGE, map);
+//        return "ok";
+//    }
+//
+//    public String sendFeng(String askText){
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_FENG, Const.ROUTING_KEY_ENV_FENG, map);
+//        return "ok";
+//    }
+//
+//    public String sendOutTemp(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_OUT_TEMP, Const.ROUTING_KEY_ENV_OUT_TEMP, map);
+//        return "ok";
+//    }
+//
+//    public String sendInTemp(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_IN_TEMP, Const.ROUTING_KEY_ENV_IN_TEMP, map);
+//        return "ok";
+//    }
+//
+//    public String sendTemp(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_TEMP, Const.ROUTING_KEY_ENV_TEMP, map);
+//        return "ok";
+//    }
+//
+//    public String sendHumi(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_HUMI, Const.ROUTING_KEY_ENV_HUMI, map);
+//        return "ok";
+//    }
+//
+//    public String sendWarning(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_WARNING, Const.ROUTING_KEY_ENV_WARNING, map);
+//        return "ok";
+//    }
+//
+//    public String uploadFengStatus(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_FENG_STATUS, Const.ROUTING_KEY_ENV_FENG_STATUS, map);
+//        return "ok";
+//    }
+//
+//    public String  senTargetnTemp(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_TARGET_TEMP, Const.ROUTING_KEY_ENV_TARGET_TEMP, map);
+//        return "ok";
+//
+//    }
+//
+//    public String sendShiLianStatus(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_SHILIAN_STATUS, Const.ROUTING_KEY_ENV_SHILIAN_STATUS, map);
+//        return "ok";
+//    }
+//
+//    public String sendPengWuStatus(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_PENWU_STATUS, Const.ROUTING_KEY_ENV_PENWU_STATUS, map);
+//        return "ok";
+//    }
+//    public String sendDayAgePeiZhi(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_DAYAGE_PEIZHI, Const.ROUTING_KEY_ENV_DAYAGE_PEIZHI, map);
+//        return "ok";
+//    }
+//    public String sendTongFengPeiZhi(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_FENG_PEIZHI, Const.ROUTING_KEY_ENV_FENG_PEIZHI, map);
+//        return "ok";
+//    }
+//
+//
+//    public String sendCo2(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_CO2_DATA, Const.ROUTING_KEY_ENV_CO2_DATA, map);
+//        return "ok";
+//    }
+//
+//    public String sendYaLi(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_YALI_DATA, Const.ROUTING_KEY_ENV_YALI_DATA, map);
+//        return "ok";
+//    }
+//
+//    public String  sendShuiNuan(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_SHUINUAN_DATA, Const.ROUTING_KEY_ENV_SHUINUAN_DATA, map);
+//        return "ok";
+//    }
+//
+//    public String  sendWeiZhi(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_WEIZHI_DATA, Const.ROUTING_KEY_ENV_WEIZHI_DATA, map);
+//        return "ok";
+//
+//    }
+//
+//    public String sendShuiBiaoData(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_SHUIBIAO_DATA, Const.ROUTING_KEY_ENV_SHUIBIAO_DATA, map);
+//        return "ok";
+//    }
+//
+//    public String sendDianBiaoData(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_DIANBIAO_DATA, Const.ROUTING_KEY_ENV_DIANBIAO_DATA, map);
+//        return "ok";
+//    }
+//
+//    public String sendJiaReStatus(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_JIARE_STATUS, Const.ROUTING_KEY_ENV_JIARE_STATUS, map);
+//        return "ok";
+//    }
+//
+//    public String sendXiaoChuangStatus(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_XIAOCHUANG_STATUS, Const.ROUTING_KEY_ENV_XIAOCHUANG_STATUS, map);
+//        return "ok";
+//    }
+//
+//    public String sendDaoLiuStatus(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_DAOLIU_STATUS, Const.ROUTING_KEY_ENV_DAOLIU_STATUS, map);
+//        return "ok";
+//    }
+//
+//    public String sendZhaoMingStatus(String askText) {
+//        Map map = new HashMap();
+//        map.put("askText",askText);
+//        rabbitTemplate.convertAndSend(Const.EXCHANGE_ENV_ZHAOMING_STATUS, Const.ROUTING_KEY_ENV_ZHAOMING_STATUS, map);
+//        return "ok";
+//    }
+//}

+ 74 - 0
huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServer.java

@@ -0,0 +1,74 @@
+package com.huimv.env.input.server;
+
+import io.netty.bootstrap.ServerBootstrap;
+import io.netty.channel.ChannelFuture;
+import io.netty.channel.ChannelInitializer;
+import io.netty.channel.EventLoopGroup;
+import io.netty.channel.nio.NioEventLoopGroup;
+import io.netty.channel.socket.SocketChannel;
+import io.netty.channel.socket.nio.NioServerSocketChannel;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@Component
+public class EnvInputServer {
+    @Autowired
+    private EnvInputServerHandler serverHandler;
+    //监听端口
+    private int port = 3826;
+    //创建构造方法
+    public EnvInputServer(){
+    }
+
+    public static void main(String[] args) throws InterruptedException {
+        new EnvInputServer().run();
+    }
+/**
+ *
+ * 功能描述: 启动方法前台多个服务  处理多个线程
+ *
+ * @param:
+ * @return:
+ * @auther: LiGang
+ * @date: 2019/3/26 11:31
+ */
+    /**
+     * 启动流程
+     */
+    public void run() throws InterruptedException {
+        //配置服务端线程组
+        EventLoopGroup bossGroup=new NioEventLoopGroup();
+        EventLoopGroup workGroup=new NioEventLoopGroup();
+
+        try{
+            //引导整个server的启动
+            ServerBootstrap serverBootstrap = new ServerBootstrap();
+            serverBootstrap.group(bossGroup,workGroup)
+                    .channel(NioServerSocketChannel.class)    //指定处理的连接类型
+                    .childHandler(new ChannelInitializer<SocketChannel>() {
+                        @Override
+                        protected void initChannel(SocketChannel socketChannel) throws Exception {
+                            socketChannel.pipeline().addLast(serverHandler);
+                        }
+                    });
+            System.out.println("# 耳标及采集器设备数据接收服务器已经启动,监听端口(Port):"+port);
+            System.out.println("# 准备接收数据:");
+            //绑定端口,同步等待成功
+            ChannelFuture cf = serverBootstrap.bind(port).sync();
+            // 等待服务端监听端口关闭
+            cf.channel().closeFuture().sync();
+        }finally {
+            //优雅的退出
+            bossGroup.shutdownGracefully();
+            workGroup.shutdownGracefully();
+        }
+    }
+}

+ 195 - 0
huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java

@@ -0,0 +1,195 @@
+package com.huimv.env.input.server;
+
+import com.alibaba.fastjson.JSONArray;
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.Unpooled;
+
+import io.netty.channel.ChannelHandler;
+import io.netty.channel.ChannelHandlerContext;
+import io.netty.channel.ChannelInboundHandlerAdapter;
+import io.netty.util.CharsetUtil;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.stereotype.Component;
+
+import java.io.IOException;
+import java.text.ParseException;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@ChannelHandler.Sharable
+@Component
+@Log4j2
+public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
+    private StringBuilder askTextSb = null;
+
+    //
+    public void appendClientAsk(String text) {
+        if (this.askTextSb == null) {
+            askTextSb = new StringBuilder();
+        }
+        askTextSb.append(text);
+    }
+
+    @Override
+    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
+        ByteBuf data = (ByteBuf) msg;
+        String clientAskText = data.toString(CharsetUtil.UTF_8);
+        //保存实例内的客户端请求
+        appendClientAsk(clientAskText);
+        //临时写入耳标数据到文件
+//        writeTxt(clientAskText,"all");
+    }
+
+    @Override
+    public void channelReadComplete(ChannelHandlerContext ctx) throws Exception {
+        if (askTextSb.toString().indexOf("end") != -1) {
+            // {处理客户端消息}
+            handleClientAskCmd(askTextSb.toString(), ctx);
+            //清空重置;
+            askTextSb.delete(0, askTextSb.length());
+        }
+    }
+
+    @Override
+    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {
+        if (cause.getMessage().indexOf("Connection reset") != -1) {
+            log.info("相关采集器设备正在重启:" + cause.toString());
+        }
+//        cause.printStackTrace();
+        ctx.close();
+    }
+
+    /**
+     * @Method : handleClientAskCmd
+     * @Description : 处理请求小心
+     * @Params : [clientAskText, ctx]
+     * @Return : void
+     * @Author : ZhuoNing
+     * @Date : 2022/3/28
+     * @Time : 17:36
+     */
+    private void handleClientAskCmd(String clientAskText, ChannelHandlerContext ctx) throws ParseException, IOException {
+        clientAskText = clientAskText.replaceAll("\r", "").replaceAll("\n", "");
+        //{处理非正常命令}
+//        int countPlus = regexUtil.countPlus(clientAskText);
+//        if (countPlus < 4) {
+//            System.out.println("当前数据为不完整数据,故丢弃.>>" + clientAskText);
+//        } else {
+        //--处理客户端请求数据
+        //{拆分粘包数据}
+        JSONArray askJa = parseAskCmdPackage(clientAskText);
+        for (int a = 0; a < askJa.size(); a++) {
+            String askText = askJa.getString(a);
+            //{处理请求命令}
+            askCmdActuator(askText, ctx);
+        }
+//        }
+    }
+
+    /**
+     * @Method : askCmdActuator
+     * @Description :
+     * @Params : [askText, ctx]
+     * @Return : void
+     * @Author : ZhuoNing
+     * @Date : 2022/3/23
+     * @Time : 18:08
+     */
+    private void askCmdActuator(String askText, ChannelHandlerContext ctx) throws ParseException, IOException {
+        System.out.println("======>接收设备请求:" + askText);
+        String[] dataArray = askText.split("\\+");
+
+        String cmdHeader = dataArray[0];
+        if (!cmdHeader.trim().equalsIgnoreCase("hm")) {
+            log.info("当前命令是非hm命令[" + askText + "]");
+            return;
+        }
+        //芯片id/设备编码
+
+        String cmd = dataArray[1];
+//        Map map = new HashMap();
+//        map.put("askText", askText);
+//        rawDataService.insert(idCode,askText);
+        switch (cmd) {
+            case "1":
+                //上传温度
+                getTemp(dataArray,ctx);
+                break;
+            case "2":
+                //上传充电状态
+                getChargingStatus(dataArray,ctx);
+            case "3":
+                //上传漏电状态
+                getLeakageStatus(dataArray,ctx);
+            case "4":
+                //心跳
+                getHear(dataArray,ctx);
+        }
+    }
+
+    private void getHear(String[] dataArray, ChannelHandlerContext ctx) {
+        String ans = "hm+4+1+end";
+        answerCmd(ans,ctx);
+    }
+
+    private void getLeakageStatus(String[] dataArray, ChannelHandlerContext ctx) {
+        String ans = "hm+3+1+end";
+        answerCmd(ans,ctx);
+    }
+
+    private void getChargingStatus(String[] dataArray, ChannelHandlerContext ctx) {
+        String ans = "hm+2+1+end";
+        answerCmd(ans,ctx);
+    }
+
+    private void getTemp(String[] dataArray, ChannelHandlerContext ctx) {
+        String ans = "hm+1+1+end";
+        answerCmd(ans,ctx);
+    }
+
+
+    //应答
+    public void answerCmd(String answerText, ChannelHandlerContext ctx) {
+        log.info(String.format("应答数据--->%s",answerText));
+        ctx.writeAndFlush(Unpooled.copiedBuffer(answerText.getBytes()));
+    }
+
+    //检查无效耳标
+    public boolean checkValidEarmark(String earmark) {
+        if (earmark.trim().equalsIgnoreCase("ffffffffffffffff") || earmark.trim().equalsIgnoreCase("0000000000000000")) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    //拆分粘包数据
+    public JSONArray parseAskCmdPackage(String text) {
+        String key = "end";
+        Pattern pattern = Pattern.compile(key);
+        Matcher matcher = pattern.matcher(text);
+        int count = 0;
+        while (matcher.find()) {
+            count++;
+        }
+        JSONArray dataJa = new JSONArray();
+        if (count == 1) {
+            dataJa.add(text);
+        } else {
+            for (int a = 0; a < count; a++) {
+                int p1 = text.indexOf("end");
+                dataJa.add(text.substring(0, p1 + 3));
+                text = text.substring(p1 + 3, text.length());
+            }
+        }
+        return dataJa;
+    }
+}

+ 14 - 0
huimv-env-input/src/main/java/com/huimv/env/input/service/ICommandProcessorService.java

@@ -0,0 +1,14 @@
+//package com.huimv.env.input.service;
+//
+//public interface ICommandProcessorService {
+//
+//    String getDeviceCodeByChipId(String idCode);
+////
+//    boolean isEffectiveDevice(String idCode);
+//
+//    void updateStatus(String idCode);
+//
+//    String getDayAgePeiZhi(String[] dataArray,String idCode);
+//
+//    String getFengPeiZhi(String[] dataArray);
+//}

+ 47 - 0
huimv-env-input/src/main/java/com/huimv/env/input/service/impl/CommandProcessorServiceImpl.java

@@ -0,0 +1,47 @@
+//package com.huimv.env.input.service.impl;
+//
+//import com.huimv.env.input.service.ICommandProcessorService;
+////import com.huimv.env.common.service.IDeviceRegisterService;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.stereotype.Service;
+//
+//
+//@Service
+//public class CommandProcessorServiceImpl implements ICommandProcessorService {
+////
+////    @Autowired
+////    private IBaseFarmService iBaseFarmService
+//    @Autowired
+//    private IEnvDeviceService envDeviceService;
+//
+//    @Autowired
+//    private IEnvDayagePeizhiService envDayagePeizhiService;
+//    @Autowired
+//    private IEnvFengPeizhiService envFengPeizhiService;
+//
+//    @Override
+//    public String getDeviceCodeByChipId(String idCode) {
+//        //--{读取设备编码}
+//        return envDeviceService.getDeviceCodeByChipId(idCode);
+//    }
+//
+//    @Override
+//    public boolean isEffectiveDevice(String idCode) {
+//        return envDeviceService.isExistByDeviceCode(idCode);
+//    }
+//
+//    @Override
+//    public void updateStatus(String idCode) {
+//        envDeviceService.updateStatus(idCode);
+//    }
+//
+//    @Override
+//    public String getDayAgePeiZhi(String[] dataArray,String idCode) {
+//        return envDayagePeizhiService.getDayAgePeiZhi(dataArray,idCode);
+//    }
+//
+//    @Override
+//    public String getFengPeiZhi(String[] dataArray) {
+//        return envFengPeizhiService.getFengPeiZhi(dataArray);
+//    }
+//}

+ 105 - 0
huimv-env-input/src/main/resources/application-dev.yml

@@ -0,0 +1,105 @@
+server:
+  port: 8093
+
+spring:
+  application:
+    name: huimv-env-input
+
+  datasource:
+    url: jdbc:mysql://115.238.57.190:3306/huimv-farm-env?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    username: root
+    password: hm123456
+    driver-class-name: com.mysql.cj.jdbc.Driver
+  jpa:
+    show-sql: true
+    database: mysql
+    hibernate:
+      ddl-auto: update
+    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
+    open-in-view: true
+
+  #配置rabbitMq 服务器
+#  rabbitmq:
+#    host: 10.0.0.4
+#    port: 5672
+#    username: huimv
+#    password: hm123456
+#    #虚拟host 可以不设置,使用server默认host
+#    virtual-host: /
+  rabbitmq:
+#    host: 192.168.1.82
+    host: 119.3.84.55
+    port: 5672
+    username: huimv
+    password: hm123456
+    #虚拟host 可以不设置,使用server默认host
+#    virtual-host: /dev
+
+    #确认消息已发送到交换机(Exchange)
+#    publisher-confirms: true #(过时、弃用)
+    publisher-confirm-type: correlated
+    #确认消息已发送到队列(Queue)
+    publisher-returns: true
+
+  #redis
+#  redis:
+#    database: 0
+#    host: 192.168.1.68
+#    port: 6379
+#    password: hm123456
+#    timeout: 5000ms
+#    jedis:
+#      pool:
+#        max-active: 20
+#        max-wait: -1
+#        max-idle: 10
+#        min-idle: 0
+#    lettuce:
+#      pool:
+#        max-active: 3
+#        min-idle: 2
+#        max-idle: 3
+#        max-wait: 1
+#      shutdown-timeout: 100
+
+#  data:
+#    redis:
+#      repositories:
+#        enabled: false
+
+  #是否缓存空值
+#  cache:
+#    redis:
+#      cache-null-values: false
+
+
+
+    #server:
+#  port: 9110
+#spring:
+#  application:
+#    name: huimv-hy-autoGetData
+#
+#  datasource:
+##    url: jdbc:mysql://47.98.175.112:3306/huimv_ql_farm_haiyan?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+#    #    url: jdbc:mysql://36.22.189.214:3306/huimv_ql_farm?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+#        url: jdbc:mysql://192.168.1.7:3306/huimv_ql_farm?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+#    username: root
+#    password: hm123456
+#    driver-class-name: com.mysql.cj.jdbc.Driver
+#  jpa:
+#    properties:
+#      hibernate:
+#        enable_lazy_load_no_trans: true
+#    show-sql: true
+#    database: mysql
+#    hibernate:
+#      ddl-auto: update
+#    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
+#    open-in-view: true
+management:
+  endpoints:
+    web:
+      exposure:
+        include: "*"   # * 在yaml 文件属于关键字,所以需要加引号
+

+ 89 - 0
huimv-env-input/src/main/resources/application-prod.yml

@@ -0,0 +1,89 @@
+server:
+  port: 8099
+
+spring:
+  application:
+    name: huimv-env-input
+
+  datasource:
+    url: jdbc:mysql://139.9.172.209:3309/huimv-farm-env?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    username: eartag
+    password: eartag@2022
+    driver-class-name: com.mysql.cj.jdbc.Driver
+  jpa:
+    show-sql: true
+    database: mysql
+    hibernate:
+      ddl-auto: update
+    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
+    open-in-view: true
+
+  #配置rabbitMq 服务器
+#  rabbitmq:
+#    host: 10.0.0.4
+#    port: 5672
+#    username: huimv
+#    password: hm123456
+#    #虚拟host 可以不设置,使用server默认host
+#    virtual-host: /
+  rabbitmq:
+    host: 121.36.134.218
+    port: 5672
+    username: admin
+    password: admin
+    #虚拟host 可以不设置,使用server默认host
+    virtual-host: /env
+
+    #确认消息已发送到交换机(Exchange)
+#    publisher-confirms: true #(过时、弃用)
+    publisher-confirm-type: correlated
+    #确认消息已发送到队列(Queue)
+    publisher-returns: true
+
+  #redis
+  redis:
+    host: 122.112.224.199
+    port: 6379
+    password: hm123456
+
+  data:
+    redis:
+      repositories:
+        enabled: false
+
+  #是否缓存空值
+  cache:
+    redis:
+      cache-null-values: false
+
+
+
+    #server:
+#  port: 9110
+#spring:
+#  application:
+#    name: huimv-hy-autoGetData
+#
+#  datasource:
+##    url: jdbc:mysql://47.98.175.112:3306/huimv_ql_farm_haiyan?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+#    #    url: jdbc:mysql://36.22.189.214:3306/huimv_ql_farm?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+#        url: jdbc:mysql://192.168.1.7:3306/huimv_ql_farm?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+#    username: root
+#    password: hm123456
+#    driver-class-name: com.mysql.cj.jdbc.Driver
+#  jpa:
+#    properties:
+#      hibernate:
+#        enable_lazy_load_no_trans: true
+#    show-sql: true
+#    database: mysql
+#    hibernate:
+#      ddl-auto: update
+#    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
+#    open-in-view: true
+management:
+  endpoints:
+    web:
+      exposure:
+        include: "*"   # * 在yaml 文件属于关键字,所以需要加引号
+

+ 34 - 0
huimv-env-input/src/main/resources/application.properties

@@ -0,0 +1,34 @@
+#spring.profiles.active=prod
+#spring.profiles.active=dev
+spring.profiles.active=prod
+
+#\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
+management.endpoints.web.exposure.include=*
+
+#########################################################
+###             \uFFFD\uFFFD\uFFFD\uFFFDundertow\u0221\uFFFD\uFFFDtomcat                ###
+
+#########################################################
+# \uFFFD\u01F7\uFFFD\uFFFD undertow \uFFFD\uFFFD\u05BE\uFFFD\uFFFD\u012C\uFFFD\uFFFD\u03AA false
+server.undertow.accesslog.enabled=false
+# \uFFFD\uFFFD\uFFFD\u00F7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05BE\uFFFD\uFFFD\uFFFD\uFFFD\u013F\u00BC
+server.undertow.accesslog.dir=logs
+# \u05B8\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u07F3\u0335\uFFFD I/0 \uFFFD\u07F3\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u012C\uFFFD\uFFFD\u03AA 2 \uFFFD\uFFFD\uFFFD\uFFFD CPU \uFFFD\u0138\uFFFD\uFFFD\uFFFD
+server.undertow.io-threads=
+# \u05B8\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u07F3\u0338\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u012C\uFFFD\uFFFD\u03AA I/O \uFFFD\u07F3\u0338\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD 8 \uFFFD\uFFFD
+server.undertow.worker-threads=
+# \uFFFD\uFFFD\uFFFD\uFFFD HTTP POST \uFFFD\uFFFD\uFFFD\u0775\uFFFD\uFFFD\uFFFD\uDB8E\uDD36\u0223\uFFFD\u012C\uFFFD\u03F2\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
+server.undertow.max-http-post-size=0
+
+#########################################################
+###   Actuator Monitor  --   Actuator configuration   ###
+#########################################################
+management.security.enabled=false
+
+# \uFFFD\uFFFD\uFFFD\u0774\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
+data.input.flow=2
+
+# \uFFFD\u01F7\uFFFD\u0434\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD(1:\u0434\uFFFD\uFFFD 0:\uFFFD\uFFFD\u0434\uFFFD\uFFFD)
+data.test.input=0
+
+

+ 24 - 0
huimv-env-input/src/main/resources/assembly.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<assembly>
+    <id>jar-with-dependencies</id>
+    <formats>
+        <format>jar</format>
+    </formats>
+    <includeBaseDirectory>false</includeBaseDirectory>
+    <dependencySets>
+        <!-- 默认的配置 -->
+        <dependencySet>
+            <outputDirectory>/</outputDirectory>
+            <useProjectArtifact>true</useProjectArtifact>
+            <unpack>true</unpack>
+            <scope>runtime</scope>
+        </dependencySet>
+        <!-- 增加scope类型为system的配置 -->
+        <dependencySet>
+            <outputDirectory>/</outputDirectory>
+            <useProjectArtifact>true</useProjectArtifact>
+            <unpack>true</unpack>
+            <scope>system</scope>
+        </dependencySet>
+    </dependencySets>
+</assembly>

+ 105 - 0
huimv-env-input/target/classes/application-dev.yml

@@ -0,0 +1,105 @@
+server:
+  port: 8093
+
+spring:
+  application:
+    name: huimv-env-input
+
+  datasource:
+    url: jdbc:mysql://115.238.57.190:3306/huimv-farm-env?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    username: root
+    password: hm123456
+    driver-class-name: com.mysql.cj.jdbc.Driver
+  jpa:
+    show-sql: true
+    database: mysql
+    hibernate:
+      ddl-auto: update
+    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
+    open-in-view: true
+
+  #配置rabbitMq 服务器
+#  rabbitmq:
+#    host: 10.0.0.4
+#    port: 5672
+#    username: huimv
+#    password: hm123456
+#    #虚拟host 可以不设置,使用server默认host
+#    virtual-host: /
+  rabbitmq:
+#    host: 192.168.1.82
+    host: 119.3.84.55
+    port: 5672
+    username: huimv
+    password: hm123456
+    #虚拟host 可以不设置,使用server默认host
+#    virtual-host: /dev
+
+    #确认消息已发送到交换机(Exchange)
+#    publisher-confirms: true #(过时、弃用)
+    publisher-confirm-type: correlated
+    #确认消息已发送到队列(Queue)
+    publisher-returns: true
+
+  #redis
+#  redis:
+#    database: 0
+#    host: 192.168.1.68
+#    port: 6379
+#    password: hm123456
+#    timeout: 5000ms
+#    jedis:
+#      pool:
+#        max-active: 20
+#        max-wait: -1
+#        max-idle: 10
+#        min-idle: 0
+#    lettuce:
+#      pool:
+#        max-active: 3
+#        min-idle: 2
+#        max-idle: 3
+#        max-wait: 1
+#      shutdown-timeout: 100
+
+#  data:
+#    redis:
+#      repositories:
+#        enabled: false
+
+  #是否缓存空值
+#  cache:
+#    redis:
+#      cache-null-values: false
+
+
+
+    #server:
+#  port: 9110
+#spring:
+#  application:
+#    name: huimv-hy-autoGetData
+#
+#  datasource:
+##    url: jdbc:mysql://47.98.175.112:3306/huimv_ql_farm_haiyan?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+#    #    url: jdbc:mysql://36.22.189.214:3306/huimv_ql_farm?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+#        url: jdbc:mysql://192.168.1.7:3306/huimv_ql_farm?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+#    username: root
+#    password: hm123456
+#    driver-class-name: com.mysql.cj.jdbc.Driver
+#  jpa:
+#    properties:
+#      hibernate:
+#        enable_lazy_load_no_trans: true
+#    show-sql: true
+#    database: mysql
+#    hibernate:
+#      ddl-auto: update
+#    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
+#    open-in-view: true
+management:
+  endpoints:
+    web:
+      exposure:
+        include: "*"   # * 在yaml 文件属于关键字,所以需要加引号
+

+ 89 - 0
huimv-env-input/target/classes/application-prod.yml

@@ -0,0 +1,89 @@
+server:
+  port: 8099
+
+spring:
+  application:
+    name: huimv-env-input
+
+  datasource:
+    url: jdbc:mysql://139.9.172.209:3309/huimv-farm-env?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    username: eartag
+    password: eartag@2022
+    driver-class-name: com.mysql.cj.jdbc.Driver
+  jpa:
+    show-sql: true
+    database: mysql
+    hibernate:
+      ddl-auto: update
+    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
+    open-in-view: true
+
+  #配置rabbitMq 服务器
+#  rabbitmq:
+#    host: 10.0.0.4
+#    port: 5672
+#    username: huimv
+#    password: hm123456
+#    #虚拟host 可以不设置,使用server默认host
+#    virtual-host: /
+  rabbitmq:
+    host: 121.36.134.218
+    port: 5672
+    username: admin
+    password: admin
+    #虚拟host 可以不设置,使用server默认host
+    virtual-host: /env
+
+    #确认消息已发送到交换机(Exchange)
+#    publisher-confirms: true #(过时、弃用)
+    publisher-confirm-type: correlated
+    #确认消息已发送到队列(Queue)
+    publisher-returns: true
+
+  #redis
+  redis:
+    host: 122.112.224.199
+    port: 6379
+    password: hm123456
+
+  data:
+    redis:
+      repositories:
+        enabled: false
+
+  #是否缓存空值
+  cache:
+    redis:
+      cache-null-values: false
+
+
+
+    #server:
+#  port: 9110
+#spring:
+#  application:
+#    name: huimv-hy-autoGetData
+#
+#  datasource:
+##    url: jdbc:mysql://47.98.175.112:3306/huimv_ql_farm_haiyan?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+#    #    url: jdbc:mysql://36.22.189.214:3306/huimv_ql_farm?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+#        url: jdbc:mysql://192.168.1.7:3306/huimv_ql_farm?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+#    username: root
+#    password: hm123456
+#    driver-class-name: com.mysql.cj.jdbc.Driver
+#  jpa:
+#    properties:
+#      hibernate:
+#        enable_lazy_load_no_trans: true
+#    show-sql: true
+#    database: mysql
+#    hibernate:
+#      ddl-auto: update
+#    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
+#    open-in-view: true
+management:
+  endpoints:
+    web:
+      exposure:
+        include: "*"   # * 在yaml 文件属于关键字,所以需要加引号
+

+ 34 - 0
huimv-env-input/target/classes/application.properties

@@ -0,0 +1,34 @@
+#spring.profiles.active=prod
+#spring.profiles.active=dev
+spring.profiles.active=prod
+
+#\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
+management.endpoints.web.exposure.include=*
+
+#########################################################
+###             \uFFFD\uFFFD\uFFFD\uFFFDundertow\u0221\uFFFD\uFFFDtomcat                ###
+
+#########################################################
+# \uFFFD\u01F7\uFFFD\uFFFD undertow \uFFFD\uFFFD\u05BE\uFFFD\uFFFD\u012C\uFFFD\uFFFD\u03AA false
+server.undertow.accesslog.enabled=false
+# \uFFFD\uFFFD\uFFFD\u00F7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05BE\uFFFD\uFFFD\uFFFD\uFFFD\u013F\u00BC
+server.undertow.accesslog.dir=logs
+# \u05B8\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u07F3\u0335\uFFFD I/0 \uFFFD\u07F3\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u012C\uFFFD\uFFFD\u03AA 2 \uFFFD\uFFFD\uFFFD\uFFFD CPU \uFFFD\u0138\uFFFD\uFFFD\uFFFD
+server.undertow.io-threads=
+# \u05B8\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u07F3\u0338\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u012C\uFFFD\uFFFD\u03AA I/O \uFFFD\u07F3\u0338\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD 8 \uFFFD\uFFFD
+server.undertow.worker-threads=
+# \uFFFD\uFFFD\uFFFD\uFFFD HTTP POST \uFFFD\uFFFD\uFFFD\u0775\uFFFD\uFFFD\uFFFD\uDB8E\uDD36\u0223\uFFFD\u012C\uFFFD\u03F2\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
+server.undertow.max-http-post-size=0
+
+#########################################################
+###   Actuator Monitor  --   Actuator configuration   ###
+#########################################################
+management.security.enabled=false
+
+# \uFFFD\uFFFD\uFFFD\u0774\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
+data.input.flow=2
+
+# \uFFFD\u01F7\uFFFD\u0434\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD(1:\u0434\uFFFD\uFFFD 0:\uFFFD\uFFFD\u0434\uFFFD\uFFFD)
+data.test.input=0
+
+

+ 24 - 0
huimv-env-input/target/classes/assembly.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<assembly>
+    <id>jar-with-dependencies</id>
+    <formats>
+        <format>jar</format>
+    </formats>
+    <includeBaseDirectory>false</includeBaseDirectory>
+    <dependencySets>
+        <!-- 默认的配置 -->
+        <dependencySet>
+            <outputDirectory>/</outputDirectory>
+            <useProjectArtifact>true</useProjectArtifact>
+            <unpack>true</unpack>
+            <scope>runtime</scope>
+        </dependencySet>
+        <!-- 增加scope类型为system的配置 -->
+        <dependencySet>
+            <outputDirectory>/</outputDirectory>
+            <useProjectArtifact>true</useProjectArtifact>
+            <unpack>true</unpack>
+            <scope>system</scope>
+        </dependencySet>
+    </dependencySets>
+</assembly>

二进制
huimv-env-input/target/classes/com/huimv/env/input/HuimvEnvInputApplication.class


二进制
huimv-env-input/target/classes/com/huimv/env/input/server/EnvInputServer$1.class


二进制
huimv-env-input/target/classes/com/huimv/env/input/server/EnvInputServer.class


二进制
huimv-env-input/target/classes/com/huimv/env/input/server/EnvInputServerHandler.class


二进制
huimv-env-input/target/huimv-new-env-input-0.0.1-SNAPSHOT.jar


二进制
huimv-env-input/target/huimv-new-env-input-0.0.1-SNAPSHOT.jar.original


+ 3 - 0
huimv-env-input/target/maven-archiver/pom.properties

@@ -0,0 +1,3 @@
+artifactId=huimv-new-env-input
+groupId=org.springframework.boot
+version=0.0.1-SNAPSHOT

+ 4 - 0
huimv-env-input/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -0,0 +1,4 @@
+com\huimv\env\input\HuimvEnvInputApplication.class
+com\huimv\env\input\server\EnvInputServerHandler.class
+com\huimv\env\input\server\EnvInputServer$1.class
+com\huimv\env\input\server\EnvInputServer.class

+ 10 - 0
huimv-env-input/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -0,0 +1,10 @@
+G:\idea\huimv-2022\huimv-new-input\huimv-env-input\src\main\java\com\huimv\env\input\service\impl\CommandProcessorServiceImpl.java
+G:\idea\huimv-2022\huimv-new-input\huimv-env-input\src\main\java\com\huimv\env\input\producer\Producer.java
+G:\idea\huimv-2022\huimv-new-input\huimv-env-input\src\main\java\com\huimv\env\input\utils\DSendSMS.java
+G:\idea\huimv-2022\huimv-new-input\huimv-env-input\src\main\java\com\huimv\env\input\server\EnvInputServerHandler.java
+G:\idea\huimv-2022\huimv-new-input\huimv-env-input\src\main\java\com\huimv\env\input\service\ICommandProcessorService.java
+G:\idea\huimv-2022\huimv-new-input\huimv-env-input\src\main\java\com\huimv\env\input\config\TopicRabbitMQConfig.java
+G:\idea\huimv-2022\huimv-new-input\huimv-env-input\src\main\java\com\huimv\env\input\HuimvEnvInputApplication.java
+G:\idea\huimv-2022\huimv-new-input\huimv-env-input\src\main\java\com\huimv\env\input\utils\DateUtil2.java
+G:\idea\huimv-2022\huimv-new-input\huimv-env-input\src\main\java\com\huimv\env\input\server\EnvInputServer.java
+G:\idea\huimv-2022\huimv-new-input\huimv-env-input\src\main\java\com\huimv\env\input\utils\SendSMS.java