Kaynağa Gözat

平台消息推送功能完成。

zhuoning 2 yıl önce
ebeveyn
işleme
b752ef3ed1
37 değiştirilmiş dosya ile 1325 ekleme ve 45 silme
  1. 25 0
      huimv-env-platform/.idea/compiler.xml
  2. 10 0
      huimv-env-platform/.idea/encodings.xml
  3. 36 0
      huimv-env-platform/.idea/inspectionProfiles/Project_Default.xml
  4. 14 0
      huimv-env-platform/.idea/misc.xml
  5. 124 0
      huimv-env-platform/.idea/uiDesigner.xml
  6. 6 0
      huimv-env-platform/.idea/vcs.xml
  7. 447 0
      huimv-env-platform/.idea/workspace.xml
  8. 43 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/BasePigpenEntity.java
  9. 8 2
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvPushMessgeEntity.java
  10. 14 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/BasePigpenEntityRepo.java
  11. 9 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvPushMessageEntityRepo.java
  12. 0 9
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvPushMessgeEntityRepo.java
  13. 6 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/IPigpenService.java
  14. 11 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/IPushMessageService.java
  15. 53 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/impl/PigpenServiceImpl.java
  16. 40 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/impl/PushMessageServiceImpl.java
  17. 3 0
      huimv-env-platform/huimv-env-common/target/maven-archiver/pom.properties
  18. 36 0
      huimv-env-platform/huimv-env-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  19. 36 0
      huimv-env-platform/huimv-env-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  20. 1 0
      huimv-env-platform/huimv-env-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
  21. 1 0
      huimv-env-platform/huimv-env-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
  22. 5 1
      huimv-env-platform/huimv-env-device/pom.xml
  23. 2 0
      huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/HuimvDeviceApplication.java
  24. 45 0
      huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/config/ConfigBean.java
  25. 30 8
      huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/listener/DeviceListener.java
  26. 8 0
      huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/service/ICommandParserService.java
  27. 3 0
      huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/service/IDeviceService.java
  28. 59 0
      huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/service/Show.java
  29. 29 0
      huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/service/impl/CommandParserServiceImpl.java
  30. 87 11
      huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/service/impl/DeviceServiceImpl.java
  31. 12 10
      huimv-env-platform/huimv-env-device/src/main/resources/application.properties
  32. 2 0
      huimv-env-platform/huimv-env-device/src/main/resources/conf/config.properties
  33. 61 0
      huimv-env-platform/huimv-env-device/src/test/java/com/huimv/env/device/service/DeviceTest.java
  34. 1 1
      huimv-env-platform/huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java
  35. 3 3
      huimv-env-platform/huimv-env-input/src/main/resources/application-test.yml
  36. 31 0
      huimv-env-platform/huimv-env-input/target/classes/application.properties
  37. 24 0
      huimv-env-platform/huimv-env-input/target/classes/assembly.xml

+ 25 - 0
huimv-env-platform/.idea/compiler.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <annotationProcessing>
+      <profile default="true" name="Default" enabled="true" />
+      <profile name="Maven default annotation processors profile" enabled="true">
+        <sourceOutputDir name="target/generated-sources/annotations" />
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
+        <outputRelativeToContentRoot value="true" />
+        <module name="huimv-env-input" />
+        <module name="huimv-env-common" />
+        <module name="huimv-env-manage" />
+        <module name="huimv-env-device" />
+      </profile>
+    </annotationProcessing>
+  </component>
+  <component name="JavacSettings">
+    <option name="ADDITIONAL_OPTIONS_OVERRIDE">
+      <module name="huimv-env-common" options="-parameters" />
+      <module name="huimv-env-device" options="-parameters" />
+      <module name="huimv-env-input" options="-parameters" />
+      <module name="huimv-env-manage" options="-parameters" />
+    </option>
+  </component>
+</project>

+ 10 - 0
huimv-env-platform/.idea/encodings.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Encoding" native2AsciiForPropertiesFiles="true" defaultCharsetForPropertiesFiles="UTF-8">
+    <file url="file://$PROJECT_DIR$/huimv-env-common/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/huimv-env-device/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/huimv-env-input/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/huimv-env-manage/src/main/java" charset="UTF-8" />
+    <file url="PROJECT" charset="UTF-8" />
+  </component>
+</project>

+ 36 - 0
huimv-env-platform/.idea/inspectionProfiles/Project_Default.xml

@@ -0,0 +1,36 @@
+<component name="InspectionProjectProfileManager">
+  <profile version="1.0">
+    <option name="myName" value="Project Default" />
+    <inspection_tool class="JavaDoc" enabled="true" level="WARNING" enabled_by_default="true">
+      <option name="TOP_LEVEL_CLASS_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="" />
+        </value>
+      </option>
+      <option name="INNER_CLASS_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="" />
+        </value>
+      </option>
+      <option name="METHOD_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="@return@param@throws or @exception" />
+        </value>
+      </option>
+      <option name="FIELD_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="" />
+        </value>
+      </option>
+      <option name="IGNORE_DEPRECATED" value="false" />
+      <option name="IGNORE_JAVADOC_PERIOD" value="true" />
+      <option name="IGNORE_DUPLICATED_THROWS" value="false" />
+      <option name="IGNORE_POINT_TO_ITSELF" value="false" />
+      <option name="myAdditionalJavadocTags" value="date" />
+    </inspection_tool>
+  </profile>
+</component>

+ 14 - 0
huimv-env-platform/.idea/misc.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="MavenProjectsManager">
+    <option name="originalFiles">
+      <list>
+        <option value="$PROJECT_DIR$/pom.xml" />
+      </list>
+    </option>
+  </component>
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>

+ 124 - 0
huimv-env-platform/.idea/uiDesigner.xml

@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Palette2">
+    <group name="Swing">
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+      </item>
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+        <initial-values>
+          <property name="text" value="Button" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="RadioButton" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="CheckBox" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="Label" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+          <preferred-size width="-1" height="20" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+      </item>
+    </group>
+  </component>
+</project>

+ 6 - 0
huimv-env-platform/.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
+  </component>
+</project>

+ 447 - 0
huimv-env-platform/.idea/workspace.xml

@@ -0,0 +1,447 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ChangeListManager">
+    <list default="true" id="aea4e25b-646a-4ad1-9dc9-156d47497795" name="Default Changelist" comment="新建环境控制平台">
+      <change afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/encodings.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/inspectionProfiles/Project_Default.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/uiDesigner.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/huimv-env-common/target/maven-archiver/pom.properties" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/huimv-env-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/huimv-env-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/huimv-env-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/huimv-env-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/huimv-env-input/target/classes/application-dev.yml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/huimv-env-input/target/classes/application.properties" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/huimv-env-input/target/classes/assembly.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvPushMessgeEntity.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvPushMessgeEntityRepo.java" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/huimv-env-device/pom.xml" beforeDir="false" afterPath="$PROJECT_DIR$/huimv-env-device/pom.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/huimv-env-device/src/main/java/com/huimv/env/device/HuimvDeviceApplication.java" beforeDir="false" afterPath="$PROJECT_DIR$/huimv-env-device/src/main/java/com/huimv/env/device/HuimvDeviceApplication.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/huimv-env-device/src/main/java/com/huimv/env/device/listener/DeviceListener.java" beforeDir="false" afterPath="$PROJECT_DIR$/huimv-env-device/src/main/java/com/huimv/env/device/listener/DeviceListener.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/huimv-env-device/src/main/java/com/huimv/env/device/service/IDeviceService.java" beforeDir="false" afterPath="$PROJECT_DIR$/huimv-env-device/src/main/java/com/huimv/env/device/service/IDeviceService.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/huimv-env-device/src/main/java/com/huimv/env/device/service/impl/DeviceServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/huimv-env-device/src/main/java/com/huimv/env/device/service/impl/DeviceServiceImpl.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/huimv-env-device/src/main/resources/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/huimv-env-device/src/main/resources/application.properties" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java" beforeDir="false" afterPath="$PROJECT_DIR$/huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/huimv-env-input/src/main/resources/application-test.yml" beforeDir="false" />
+    </list>
+    <option name="SHOW_DIALOG" value="false" />
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+    <option name="LAST_RESOLUTION" value="IGNORE" />
+  </component>
+  <component name="DatabaseView">
+    <option name="SHOW_INTERMEDIATE" value="true" />
+    <option name="GROUP_DATA_SOURCES" value="true" />
+    <option name="GROUP_SCHEMA" value="true" />
+    <option name="GROUP_CONTENTS" value="false" />
+    <option name="SORT_POSITIONED" value="false" />
+    <option name="SHOW_EMPTY_GROUPS" value="false" />
+    <option name="AUTO_SCROLL_FROM_SOURCE" value="false" />
+    <option name="HIDDEN_KINDS">
+      <set />
+    </option>
+    <expand>
+      <path>
+        <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
+        <item name="huimv-env-platform@192.168.1.7" type="feb32156:DbDataSourceImpl" />
+      </path>
+      <path>
+        <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
+        <item name="huimv-env-platform@192.168.1.7" type="feb32156:DbDataSourceImpl" />
+        <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
+      </path>
+      <path>
+        <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
+        <item name="huimv-env-platform@192.168.1.7" type="feb32156:DbDataSourceImpl" />
+        <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
+        <item name="huimv-env-platform: schema" type="76f4a085:MysqlImplModel$Schema" />
+      </path>
+      <path>
+        <item name="Database" type="3277223f:DatabaseStructure$DbRootGroup" />
+        <item name="huimv-env-platform@192.168.1.7" type="feb32156:DbDataSourceImpl" />
+        <item name="schemas" type="d4e8921:DatabaseStructure$FamilyGroup" />
+        <item name="huimv-env-platform: schema" type="76f4a085:MysqlImplModel$Schema" />
+        <item name="env_push_message: table" type="285a2a93:MysqlImplModel$Table" />
+      </path>
+    </expand>
+    <select />
+  </component>
+  <component name="FileTemplateManagerImpl">
+    <option name="RECENT_TEMPLATES">
+      <list>
+        <option value="Interface" />
+        <option value="Class" />
+      </list>
+    </option>
+  </component>
+  <component name="Git.Settings">
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/.." />
+    <option name="ROOT_SYNC" value="DONT_SYNC" />
+    <option name="UPDATE_TYPE" value="MERGE" />
+  </component>
+  <component name="MavenImportPreferences">
+    <option name="generalSettings">
+      <MavenGeneralSettings>
+        <option name="localRepository" value="D:\DevTools\apache-maven-3.6.3\repo" />
+        <option name="mavenHome" value="D:/DevTools/apache-maven-3.6.3" />
+        <option name="userSettingsFile" value="D:\DevTools\apache-maven-3.6.3\conf\settings.xml" />
+      </MavenGeneralSettings>
+    </option>
+    <option name="importingSettings">
+      <MavenImportingSettings>
+        <option name="importAutomatically" value="true" />
+      </MavenImportingSettings>
+    </option>
+  </component>
+  <component name="MavenRunner">
+    <option name="skipTests" value="true" />
+  </component>
+  <component name="ProjectId" id="2DRAkljOuo5rhdZolwesRAxO40D" />
+  <component name="ProjectLevelVcsManager" settingsEditedManually="true">
+    <ConfirmationsSetting value="1" id="Add" />
+  </component>
+  <component name="ProjectViewState">
+    <option name="hideEmptyMiddlePackages" value="true" />
+    <option name="showExcludedFiles" value="true" />
+    <option name="showLibraryContents" value="true" />
+  </component>
+  <component name="PropertiesComponent">
+    <property name="DatabaseDriversLRU" value="mysql" />
+    <property name="RequestMappingsPanelOrder0" value="0" />
+    <property name="RequestMappingsPanelOrder1" value="1" />
+    <property name="RequestMappingsPanelWidth0" value="75" />
+    <property name="RequestMappingsPanelWidth1" value="75" />
+    <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
+    <property name="WebServerToolWindowFactoryState" value="false" />
+    <property name="aspect.path.notification.shown" value="true" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/huimv-env-input/target/huimv-env-input-0.0.1-SNAPSHOT.jar" />
+    <property name="project.structure.last.edited" value="Modules" />
+    <property name="project.structure.proportion" value="0.15" />
+    <property name="project.structure.side.proportion" value="0.2" />
+    <property name="restartRequiresConfirmation" value="false" />
+    <property name="settings.editor.selected.configurable" value="spring.boot" />
+  </component>
+  <component name="RecentsManager">
+    <key name="MoveFile.RECENT_KEYS">
+      <recent name="D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-device\src\main\resources\config" />
+    </key>
+    <key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
+      <recent name="com.huimv.env.device.service" />
+      <recent name="com.huimv.env.common.service" />
+      <recent name="com.huimv.env.input" />
+    </key>
+    <key name="CopyClassDialog.RECENTS_KEY">
+      <recent name="com.huimv.env.device.producer" />
+      <recent name="com.huimv.env.common.utils" />
+      <recent name="com.huimv.env.device.config" />
+      <recent name="com.huimv.env.input.service" />
+      <recent name="com.huimv.env.input.service.impl" />
+    </key>
+    <key name="CopyFile.RECENT_KEYS">
+      <recent name="D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-device\src\main\resources" />
+      <recent name="D:\idea6\huimv.env.platform\huimv-env-platform" />
+      <recent name="D:\idea6\huimv.env.platform\huimv-env-platform\src\main\resources" />
+      <recent name="D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\config" />
+      <recent name="D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-manage\src\main\resources" />
+    </key>
+  </component>
+  <component name="RunManager" selected="Spring Boot.HuimvDeviceApplication">
+    <configuration name="HuimvEnvInputApplication" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
+      <option name="MAIN_CLASS_NAME" value="com.huimv.env.input.HuimvEnvInputApplication" />
+      <module name="huimv-env-input" />
+      <extension name="coverage">
+        <pattern>
+          <option name="PATTERN" value="com.huimv.env.input.*" />
+          <option name="ENABLED" value="true" />
+        </pattern>
+      </extension>
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+    <configuration name="DeviceTest.test1" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
+      <module name="huimv-env-device" />
+      <extension name="coverage">
+        <pattern>
+          <option name="PATTERN" value="com.huimv.env.device.service.*" />
+          <option name="ENABLED" value="true" />
+        </pattern>
+      </extension>
+      <option name="PACKAGE_NAME" value="com.huimv.env.device.service" />
+      <option name="MAIN_CLASS_NAME" value="com.huimv.env.device.service.DeviceTest" />
+      <option name="METHOD_NAME" value="test1" />
+      <option name="TEST_OBJECT" value="method" />
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+    <configuration name="DeviceTest.test2" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
+      <module name="huimv-env-device" />
+      <extension name="coverage">
+        <pattern>
+          <option name="PATTERN" value="com.huimv.env.device.service.*" />
+          <option name="ENABLED" value="true" />
+        </pattern>
+      </extension>
+      <option name="PACKAGE_NAME" value="com.huimv.env.device.service" />
+      <option name="MAIN_CLASS_NAME" value="com.huimv.env.device.service.DeviceTest" />
+      <option name="METHOD_NAME" value="test2" />
+      <option name="TEST_OBJECT" value="method" />
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+    <configuration name="DeviceTest.test3" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
+      <module name="huimv-env-device" />
+      <extension name="coverage">
+        <pattern>
+          <option name="PATTERN" value="com.huimv.env.device.service.*" />
+          <option name="ENABLED" value="true" />
+        </pattern>
+      </extension>
+      <option name="PACKAGE_NAME" value="com.huimv.env.device.service" />
+      <option name="MAIN_CLASS_NAME" value="com.huimv.env.device.service.DeviceTest" />
+      <option name="METHOD_NAME" value="test3" />
+      <option name="TEST_OBJECT" value="method" />
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+    <configuration name="HuimvDeviceApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot" temporary="true" nameIsGenerated="true">
+      <module name="huimv-env-device" />
+      <extension name="coverage">
+        <pattern>
+          <option name="PATTERN" value="com.huimv.env.device.*" />
+          <option name="ENABLED" value="true" />
+        </pattern>
+      </extension>
+      <option name="SPRING_BOOT_MAIN_CLASS" value="com.huimv.env.device.HuimvDeviceApplication" />
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+    <configuration name="HuimvEnvInputApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
+      <module name="huimv-env-input" />
+      <option name="SPRING_BOOT_MAIN_CLASS" value="com.huimv.env.input.HuimvEnvInputApplication" />
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+    <configuration name="HuimvEnvManageApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
+      <module name="huimv-env-manage" />
+      <option name="SPRING_BOOT_MAIN_CLASS" value="com.huimv.env.manage.HuimvEnvManageApplication" />
+      <method v="2">
+        <option name="Make" enabled="true" />
+      </method>
+    </configuration>
+    <recent_temporary>
+      <list>
+        <item itemvalue="Spring Boot.HuimvDeviceApplication" />
+        <item itemvalue="JUnit.DeviceTest.test3" />
+        <item itemvalue="JUnit.DeviceTest.test2" />
+        <item itemvalue="JUnit.DeviceTest.test1" />
+        <item itemvalue="Application.HuimvEnvInputApplication" />
+      </list>
+    </recent_temporary>
+  </component>
+  <component name="SshConsoleOptionsProvider">
+    <option name="myEncoding" value="UTF-8" />
+  </component>
+  <component name="SvnConfiguration">
+    <configuration />
+  </component>
+  <component name="TaskManager">
+    <task active="true" id="Default" summary="Default task">
+      <changelist id="aea4e25b-646a-4ad1-9dc9-156d47497795" name="Default Changelist" comment="" />
+      <created>1660651668359</created>
+      <option name="number" value="Default" />
+      <option name="presentableId" value="Default" />
+      <updated>1660651668359</updated>
+      <workItem from="1660651671780" duration="5159000" />
+      <workItem from="1660656904795" duration="283000" />
+      <workItem from="1660697575231" duration="8248000" />
+      <workItem from="1660706903290" duration="17179000" />
+      <workItem from="1660783913362" duration="33806000" />
+      <workItem from="1660826703552" duration="1451000" />
+      <workItem from="1660870213371" duration="8618000" />
+      <workItem from="1660885650555" duration="7810000" />
+    </task>
+    <task id="LOCAL-00001" summary="新建环境控制平台">
+      <created>1660656813145</created>
+      <option name="number" value="00001" />
+      <option name="presentableId" value="LOCAL-00001" />
+      <option name="project" value="LOCAL" />
+      <updated>1660656813145</updated>
+    </task>
+    <task id="LOCAL-00002" summary="修改数据库。">
+      <created>1660657120664</created>
+      <option name="number" value="00002" />
+      <option name="presentableId" value="LOCAL-00002" />
+      <option name="project" value="LOCAL" />
+      <updated>1660657120664</updated>
+    </task>
+    <task id="LOCAL-00003" summary="修改manage模块数据库">
+      <created>1660657178619</created>
+      <option name="number" value="00003" />
+      <option name="presentableId" value="LOCAL-00003" />
+      <option name="project" value="LOCAL" />
+      <updated>1660657178619</updated>
+    </task>
+    <task id="LOCAL-00004" summary="新建接收设备请求命令执行器功能">
+      <created>1660714829359</created>
+      <option name="number" value="00004" />
+      <option name="presentableId" value="LOCAL-00004" />
+      <option name="project" value="LOCAL" />
+      <updated>1660714829359</updated>
+    </task>
+    <task id="LOCAL-00005" summary="新建环境控制平台">
+      <created>1660737339002</created>
+      <option name="number" value="00005" />
+      <option name="presentableId" value="LOCAL-00005" />
+      <option name="project" value="LOCAL" />
+      <updated>1660737339002</updated>
+    </task>
+    <task id="LOCAL-00006" summary="新建添加温度数据功能。">
+      <created>1660793602921</created>
+      <option name="number" value="00006" />
+      <option name="presentableId" value="LOCAL-00006" />
+      <option name="project" value="LOCAL" />
+      <updated>1660793602921</updated>
+    </task>
+    <task id="LOCAL-00007" summary="新建传感器注册功能。">
+      <created>1660825387678</created>
+      <option name="number" value="00007" />
+      <option name="presentableId" value="LOCAL-00007" />
+      <option name="project" value="LOCAL" />
+      <updated>1660825387678</updated>
+    </task>
+    <task id="LOCAL-00008" summary="新建上报设备状态和平台推送消息功能。">
+      <created>1660827831751</created>
+      <option name="number" value="00008" />
+      <option name="presentableId" value="LOCAL-00008" />
+      <option name="project" value="LOCAL" />
+      <updated>1660827831751</updated>
+    </task>
+    <option name="localTasksCounter" value="9" />
+    <servers />
+  </component>
+  <component name="TypeScriptGeneratedFilesManager">
+    <option name="version" value="1" />
+  </component>
+  <component name="VcsManagerConfiguration">
+    <MESSAGE value="修改数据库。" />
+    <MESSAGE value="修改manage模块数据库" />
+    <MESSAGE value="新建接收设备请求命令执行器功能" />
+    <MESSAGE value="新建环境控制平台" />
+    <MESSAGE value="新建添加温度数据功能。" />
+    <MESSAGE value="新建传感器注册功能。" />
+    <MESSAGE value="新建上报设备状态和平台推送消息功能。" />
+    <option name="LAST_COMMIT_MESSAGE" value="新建上报设备状态和平台推送消息功能。" />
+  </component>
+  <component name="WindowStateProjectService">
+    <state x="552" y="181" key="#Assign_Data_Sources" timestamp="1660732859216">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="552" y="181" key="#Assign_Data_Sources/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660732859216" />
+    <state x="552" y="181" key="#Project_Structure" timestamp="1660875950290">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="552" y="181" key="#Project_Structure/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660875950290" />
+    <state x="552" y="181" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1660731614165">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="552" y="181" key="#com.intellij.execution.impl.EditConfigurationsDialog/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660731614165" />
+    <state x="765" y="228" key="#com.intellij.ide.util.MemberChooser" timestamp="1660888305350">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="765" y="228" key="#com.intellij.ide.util.MemberChooser/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660888305350" />
+    <state x="726" y="386" width="663" height="273" key="#com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesDialog.classes" timestamp="1660877046428">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="726" y="386" width="663" height="273" key="#com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesDialog.classes/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660877046428" />
+    <state x="690" y="269" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog" timestamp="1660735806192">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="690" y="269" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660735806192" />
+    <state x="461" y="216" key="CommitChangelistDialog2" timestamp="1660827827955">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="461" y="216" key="CommitChangelistDialog2/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660827827955" />
+    <state x="740" y="278" key="FileChooserDialogImpl" timestamp="1660886564959">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="740" y="278" key="FileChooserDialogImpl/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660886564959" />
+    <state width="1877" height="415" key="GridCell.Tab.0.bottom" timestamp="1660893777313">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state width="1877" height="415" key="GridCell.Tab.0.bottom/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660893777313" />
+    <state width="1877" height="415" key="GridCell.Tab.0.center" timestamp="1660893777313">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state width="1877" height="415" key="GridCell.Tab.0.center/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660893777313" />
+    <state width="1877" height="415" key="GridCell.Tab.0.left" timestamp="1660893777312">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state width="1877" height="415" key="GridCell.Tab.0.left/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660893777312" />
+    <state width="1877" height="415" key="GridCell.Tab.0.right" timestamp="1660893777313">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state width="1877" height="415" key="GridCell.Tab.0.right/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660893777313" />
+    <state width="1877" height="415" key="GridCell.Tab.1.bottom" timestamp="1660893777314">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state width="1877" height="415" key="GridCell.Tab.1.bottom/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660893777314" />
+    <state width="1877" height="415" key="GridCell.Tab.1.center" timestamp="1660893777314">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state width="1877" height="415" key="GridCell.Tab.1.center/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660893777314" />
+    <state width="1877" height="415" key="GridCell.Tab.1.left" timestamp="1660893777314">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state width="1877" height="415" key="GridCell.Tab.1.left/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660893777314" />
+    <state width="1877" height="415" key="GridCell.Tab.1.right" timestamp="1660893777314">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state width="1877" height="415" key="GridCell.Tab.1.right/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660893777314" />
+    <state x="574" y="255" key="JpaSupport:com.ifengxue.plugin.gui.AutoGeneratorSettingsDialog" timestamp="1660890506857">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="574" y="255" key="JpaSupport:com.ifengxue.plugin.gui.AutoGeneratorSettingsDialog/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660890506857" />
+    <state x="686" y="235" key="JpaSupport:com.ifengxue.plugin.gui.SelectTablesDialog" timestamp="1660890514282">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="686" y="235" key="JpaSupport:com.ifengxue.plugin.gui.SelectTablesDialog/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660890514282" />
+    <state x="463" y="165" key="SettingsEditor" timestamp="1660887639846">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="463" y="165" key="SettingsEditor/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660887639846" />
+    <state x="552" y="256" key="Vcs.Push.Dialog.v2" timestamp="1660827833395">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="552" y="256" key="Vcs.Push.Dialog.v2/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660827833395" />
+    <state x="754" y="438" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2" timestamp="1660886422568">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="754" y="438" key="com.intellij.openapi.vcs.update.UpdateOrStatusOptionsDialogupdate-v2/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660886422568" />
+    <state x="580" y="246" width="759" height="548" key="find.popup" timestamp="1660811518616">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="580" y="246" width="759" height="548" key="find.popup/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660811518616" />
+    <state x="334" y="46" key="new project wizard" timestamp="1660737465619">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="334" y="46" key="new project wizard/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660737465619" />
+    <state x="663" y="152" key="refactoring.ChangeSignatureDialog" timestamp="1660889427219">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="663" y="152" key="refactoring.ChangeSignatureDialog/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660889427219" />
+    <state x="623" y="225" width="672" height="678" key="search.everywhere.popup" timestamp="1660827351945">
+      <screen x="0" y="0" width="1920" height="1040" />
+    </state>
+    <state x="623" y="225" width="672" height="678" key="search.everywhere.popup/-1920.0.1920.1040/0.0.1920.1040@0.0.1920.1040" timestamp="1660827351945" />
+  </component>
+</project>

+ 43 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/BasePigpenEntity.java

@@ -0,0 +1,43 @@
+package com.huimv.env.common.dao.entity;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+@Entity
+@Table(name = "base_pigpen")
+@Data
+@Accessors(chain = true)
+public class BasePigpenEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "pigpen_code")
+    private String pigpenCode;
+
+    @Column(name = "pigpen_name")
+    private String pigpenName;
+
+    @Column(name = "parent_id")
+    private Integer parentId;
+
+    @Column(name = "f_type")
+    private Integer type;
+
+    @Column(name = "farm_code")
+    private String farmCode;
+
+    @Column(name = "sort")
+    private Integer sort;
+
+    @Column(name = "stage_code")
+    private String stageCode;
+
+}

+ 8 - 2
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvPushMessgeEntity.java

@@ -9,10 +9,10 @@ import java.sql.Date;
 import java.sql.Timestamp;
 
 @Entity
-@Table(name = "env_push_messge")
+@Table(name = "env_push_message")
 @Data
 @Accessors(chain = true)
-public class EnvPushMessgeEntity implements Serializable {
+public class EnvPushMessageEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
@@ -42,4 +42,10 @@ public class EnvPushMessgeEntity implements Serializable {
     @Column(name = "farm_code")
     private String farmCode;
 
+    @Column(name = "display")
+    private Integer display;
+
+    @Column(name = "ask_time")
+    private String askTime;
+
 }

+ 14 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/BasePigpenEntityRepo.java

@@ -0,0 +1,14 @@
+package com.huimv.env.common.dao.repo;
+
+import com.huimv.env.common.dao.entity.BasePigpenEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+
+import java.util.List;
+
+public interface BasePigpenEntityRepo extends JpaRepository<BasePigpenEntity, Integer>, JpaSpecificationExecutor<BasePigpenEntity> {
+
+    @Query(nativeQuery=true, value="SELECT temp.pigpen_name,p2.pigpen_name unit_name FROM (SELECT r.unit_id,p.pigpen_name FROM env_device_register r LEFT JOIN base_pigpen p ON r.pigpen_id=p.id WHERE device_code=?1) temp LEFT JOIN base_pigpen p2 ON temp.unit_id=p2.id")
+    List<Object[]> getPigpenByDevice(String device);
+}

+ 9 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvPushMessageEntityRepo.java

@@ -0,0 +1,9 @@
+package com.huimv.env.common.dao.repo;
+
+import com.huimv.env.common.dao.entity.EnvPushMessageEntity;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface EnvPushMessageEntityRepo extends JpaRepository<EnvPushMessageEntity, Integer>, JpaSpecificationExecutor<EnvPushMessageEntity> {
+
+}

+ 0 - 9
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvPushMessgeEntityRepo.java

@@ -1,9 +0,0 @@
-package com.huimv.env.common.dao.repo;
-
-import com.huimv.env.common.dao.entity.EnvPushMessgeEntity;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
-
-public interface EnvPushMessgeEntityRepo extends JpaRepository<EnvPushMessgeEntity, Integer>, JpaSpecificationExecutor<EnvPushMessgeEntity> {
-
-}

+ 6 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/IPigpenService.java

@@ -0,0 +1,6 @@
+package com.huimv.env.common.service;
+
+public interface IPigpenService {
+
+    String getPigpenByDevice(String device);
+}

+ 11 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/IPushMessageService.java

@@ -0,0 +1,11 @@
+package com.huimv.env.common.service;
+
+import com.alibaba.fastjson.JSONObject;
+
+import java.sql.Date;
+import java.sql.Timestamp;
+
+public interface IPushMessageService {
+
+    void savePushMessageFlow(JSONObject dataJo, String messageContent, Timestamp nowTimestamp, Date todayDate, String farmCode);
+}

+ 53 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/impl/PigpenServiceImpl.java

@@ -0,0 +1,53 @@
+package com.huimv.env.common.service.impl;
+
+import com.huimv.env.common.dao.repo.BasePigpenEntityRepo;
+import com.huimv.env.common.service.IPigpenService;
+import org.junit.platform.commons.util.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@Service
+public class PigpenServiceImpl implements IPigpenService {
+    @Autowired
+    private BasePigpenEntityRepo basePigpenRepo;
+
+    @Override
+    public String getPigpenByDevice(String device) {
+        //根据设备读取栋舍
+        List<Object[]> pigpenList = basePigpenRepo.getPigpenByDevice(device);
+        if(pigpenList.size()==0){
+            return "";
+        }else{
+            StringBuilder sb = new StringBuilder();
+            for(int a=0;a<pigpenList.size();a++){
+                Object[] objArray = pigpenList.get(0);
+//                sb.append(objArray[0]).append(",").append(objArray[1]);
+                // 栋舍
+                if(objArray[0] != null){
+                    if(sb.length()>0){
+                        sb.append(",");
+                    }
+                    sb.append(objArray[0]);
+                }
+                //单元
+                if(objArray[1] != null){
+                    if(sb.length()>0){
+                        sb.append(",");
+                    }
+                    sb.append(objArray[1]);
+                }
+            }
+            return sb.toString();
+        }
+    }
+}

+ 40 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/impl/PushMessageServiceImpl.java

@@ -0,0 +1,40 @@
+package com.huimv.env.common.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.huimv.env.common.dao.entity.EnvPushMessageEntity;
+import com.huimv.env.common.dao.repo.EnvPushMessageEntityRepo;
+import com.huimv.env.common.service.IPushMessageService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.sql.Date;
+import java.sql.Timestamp;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@Service
+public class PushMessageServiceImpl implements IPushMessageService {
+    @Autowired
+    private EnvPushMessageEntityRepo pushMessageEntityRepo;
+
+    @Override
+    public void savePushMessageFlow(JSONObject dataJo, String messageContent, Timestamp nowTimestamp, Date todayDate, String farmCode) {
+        EnvPushMessageEntity pushMessageEntity = new EnvPushMessageEntity();
+        pushMessageEntity.setDeviceCode(dataJo.getString("deviceCode"));
+        pushMessageEntity.setFaultSn(dataJo.getInteger("cmd"));
+        pushMessageEntity.setContent(messageContent);
+        pushMessageEntity.setActType(dataJo.getInteger("actType"));
+        pushMessageEntity.setAddTime(nowTimestamp);
+        pushMessageEntity.setAddDate(todayDate);
+        pushMessageEntity.setFarmCode(farmCode);
+        pushMessageEntity.setAskTime(dataJo.getString("askTime"));
+        pushMessageEntityRepo.saveAndFlush(pushMessageEntity);
+
+    }
+}

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

@@ -0,0 +1,3 @@
+artifactId=huimv-env-common
+groupId=com.huimv
+version=0.0.1-SNAPSHOT

+ 36 - 0
huimv-env-platform/huimv-env-common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -0,0 +1,36 @@
+com\huimv\env\common\dao\entity\EnvSprayTimeEntity.class
+com\huimv\env\common\dao\repo\EnvAmmoniaEntityRepo.class
+com\huimv\env\common\dao\repo\EnvSprayTimeEntityRepo.class
+com\huimv\env\common\dao\entity\EnvDeviceRegisterEntity.class
+com\huimv\env\common\dao\entity\EnvSprayStatusEntity.class
+com\huimv\env\common\dao\entity\EnvAmmoniaEntity.class
+com\huimv\env\common\service\ISensorRegisterService.class
+com\huimv\env\common\dao\entity\EnvPushMessageEntity.class
+com\huimv\env\common\service\IPigpenService.class
+com\huimv\env\common\utils\RegexUtil.class
+com\huimv\env\common\dao\repo\EnvTempThresholdEntityRepo.class
+com\huimv\env\common\utils\Const.class
+com\huimv\env\common\service\impl\SensorRegisterServiceImpl.class
+com\huimv\env\common\service\IDeviceRegisterService.class
+com\huimv\env\common\dao\entity\EnvHumiEntity.class
+com\huimv\env\common\dao\repo\EnvAlarmTypeEntityRepo.class
+com\huimv\env\common\dao\repo\EnvHumiEntityRepo.class
+com\huimv\env\common\dao\repo\EnvTempEntityRepo.class
+com\huimv\env\common\dao\repo\EnvDeviceRegisterEntityRepo.class
+com\huimv\env\common\dao\repo\EnvSensorRegisterEntityRepo.class
+com\huimv\env\common\service\impl\PigpenServiceImpl.class
+com\huimv\env\common\dao\entity\EnvAlarmTypeEntity.class
+com\huimv\env\common\service\impl\PushMessageServiceImpl.class
+com\huimv\env\common\service\impl\DeviceRegisterServiceImpl.class
+com\huimv\env\common\service\IPushMessageService.class
+com\huimv\env\common\dao\entity\EnvSprayConfigEntity.class
+com\huimv\env\common\dao\repo\EnvSprayConfigEntityRepo.class
+com\huimv\env\common\dao\entity\EnvTempThresholdEntity.class
+com\huimv\env\common\dao\repo\BasePigpenEntityRepo.class
+com\huimv\env\common\dao\repo\EnvPushMessageEntityRepo.class
+com\huimv\env\common\utils\DateUtil.class
+com\huimv\env\common\utils\MathUtil.class
+com\huimv\env\common\dao\entity\EnvSensorRegisterEntity.class
+com\huimv\env\common\dao\repo\EnvSprayStatusEntityRepo.class
+com\huimv\env\common\dao\entity\EnvTempEntity.class
+com\huimv\env\common\dao\entity\BasePigpenEntity.class

+ 36 - 0
huimv-env-platform/huimv-env-common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -0,0 +1,36 @@
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\entity\BasePigpenEntity.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\entity\EnvTempEntity.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\repo\EnvDeviceRegisterEntityRepo.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\repo\EnvPushMessageEntityRepo.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\entity\EnvSprayConfigEntity.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\repo\EnvAlarmTypeEntityRepo.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\entity\EnvPushMessageEntity.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\entity\EnvSprayTimeEntity.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\repo\BasePigpenEntityRepo.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\repo\EnvTempThresholdEntityRepo.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\utils\DateUtil.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\entity\EnvSprayStatusEntity.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\repo\EnvSprayStatusEntityRepo.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\service\IPushMessageService.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\utils\Const.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\utils\RegexUtil.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\repo\EnvSprayTimeEntityRepo.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\service\impl\DeviceRegisterServiceImpl.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\service\impl\SensorRegisterServiceImpl.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\entity\EnvAlarmTypeEntity.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\service\impl\PigpenServiceImpl.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\service\ISensorRegisterService.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\repo\EnvSensorRegisterEntityRepo.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\repo\EnvTempEntityRepo.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\repo\EnvAmmoniaEntityRepo.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\service\IDeviceRegisterService.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\entity\EnvTempThresholdEntity.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\service\impl\PushMessageServiceImpl.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\repo\EnvSprayConfigEntityRepo.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\entity\EnvAmmoniaEntity.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\service\IPigpenService.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\utils\MathUtil.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\entity\EnvSensorRegisterEntity.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\entity\EnvHumiEntity.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\entity\EnvDeviceRegisterEntity.java
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\main\java\com\huimv\env\common\dao\repo\EnvHumiEntityRepo.java

+ 1 - 0
huimv-env-platform/huimv-env-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst

@@ -0,0 +1 @@
+com\huimv\env\common\CodeGenerator.class

+ 1 - 0
huimv-env-platform/huimv-env-common/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst

@@ -0,0 +1 @@
+D:\idea6\huimv.env.platform\huimv-env-platform\huimv-env-common\src\test\java\com\huimv\env\common\CodeGenerator.java

+ 5 - 1
huimv-env-platform/huimv-env-device/pom.xml

@@ -66,6 +66,11 @@
             <scope>test</scope>
         </dependency>
         <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
             <scope>compile</scope>
@@ -75,7 +80,6 @@
             <groupId>com.alibaba</groupId>
             <artifactId>fastjson</artifactId>
         </dependency>
-
         <!--hutool-->
         <dependency>
             <groupId>cn.hutool</groupId>

+ 2 - 0
huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/HuimvDeviceApplication.java

@@ -3,6 +3,7 @@ package com.huimv.env.device;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.ComponentScans;
 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
@@ -19,6 +20,7 @@ import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
         @ComponentScan("com.huimv.env.common.service")})
 @EntityScan(value = "com.huimv.env.common.dao.entity")
 @EnableJpaRepositories(basePackages = "com.huimv.env.common.dao.repo")
+@EnableConfigurationProperties
 @SpringBootApplication
 public class HuimvDeviceApplication {
     public static void main(String[] args) {

+ 45 - 0
huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/config/ConfigBean.java

@@ -0,0 +1,45 @@
+package com.huimv.env.device.config;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.PropertySource;
+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
+ **/
+@ConfigurationProperties(prefix = "config")
+@PropertySource("classpath:conf/config.properties")
+@Component
+public class ConfigBean {
+    private String fault;
+    private String act;
+
+    public String getFault() {
+        return fault;
+    }
+
+    public void setFault(String fault) {
+        this.fault = fault;
+    }
+
+    public String getAct() {
+        return act;
+    }
+
+    public void setAct(String act) {
+        this.act = act;
+    }
+
+    @Override
+    public String toString() {
+        return "ConfigBean{" +
+                "fault='" + fault + '\'' +
+                ", act='" + act + '\'' +
+                '}';
+    }
+}

+ 30 - 8
huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/listener/DeviceListener.java

@@ -9,16 +9,19 @@ import com.huimv.env.common.dao.repo.EnvAmmoniaEntityRepo;
 import com.huimv.env.common.dao.repo.EnvHumiEntityRepo;
 import com.huimv.env.common.dao.repo.EnvTempEntityRepo;
 import com.huimv.env.common.service.IDeviceRegisterService;
+import com.huimv.env.common.service.IPushMessageService;
 import com.huimv.env.common.service.ISensorRegisterService;
 import com.huimv.env.common.utils.Const;
 import com.huimv.env.common.utils.DateUtil;
 import com.huimv.env.common.utils.MathUtil;
 import com.huimv.env.device.producer.Producer;
+import com.huimv.env.device.service.ICommandParserService;
 import com.huimv.env.device.service.IDeviceService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.rabbit.annotation.RabbitHandler;
 import org.springframework.amqp.rabbit.annotation.RabbitListener;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -47,6 +50,10 @@ public class DeviceListener {
     private IDeviceService deviceService;
     @Autowired
     private MathUtil mathUtil;
+    @Autowired
+    private ICommandParserService cmdParserService;
+    @Autowired
+    private IPushMessageService pushMessageService;
 
     @RabbitListener(queues = Const.QUEUE_TEMP)
     @RabbitHandler
@@ -116,10 +123,10 @@ public class DeviceListener {
         java.sql.Date todayDate = new java.sql.Date(new java.util.Date().getTime());
         Timestamp nowTimestamp = new Timestamp(new java.util.Date().getTime());
         String deviceCode = dataJo.getString("deviceCode");
-        //根据设备编码获取设备注册信息
-        EnvDeviceRegisterEntity envDeviceRegisterEntity = deviceRegisterService.getDeviceRegisterByDeviceCode(dataJo.getString("deviceCode"));
-        if (envDeviceRegisterEntity == null) {
-            log.error("该设备[" + dataJo.getString("deviceCode") + "]未注册.");
+        //取设备注册信息
+        EnvDeviceRegisterEntity envDeviceRegisterEntity = deviceRegisterService.getDeviceRegisterByDeviceCode(deviceCode);
+        if(envDeviceRegisterEntity == null){
+            log.error("该设备[" + deviceCode + "]未注册.");
             return;
         }
         String farmCode = envDeviceRegisterEntity.getFarmCode();
@@ -138,7 +145,7 @@ public class DeviceListener {
         System.out.println(">>>>>>>>>>>>>>接收设备状态数据 RawMap>>" + RawMap.toString());
         String askText = RawMap.get("askText").toString();
         JSONObject dataJo = deviceService.handleAskText(askText);
-        System.out.println("设备状态=" + dataJo);
+        System.out.println("设备状态 1111111111111111111111111111 =" + dataJo);
 
 
 
@@ -150,11 +157,26 @@ public class DeviceListener {
     public void processPushMessage(Map RawMap) throws ParseException {
         System.out.println(">>>>>>>>>>>>>>接收平台推送消息 RawMap>>" + RawMap.toString());
         String askText = RawMap.get("askText").toString();
-        JSONObject dataJo = deviceService.handleAskText(askText);
-        System.out.println("平台推送消息=" + dataJo);
+        JSONObject dataJo = cmdParserService.handlePushMessageCmd(askText);
+        System.out.println("平台推送消息 2222222222222222222222222222222=" + dataJo);
+        String deviceCode = dataJo.getString("deviceCode");
+        //读取设备注册信息
+        EnvDeviceRegisterEntity envDeviceRegisterEntity = deviceRegisterService.getDeviceRegisterByDeviceCode(deviceCode);
+        if(envDeviceRegisterEntity == null){
+            log.error("该设备[" + deviceCode + "]未注册.");
+            return;
+        }
+        java.sql.Date todayDate = new java.sql.Date(new java.util.Date().getTime());
+        Timestamp nowTimestamp = new Timestamp(new java.util.Date().getTime());
+        String farmCode = envDeviceRegisterEntity.getFarmCode();
+        //{}
+        String messageContent = deviceService.getMessageContent(dataJo,envDeviceRegisterEntity);
+        System.out.println("messageContent="+messageContent);
+        //{保存消息推送流水}
+        pushMessageService.savePushMessageFlow(dataJo,messageContent,nowTimestamp,todayDate,farmCode);
+    }
 
 
 
-    }
 
 }

+ 8 - 0
huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/service/ICommandParserService.java

@@ -0,0 +1,8 @@
+package com.huimv.env.device.service;
+
+import com.alibaba.fastjson.JSONObject;
+
+public interface ICommandParserService {
+    //
+    JSONObject handlePushMessageCmd(String askText);
+}

+ 3 - 0
huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/service/IDeviceService.java

@@ -20,4 +20,7 @@ public interface IDeviceService {
 
     //
     JSONObject handleAskText(String askText);
+
+    //
+    String getMessageContent(JSONObject dataJo, EnvDeviceRegisterEntity envDeviceRegisterEntity);
 }

+ 59 - 0
huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/service/Show.java

@@ -0,0 +1,59 @@
+package com.huimv.env.device.service;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import org.junit.platform.commons.annotation.Testable;
+import org.springframework.beans.factory.annotation.Value;
+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 Show {
+    @Value("${push.message.fault.list}")
+    private String faultList;
+    @Value("${push.message.act.list}")
+    private String actList;
+
+    public void show1(){
+        System.out.println("faultList="+faultList);
+        String[] faultGroupArray = faultList.split(",");
+        JSONArray faultJa = new JSONArray();
+        for(int a=0;a<faultGroupArray.length;a++){
+            String falutGroup = faultGroupArray[a];
+            String[] faultArray =  falutGroup.split(":");
+            JSONObject newJo = new JSONObject();
+            faultJa.add(newJo);
+            newJo.put("id",faultArray[0]);
+            newJo.put("fault",faultArray[1]);
+        }
+
+        for(int a=0;a<faultJa.size();a++){
+            System.out.println(faultJa.getJSONObject(a));
+        }
+    }
+
+    public void show2(){
+        System.out.println("actList="+actList);
+        String[] actGroupArray = actList.split(",");
+        JSONArray actJa = new JSONArray();
+        for(int a=0;a<actGroupArray.length;a++){
+            String actGroup = actGroupArray[a];
+            String[] actArray =  actGroup.split(":");
+            JSONObject newJo = new JSONObject();
+            actJa.add(newJo);
+            newJo.put("id",actArray[0]);
+            newJo.put("fault",actArray[1]);
+        }
+
+        for(int a=0;a<actJa.size();a++){
+            System.out.println(actJa.getJSONObject(a));
+        }
+    }
+}

+ 29 - 0
huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/service/impl/CommandParserServiceImpl.java

@@ -0,0 +1,29 @@
+package com.huimv.env.device.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.huimv.env.device.service.ICommandParserService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@Service
+public class CommandParserServiceImpl implements ICommandParserService {
+
+    @Override
+    public JSONObject handlePushMessageCmd(String askText) {
+        String[] dataArray = askText.split("\\+");
+        JSONObject dataJo = new JSONObject();
+        dataJo.put("deviceCode", dataArray[1]);
+        dataJo.put("cmd", dataArray[2]);
+        dataJo.put("faultSn", dataArray[3]);
+        dataJo.put("actType", dataArray[4]);
+        dataJo.put("askTime", dataArray[5]);
+        return dataJo;
+    }
+}

+ 87 - 11
huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/service/impl/DeviceServiceImpl.java

@@ -8,10 +8,11 @@ import com.huimv.env.common.dao.entity.EnvTempEntity;
 import com.huimv.env.common.dao.repo.EnvAmmoniaEntityRepo;
 import com.huimv.env.common.dao.repo.EnvHumiEntityRepo;
 import com.huimv.env.common.dao.repo.EnvTempEntityRepo;
-import com.huimv.env.common.service.IDeviceRegisterService;
+import com.huimv.env.common.service.IPigpenService;
 import com.huimv.env.common.service.ISensorRegisterService;
 import com.huimv.env.common.utils.DateUtil;
 import com.huimv.env.common.utils.MathUtil;
+import com.huimv.env.device.config.ConfigBean;
 import com.huimv.env.device.producer.Producer;
 import com.huimv.env.device.service.IDeviceService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -45,31 +46,35 @@ public class DeviceServiceImpl implements IDeviceService {
     private Producer producer;
     @Autowired
     private ISensorRegisterService sensorRegisterService;
+    @Autowired
+    private ConfigBean configBean;
+    @Autowired
+    private IPigpenService pigpenService;
 
     @Override
     public void sendSensorToMQ(String deviceCode, Integer sensorSn, Timestamp nowTimestamp, Date todayDate, String value, String farmCode, int sensorSort) {
         JSONObject sensorJo = new JSONObject();
-        sensorJo.put("deviceCode",deviceCode);
-        sensorJo.put("sensorSn",sensorSn);
-        sensorJo.put("timestamp",nowTimestamp);
-        sensorJo.put("todayDate",todayDate);
-        sensorJo.put("value",value);
-        sensorJo.put("farmCode",farmCode);
-        sensorJo.put("sensorSort",sensorSort);
+        sensorJo.put("deviceCode", deviceCode);
+        sensorJo.put("sensorSn", sensorSn);
+        sensorJo.put("timestamp", nowTimestamp);
+        sensorJo.put("todayDate", todayDate);
+        sensorJo.put("value", value);
+        sensorJo.put("farmCode", farmCode);
+        sensorJo.put("sensorSort", sensorSort);
         producer.sendSensorAskToMQ(sensorJo);
     }
 
 
     //更新传感器数据
     private void updateSensorRegister(String deviceCode, int sensorSn, Timestamp nowTimestamp, Date todayDate, String value, String farmCode, int sensorSort) {
-        if (sensorRegisterService.isExistSensorRegister(deviceCode, sensorSn, farmCode,sensorSort)) {
+        if (sensorRegisterService.isExistSensorRegister(deviceCode, sensorSn, farmCode, sensorSort)) {
             System.out.println("更新...");
             //{更新传感器注册信息}
-            sensorRegisterService.updateSensorRegister(deviceCode, sensorSn, nowTimestamp, todayDate, value, farmCode,sensorSort);
+            sensorRegisterService.updateSensorRegister(deviceCode, sensorSn, nowTimestamp, todayDate, value, farmCode, sensorSort);
         } else {
             System.out.println("新建...");
             //{保存传感器注册信息}
-            sensorRegisterService.saveSensorRegister(deviceCode, sensorSn, nowTimestamp, todayDate, value, farmCode,sensorSort);
+            sensorRegisterService.saveSensorRegister(deviceCode, sensorSn, nowTimestamp, todayDate, value, farmCode, sensorSort);
         }
     }
 
@@ -131,6 +136,77 @@ public class DeviceServiceImpl implements IDeviceService {
         return buildDataObj(dataArray);
     }
 
+    @Override
+    public String getMessageContent(JSONObject dataJo, EnvDeviceRegisterEntity envDeviceRegisterEntity) {
+        String act = configBean.getAct();
+        String fault = configBean.getFault();
+        System.out.println("<< act="+act);
+        System.out.println("<< fault="+fault);
+        //获取栋舍
+        String pigpenName = pigpenService.getPigpenByDevice(dataJo.getString("deviceCode"));
+
+        //芯片ID
+        String chipId = envDeviceRegisterEntity.getChipId();
+
+        int faultSn = dataJo.getInteger("faultSn");
+        int actType = dataJo.getInteger("actType");
+        System.out.println("<< faultSn="+faultSn);
+        System.out.println("<< actType="+actType);
+        //
+        String faultText = getFaultText(faultSn, fault);
+        System.out.println("<< faultText="+faultText);
+
+        //1:报警 2:恢复
+        String actText = getActText(actType, act);
+        System.out.println("<< actText="+actText);
+        String messageConent = "";
+        if (actType == 1) {
+            if (faultText.indexOf("报警") == -1) {
+                messageConent = faultText + actText;
+            } else {
+                messageConent = faultText;
+            }
+        } else {
+            messageConent = faultText+"已"+actText;
+        }
+        System.out.println("<< messageConent="+messageConent);
+
+        //2栋的芯片ID[86178908]高温报警
+        return "["+pigpenName+"]芯片ID为["+chipId+"]的设备提示:"+messageConent;
+    }
+
+    private String getActText(int actType, String act) {
+        String[] actGroupArray = act.split(",");
+        String actText = "";
+        for (int a = 0; a < actGroupArray.length; a++) {
+            String actGroup = actGroupArray[a];
+            String[] actArray = actGroup.split(":");
+            JSONObject newJo = new JSONObject();
+            newJo.put("id", actArray[0]);
+            newJo.put("fault", actArray[1]);
+            if (Integer.parseInt(actArray[0]) == actType) {
+                actText = actArray[1];
+                break;
+            }
+        }
+        return actText;
+    }
+
+    //
+    private String getFaultText(int faultSn, String fault) {
+        String[] faultGroupArray = fault.split(",");
+        String faultText = "";
+        for (int a = 0; a < faultGroupArray.length; a++) {
+            String falutGroup = faultGroupArray[a];
+            String[] faultArray = falutGroup.split(":");
+            if (Integer.parseInt(faultArray[0]) == faultSn) {
+                faultText = faultArray[1];
+                break;
+            }
+        }
+        return faultText;
+    }
+
     //
     public JSONObject buildDataObj(String[] dataArray) {
         JSONObject dataJo = new JSONObject();

Dosya farkı çok büyük olduğundan ihmal edildi
+ 12 - 10
huimv-env-platform/huimv-env-device/src/main/resources/application.properties


Dosya farkı çok büyük olduğundan ihmal edildi
+ 2 - 0
huimv-env-platform/huimv-env-device/src/main/resources/conf/config.properties


+ 61 - 0
huimv-env-platform/huimv-env-device/src/test/java/com/huimv/env/device/service/DeviceTest.java

@@ -0,0 +1,61 @@
+package com.huimv.env.device.service;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.huimv.env.device.config.ConfigBean;
+import com.huimv.env.device.listener.DeviceListener;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.annotation.security.RunAs;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@SpringBootTest
+@RunWith(SpringRunner.class)
+public class DeviceTest {
+    @Autowired
+    private Show show;
+    @Autowired
+    private ConfigBean configBean;
+
+    @Test
+    public void test1(){
+        show.show1();
+
+        JSONArray testJa = new JSONArray();
+        JSONObject testJo = new JSONObject();
+        testJa.add(testJo);
+        testJo.put("id",0);
+        testJo.put("fault","初始化");
+        JSONObject testJo2 = new JSONObject();
+        testJa.add(testJo2);
+        testJo2.put("id",0);
+        testJo2.put("fault","初始化");
+        System.out.println("testJa="+testJa.toJSONString());
+    }
+
+    @Test
+    public void test2() {
+        show.show2();
+    }
+
+    @Test
+    public void test3(){
+        String act = configBean.getAct();
+        String fault = configBean.getFault();
+        System.out.println("act="+act);
+        System.out.println("fault="+fault);
+    }
+}

+ 1 - 1
huimv-env-platform/huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java

@@ -263,7 +263,7 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
             System.out.println("##获取报警使能请求-未注册设备 idCode=" + idCode);
             return;
         }
-        String answerText = "hm+115+14+1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)1(122)+0+4+end";
+        String answerText = "hm+115+14+1(122)1(122)1(122)1(122)+0+4+end";
         log.info(">>获取报警使能请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);
     }

+ 3 - 3
huimv-env-platform/huimv-env-input/src/main/resources/application-test.yml

@@ -3,10 +3,10 @@ server:
 
 spring:
   application:
-    name: huimv-eartag2-input
+    name: huimv-env-input
 
   datasource:
-    url: jdbc:mysql://192.168.1.7:3306/huimv-demo-eartag20?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    url: jdbc:mysql://192.168.1.7:3306/huimv-env-platform?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
     username: root
     password: hm123456
     driver-class-name: com.mysql.cj.jdbc.Driver
@@ -32,7 +32,7 @@ spring:
     username: admin
     password: admin
     #虚拟host 可以不设置,使用server默认host
-    virtual-host: /
+    virtual-host: /env
 
     #确认消息已发送到交换机(Exchange)
 #    publisher-confirms: true #(过时、弃用)

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

@@ -0,0 +1,31 @@
+spring.profiles.active=dev
+
+#�����������
+management.endpoints.web.exposure.include=*
+
+#########################################################
+###             ����undertowȡ��tomcat                ###
+#########################################################
+# �Ƿ�� undertow ��־��Ĭ��Ϊ false
+server.undertow.accesslog.enabled=false
+# ���÷�����־����Ŀ¼
+server.undertow.accesslog.dir=logs
+# ָ���������̵߳� I/0 �߳�����Ĭ��Ϊ 2 ���� CPU �ĸ���
+server.undertow.io-threads=
+# ָ���������̸߳�����Ĭ��Ϊ I/O �̸߳����� 8 ��
+server.undertow.worker-threads=
+# ���� HTTP POST ���ݵ���󳤶ȣ�Ĭ�ϲ�������
+server.undertow.max-http-post-size=0
+
+#########################################################
+###   Actuator Monitor  --   Actuator configuration   ###
+#########################################################
+management.security.enabled=false
+
+# ���ݴ�������
+data.input.flow=2
+
+# �Ƿ�д���������(1:д�� 0:��д��)
+data.test.input=0
+
+

+ 24 - 0
huimv-env-platform/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>