flySnail 4 anos atrás
pai
commit
6ffc3100ec

+ 1 - 0
.idea/artifacts/environment_jar.xml

@@ -3,6 +3,7 @@
     <output-path>$PROJECT_DIR$/out/artifacts/environment_jar</output-path>
     <root id="archive" name="environment.jar">
       <element id="module-output" name="environment" />
+      <element id="extracted-dir" path="$PROJECT_DIR$/lib/mysql-connector-java-8.0.26.jar" path-in-jar="/" />
     </root>
   </artifact>
 </component>

+ 8 - 0
.idea/compiler.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <bytecodeTargetLevel>
+      <module name="environment" target="1.8" />
+    </bytecodeTargetLevel>
+  </component>
+</project>

+ 0 - 9
.idea/libraries/mysql_connector_java_5_1_44_bin.xml

@@ -1,9 +0,0 @@
-<component name="libraryTable">
-  <library name="mysql-connector-java-5.1.44-bin">
-    <CLASSES>
-      <root url="jar://$PROJECT_DIR$/lib/mysql-connector-java-5.1.44-bin.jar!/" />
-    </CLASSES>
-    <JAVADOC />
-    <SOURCES />
-  </library>
-</component>

+ 9 - 0
.idea/libraries/mysql_connector_java_8_0_26.xml

@@ -0,0 +1,9 @@
+<component name="libraryTable">
+  <library name="mysql-connector-java-8.0.26">
+    <CLASSES>
+      <root url="jar://$PROJECT_DIR$/lib/mysql-connector-java-8.0.26.jar!/" />
+    </CLASSES>
+    <JAVADOC />
+    <SOURCES />
+  </library>
+</component>

+ 1 - 1
.idea/misc.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/out" />
   </component>
 </project>

+ 6 - 0
.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>

+ 205 - 127
.idea/workspace.xml

@@ -6,7 +6,20 @@
     </artifacts-to-build>
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="7aad9f36-ff4d-497f-a3ef-f24f4703c514" name="Default" comment="" />
+    <list default="true" id="7aad9f36-ff4d-497f-a3ef-f24f4703c514" name="Default" comment="">
+      <change afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/.idea/libraries/mysql_connector_java_8_0_26.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/artifacts/environment_jar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/artifacts/environment_jar.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/libraries/mysql_connector_java_5_1_44_bin.xml" beforeDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/environment.iml" beforeDir="false" afterPath="$PROJECT_DIR$/environment.iml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/Main.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Main.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/MysqlTool.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/MysqlTool.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/UDPServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/UDPServer.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/factoryProtocol/Packet.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/factoryProtocol/Packet.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/src/factoryProtocol/Parser.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/factoryProtocol/Parser.java" afterDir="false" />
+    </list>
     <ignored path="$PROJECT_DIR$/out/" />
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="TRACKING_ENABLED" value="true" />
@@ -15,120 +28,117 @@
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
     <option name="LAST_RESOLUTION" value="IGNORE" />
   </component>
+  <component name="CoverageDataManager">
+    <SUITE FILE_PATH="coverage/environment$java.ic" NAME="java Coverage Results" MODIFIED="1632644739117" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false" />
+  </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
       <file leaf-file-name="Main.java" pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/src/Main.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="310">
-              <caret line="57" column="18" selection-start-line="57" selection-start-column="18" selection-end-line="57" selection-end-column="18" />
-              <folding>
-                <element signature="imports" expanded="true" />
-              </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file leaf-file-name="MysqlTool.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/MysqlTool.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="2403">
-              <caret line="93" column="13" selection-start-line="93" selection-start-column="13" selection-end-line="93" selection-end-column="13" />
+            <state relative-caret-position="573">
+              <caret line="48" column="54" selection-start-line="48" selection-start-column="48" selection-end-line="48" selection-end-column="54" />
               <folding>
                 <element signature="imports" expanded="true" />
-                <element signature="e#720#721#0" expanded="true" />
-                <element signature="e#742#743#0" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="EnvironmentList.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/entity/EnvironmentList.java">
+      <file leaf-file-name="TCPClient.java" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/TCPClient.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="81">
-              <caret line="3" column="28" selection-start-line="3" selection-start-column="13" selection-end-line="3" selection-end-column="28" />
+            <state relative-caret-position="405">
+              <caret line="22" column="22" selection-start-line="22" selection-start-column="21" selection-end-line="22" selection-end-column="22" />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="Statement.java" pinned="false" current-in-tab="false">
-        <entry file="jar://D:/software/Android/jdk1_8/src.zip!/java/sql/Statement.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="1107">
-              <caret line="64" column="13" selection-start-line="64" selection-start-column="4" selection-end-line="64" selection-end-column="13" />
-            </state>
-          </provider>
+      <file leaf-file-name="environment.iml" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/environment.iml">
+          <provider selected="true" editor-type-id="text-editor" />
         </entry>
       </file>
-      <file leaf-file-name="HttpClient.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/HttpClient.java">
+      <file leaf-file-name="Payload.java" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/common/Payload.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="918">
-              <caret line="37" selection-start-line="37" selection-end-line="51" selection-end-column="13" />
+            <state relative-caret-position="837">
+              <caret line="32" column="22" selection-start-line="32" selection-start-column="15" selection-end-line="32" selection-end-column="22" />
+              <folding>
+                <element signature="e#973#974#0" expanded="true" />
+                <element signature="e#1003#1004#0" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="UDPServer.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/UDPServer.java">
+      <file leaf-file-name="MysqlTool.java" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/MysqlTool.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="756">
-              <caret line="37" selection-start-line="37" selection-end-line="41" selection-end-column="21" />
+            <state relative-caret-position="189">
+              <caret line="13" column="59" selection-start-line="13" selection-start-column="59" selection-end-line="13" selection-end-column="59" />
               <folding>
-                <element signature="e#467#468#0" expanded="true" />
-                <element signature="e#494#495#0" expanded="true" />
+                <element signature="imports" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="Main.class" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/out/production/environment/Main.class">
+      <file leaf-file-name="Parser.java" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/factoryProtocol/Parser.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="918">
-              <caret line="41" column="13" selection-start-line="41" selection-start-column="13" selection-end-line="41" selection-end-column="13" />
+            <state relative-caret-position="594">
+              <caret line="22" column="18" selection-start-line="22" selection-start-column="18" selection-end-line="22" selection-end-column="18" />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="TCPClient.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/TCPClient.java">
+      <file leaf-file-name="HttpClient.java" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/HttpClient.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="54">
-              <caret line="9" column="22" selection-start-line="9" selection-start-column="22" selection-end-line="9" selection-end-column="22" />
+            <state relative-caret-position="81">
+              <caret line="6" column="25" selection-start-line="6" selection-start-column="25" selection-end-line="6" selection-end-column="25" />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="Parser.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/factoryProtocol/Parser.java">
+      <file leaf-file-name="Packet.java" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/factoryProtocol/Packet.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="756">
-              <caret line="28" column="35" selection-start-line="28" selection-start-column="35" selection-end-line="28" selection-end-column="35" />
+            <state relative-caret-position="297">
+              <caret line="11" column="38" selection-start-line="11" selection-start-column="38" selection-end-line="11" selection-end-column="38" />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="Packet.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/src/factoryProtocol/Packet.java">
+      <file leaf-file-name="UDPServer.java" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/UDPServer.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="216">
-              <caret line="8" column="3" selection-start-line="8" selection-start-column="3" selection-end-line="8" selection-end-column="39" />
+            <state relative-caret-position="756">
+              <caret line="37" column="45" selection-start-line="37" selection-start-column="45" selection-end-line="37" selection-end-column="45" />
+              <folding>
+                <element signature="e#467#468#0" expanded="true" />
+                <element signature="e#494#495#0" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
     </leaf>
   </component>
+  <component name="Git.Settings">
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
+  </component>
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/src/UDPServer.java" />
         <option value="$PROJECT_DIR$/src/entity/ElectricEnergy.java" />
         <option value="$PROJECT_DIR$/src/HttpClient.java" />
-        <option value="$PROJECT_DIR$/src/MysqlTool.java" />
+        <option value="$PROJECT_DIR$/src/factoryProtocol/Packet.java" />
+        <option value="$PROJECT_DIR$/src/factoryProtocol/Parser.java" />
+        <option value="$PROJECT_DIR$/src/UDPServer.java" />
         <option value="$PROJECT_DIR$/src/Main.java" />
+        <option value="$PROJECT_DIR$/src/MysqlTool.java" />
       </list>
     </option>
   </component>
@@ -142,17 +152,18 @@
     <packageJsonPaths />
   </component>
   <component name="ProjectFrameBounds" extendedState="6">
-    <option name="x" value="-3781" />
-    <option name="y" value="21" />
-    <option name="width" value="1741" />
-    <option name="height" value="971" />
+    <option name="x" value="-3848" />
+    <option name="y" value="-22" />
+    <option name="width" value="1936" />
+    <option name="height" value="1056" />
   </component>
+  <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
   <component name="ProjectView">
     <navigator proportions="" version="1">
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
-      <pane id="PackagesPane" />
+      <pane id="AndroidView" />
       <pane id="Scope" />
       <pane id="ProjectPane">
         <subPane>
@@ -164,25 +175,55 @@
             <path>
               <item name="environment" type="b2602c69:ProjectViewProjectNode" />
               <item name="environment" type="462c0819:PsiDirectoryNode" />
+              <item name="lib" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="environment" type="b2602c69:ProjectViewProjectNode" />
+              <item name="environment" type="462c0819:PsiDirectoryNode" />
+              <item name="out" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="environment" type="b2602c69:ProjectViewProjectNode" />
+              <item name="environment" type="462c0819:PsiDirectoryNode" />
+              <item name="out" type="462c0819:PsiDirectoryNode" />
+              <item name="artifacts" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="environment" type="b2602c69:ProjectViewProjectNode" />
+              <item name="environment" type="462c0819:PsiDirectoryNode" />
+              <item name="out" type="462c0819:PsiDirectoryNode" />
+              <item name="artifacts" type="462c0819:PsiDirectoryNode" />
+              <item name="environment_jar" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="environment" type="b2602c69:ProjectViewProjectNode" />
+              <item name="environment" type="462c0819:PsiDirectoryNode" />
               <item name="src" type="462c0819:PsiDirectoryNode" />
             </path>
+            <path>
+              <item name="environment" type="b2602c69:ProjectViewProjectNode" />
+              <item name="External Libraries" type="cb654da1:ExternalLibrariesNode" />
+            </path>
           </expand>
           <select />
         </subPane>
       </pane>
-      <pane id="AndroidView" />
+      <pane id="PackagesPane" />
     </panes>
   </component>
   <component name="PropertiesComponent">
     <property name="WebServerToolWindowFactoryState" value="false" />
     <property name="aspect.path.notification.shown" value="true" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/lib/mysql-connector-java-5.1.44-bin.jar!/" />
-    <property name="project.structure.last.edited" value="Project" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/lib/mysql-connector-java-8.0.26.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="settings.editor.selected.configurable" value="configurable.group.build" />
+    <property name="project.structure.side.proportion" value="0.29942858" />
+    <property name="settings.editor.selected.configurable" value="preferences.pluginManager" />
   </component>
   <component name="RecentsManager">
+    <key name="MoveFile.RECENT_KEYS">
+      <recent name="D:\workspace\ideaWorkSpace\environment\lib" />
+    </key>
     <key name="CopyClassDialog.RECENTS_KEY">
       <recent name="entity" />
       <recent name="" />
@@ -273,43 +314,66 @@
       <workItem from="1631441054924" duration="1847000" />
       <workItem from="1631584155054" duration="654000" />
       <workItem from="1631586191200" duration="9000" />
+      <workItem from="1631607707875" duration="748000" />
+      <workItem from="1631613420073" duration="157000" />
+      <workItem from="1631782906008" duration="1447000" />
+      <workItem from="1631796090579" duration="12000" />
+      <workItem from="1631850180493" duration="705000" />
+      <workItem from="1632637725776" duration="13942000" />
+      <workItem from="1632708528142" duration="157000" />
+      <workItem from="1632708705954" duration="50000" />
+      <workItem from="1633913065709" duration="858000" />
+      <workItem from="1633918811778" duration="21000" />
+      <workItem from="1633918848594" duration="132000" />
+      <workItem from="1633919381101" duration="73000" />
+      <workItem from="1633919467165" duration="544000" />
+      <workItem from="1634893688703" duration="1699000" />
+      <workItem from="1635214333902" duration="39000" />
+      <workItem from="1635391927110" duration="853000" />
+      <workItem from="1635991595716" duration="49000" />
+      <workItem from="1642474148791" duration="923000" />
+      <workItem from="1644471565386" duration="643000" />
+      <workItem from="1644475643141" duration="17000" />
+      <workItem from="1646033061985" duration="48000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="16480000" />
+    <option name="totallyTimeSpent" value="39597000" />
   </component>
   <component name="ToolWindowManager">
-    <frame x="-3848" y="-8" width="1936" height="1056" extended-state="6" />
+    <frame x="-3848" y="-22" width="1936" height="1056" extended-state="6" />
     <layout>
       <window_info anchor="right" id="Palette" order="3" />
       <window_info anchor="bottom" id="TODO" order="6" />
+      <window_info anchor="right" id="RestServices" order="4" />
       <window_info anchor="right" id="Palette&#9;" order="3" />
       <window_info id="Image Layers" order="2" />
       <window_info anchor="right" id="Capture Analysis" order="3" />
       <window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
       <window_info anchor="right" id="Maven Projects" order="3" />
       <window_info anchor="bottom" id="Database Changes" order="7" show_stripe_button="false" />
-      <window_info anchor="bottom" id="Version Control" order="7" show_stripe_button="false" />
-      <window_info anchor="bottom" id="Run" order="2" weight="0.49064907" />
+      <window_info anchor="bottom" id="Run" order="2" weight="0.12732096" />
+      <window_info anchor="bottom" id="Version Control" order="7" />
       <window_info anchor="bottom" id="Terminal" order="7" />
       <window_info id="Capture Tool" order="2" />
       <window_info id="Designer" order="2" />
-      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.18020834" />
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.1945629" />
       <window_info anchor="right" id="Database" order="3" />
       <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
       <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
       <window_info id="UI Designer" order="2" />
       <window_info anchor="right" id="Theme Preview" order="3" />
-      <window_info id="Favorites" order="2" side_tool="true" />
       <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
-      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
+      <window_info id="Favorites" order="2" side_tool="true" />
+      <window_info anchor="bottom" id="Messages" order="7" weight="0.3287234" />
       <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
-      <window_info anchor="bottom" id="Messages" order="7" weight="0.32943678" />
       <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
-      <window_info anchor="bottom" id="Message" order="0" />
-      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
       <window_info anchor="bottom" id="Find" order="1" />
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
+      <window_info anchor="bottom" id="Message" order="0" />
+      <window_info active="true" anchor="bottom" id="Eval Reset" order="8" visible="true" weight="0.5291777" />
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
     </layout>
   </component>
   <component name="TypeScriptGeneratedFilesManager">
@@ -319,20 +383,6 @@
     <option name="myLimit" value="2678400000" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/out/production/environment/Main.class">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="918">
-          <caret line="41" column="13" selection-start-line="41" selection-start-column="13" selection-end-line="41" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/TCPClient.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="54">
-          <caret line="9" column="22" selection-start-line="9" selection-start-column="22" selection-end-line="9" selection-end-column="22" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/src/factoryProtocol/Parser.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="756">
@@ -363,8 +413,6 @@
           <caret line="93" column="13" selection-start-line="93" selection-start-column="13" selection-end-line="93" selection-end-column="13" />
           <folding>
             <element signature="imports" expanded="true" />
-            <element signature="e#720#721#0" expanded="true" />
-            <element signature="e#742#743#0" expanded="true" />
           </folding>
         </state>
       </provider>
@@ -640,24 +688,10 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/factoryProtocol/Parser.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="756">
-          <caret line="28" column="35" selection-start-line="28" selection-start-column="35" selection-end-line="28" selection-end-column="35" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/out/production/environment/Main.class">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="918">
-          <caret line="41" column="13" selection-start-line="41" selection-start-column="13" selection-end-line="41" selection-end-column="13" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/TCPClient.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="54">
-          <caret line="9" column="22" selection-start-line="9" selection-start-column="22" selection-end-line="9" selection-end-column="22" />
+        <state relative-caret-position="810">
+          <caret line="42" column="13" selection-start-line="42" selection-start-column="13" selection-end-line="42" selection-end-column="13" />
         </state>
       </provider>
     </entry>
@@ -675,17 +709,45 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/src/common/Payload.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="837">
+          <caret line="32" column="22" selection-start-line="32" selection-start-column="15" selection-end-line="32" selection-end-column="22" />
+          <folding>
+            <element signature="e#973#974#0" expanded="true" />
+            <element signature="e#1003#1004#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/src/factoryProtocol/Packet.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="216">
-          <caret line="8" column="3" selection-start-line="8" selection-start-column="3" selection-end-line="8" selection-end-column="39" />
+        <state relative-caret-position="297">
+          <caret line="11" column="38" selection-start-line="11" selection-start-column="38" selection-end-line="11" selection-end-column="38" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/environment.iml">
+      <provider selected="true" editor-type-id="text-editor" />
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/HttpClient.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="81">
+          <caret line="6" column="25" selection-start-line="6" selection-start-column="25" selection-end-line="6" selection-end-column="25" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/TCPClient.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="405">
+          <caret line="22" column="22" selection-start-line="22" selection-start-column="21" selection-end-line="22" selection-end-column="22" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/UDPServer.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="756">
-          <caret line="37" selection-start-line="37" selection-end-line="41" selection-end-column="21" />
+          <caret line="37" column="45" selection-start-line="37" selection-start-column="45" selection-end-line="37" selection-end-column="45" />
           <folding>
             <element signature="e#467#468#0" expanded="true" />
             <element signature="e#494#495#0" expanded="true" />
@@ -693,29 +755,27 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/HttpClient.java">
+    <entry file="file://$PROJECT_DIR$/src/factoryProtocol/Parser.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="918">
-          <caret line="37" selection-start-line="37" selection-end-line="51" selection-end-column="13" />
+        <state relative-caret-position="594">
+          <caret line="22" column="18" selection-start-line="22" selection-start-column="18" selection-end-line="22" selection-end-column="18" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/MysqlTool.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2403">
-          <caret line="93" column="13" selection-start-line="93" selection-start-column="13" selection-end-line="93" selection-end-column="13" />
+        <state relative-caret-position="189">
+          <caret line="13" column="59" selection-start-line="13" selection-start-column="59" selection-end-line="13" selection-end-column="59" />
           <folding>
             <element signature="imports" expanded="true" />
-            <element signature="e#720#721#0" expanded="true" />
-            <element signature="e#742#743#0" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/Main.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="310">
-          <caret line="57" column="18" selection-start-line="57" selection-start-column="18" selection-end-line="57" selection-end-column="18" />
+        <state relative-caret-position="573">
+          <caret line="48" column="54" selection-start-line="48" selection-start-column="48" selection-end-line="48" selection-end-column="54" />
           <folding>
             <element signature="imports" expanded="true" />
           </folding>
@@ -725,14 +785,32 @@
   </component>
   <component name="masterDetails">
     <states>
+      <state key="ArquillianSettingsConfigurable.UI">
+        <settings>
+          <splitter-proportions>
+            <option name="proportions">
+              <list>
+                <option value="0.2" />
+              </list>
+            </option>
+          </splitter-proportions>
+        </settings>
+      </state>
       <state key="ArtifactsStructureConfigurable.UI">
         <settings>
-          <artifact-editor />
+          <artifact-editor>
+            <show-content>
+              <type id="library" />
+              <type id="artifact" />
+              <type id="jpa-descriptors" />
+              <type id="javaee-facet-resources" />
+            </show-content>
+          </artifact-editor>
           <last-edited>environment:jar</last-edited>
           <splitter-proportions>
             <option name="proportions">
               <list>
-                <option value="0.2" />
+                <option value="0.29942858" />
                 <option value="0.5" />
               </list>
             </option>
@@ -745,7 +823,7 @@
           <splitter-proportions>
             <option name="proportions">
               <list>
-                <option value="0.2" />
+                <option value="0.29942858" />
               </list>
             </option>
           </splitter-proportions>
@@ -768,7 +846,7 @@
           <splitter-proportions>
             <option name="proportions">
               <list>
-                <option value="0.2" />
+                <option value="0.29942858" />
               </list>
             </option>
           </splitter-proportions>
@@ -780,7 +858,7 @@
           <splitter-proportions>
             <option name="proportions">
               <list>
-                <option value="0.2" />
+                <option value="0.29942858" />
               </list>
             </option>
           </splitter-proportions>
@@ -788,11 +866,11 @@
       </state>
       <state key="ProjectLibrariesConfigurable.UI">
         <settings>
-          <last-edited>mysql-connector-java-5.1.44-bin</last-edited>
+          <last-edited>mysql-connector-java-8.0.26</last-edited>
           <splitter-proportions>
             <option name="proportions">
               <list>
-                <option value="0.2" />
+                <option value="0.29942858" />
               </list>
             </option>
           </splitter-proportions>

+ 14 - 3
environment.iml

@@ -1,12 +1,23 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
+    <output url="file://$MODULE_DIR$/out/production/environment" />
+    <output-test url="file://$MODULE_DIR$/out/test/environment" />
     <exclude-output />
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
     </content>
-    <orderEntry type="inheritedJdk" />
+    <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
     <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" name="mysql-connector-java-5.1.44-bin" level="project" />
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/lib/mysql-connector-java-8.0.26.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="library" name="mysql-connector-java-8.0.26" level="project" />
   </component>
 </module>

+ 22 - 16
src/Main.java

@@ -7,7 +7,7 @@ import java.util.Date;
 
 public class Main {
     private static UDPServer udpServer;
-    private static int DUP_PORT = 8001;
+    private static int DUP_PORT = 7002;
     private static HttpClient httpClient;
     private static MysqlTool mysqlTool;
     public static byte[]  imei = {0x11,0x22,0x33,0x44,0x55,0x66};
@@ -19,7 +19,7 @@ public class Main {
         udpServer = new UDPServer(DUP_PORT) {
             @Override
             protected void onDataReceive(Packet data) {
-                //mysqlTool.queryAll();
+                mysqlTool.queryAll();
 
                 float temperature;
                 float humidity;
@@ -27,22 +27,28 @@ public class Main {
                 float pm25;
                 float pm10;
                 float db;
-                String HTTP_URL = "http://192.168.161.230:9999/api/environment/recordUpload";
+                String HTTP_URL = "https://chtech.ncjti.edu.cn/bigdata-api/api/environment/recordUpload";
 
                 String code = String.format("%02X%02X%02X%02X%02X%02X",data.imei[0],data.imei[1],data.imei[2],data.imei[3],data.imei[4],data.imei[5]);
                 String name = mysqlTool.queryNameByCade(code);
-                System.out.println(code+"  "+name);
-                ByteBuffer  buff= data.payload.getData();
+                if(name=="")    // 没有记录IMEI点位
+                {
+                    System.out.println("----There is no record:"+code);
+                }else{
+                    String location = mysqlTool.queryLocationByCade(code);
+                    System.out.println(code+"  "+name+"  "+location);
+                    ByteBuffer  buff= data.payload.getData();
 
-                temperature=  (buff.get(0)<<24 | buff.get(1)<<16 | buff.get(2)<<8 | buff.get(3))/10.0f;
-                humidity=  (buff.get(4)<<24 | buff.get(5)<<16 | buff.get(6)<<8 | buff.get(7))/10.0f;
-                negaticeO2Ion=  (buff.get(8)<<24 | buff.get(9)<<16 | buff.get(10)<<8 | buff.get(1))/10.0f;
-                pm25=  (buff.get(12)<<24 | buff.get(13)<<16 | buff.get(14)<<8 | buff.get(15))/10.0f;
-                pm10=  (buff.get(16)<<24 | buff.get(17)<<16 | buff.get(18)<<8 | buff.get(19))/10.0f;
-                db=  (buff.get(20)<<24 | buff.get(21)<<16 | buff.get(22)<<8 | buff.get(23))/10.0f;
+                    temperature=  ((0x000000FF & (int)buff.get(0))<<24 | (0x000000FF & (int)buff.get(1))<<16 | (0x000000FF & (int)buff.get(2))<<8 | (0x000000FF & (int)buff.get(3)))/10.0f;
+                    humidity=  ((0x000000FF & (int)buff.get(4))<<24 | (0x000000FF & (int)buff.get(5))<<16 | (0x000000FF & (int)buff.get(6))<<8 | (0x000000FF & (int)buff.get(7)))/10.0f;
+                    db=   ((0x000000FF & (int)buff.get(8))<<24 | (0x000000FF & (int)buff.get(9))<<16 | (0x000000FF & (int)buff.get(10))<<8 | (0x000000FF & (int)buff.get(11)))/10.0f;
+                    pm25=  ((0x000000FF & (int)buff.get(12))<<24 | (0x000000FF & (int)buff.get(13))<<16 | (0x000000FF & (int)buff.get(14))<<8 | (0x000000FF & (int)buff.get(15)));
+                    pm10=  ((0x000000FF & (int)buff.get(16))<<24 | (0x000000FF & (int)buff.get(17))<<16 | (0x000000FF & (int)buff.get(18))<<8 | (0x000000FF & (int)buff.get(19)));
+                    negaticeO2Ion=  ((0x000000FF & (int)buff.get(20))<<24 | (0x000000FF & (int)buff.get(21))<<16 | (0x000000FF & (int)buff.get(22))<<8 | (0x000000FF & (int)buff.get(23)));
 
-                String message = httpClient.doPost(HTTP_URL,upLoadData(code,name,temperature, humidity, negaticeO2Ion, pm25, pm10, db));
-                System.out.println(message);
+                    String message = httpClient.doPost(HTTP_URL,upLoadData(code,name,location,temperature, humidity, negaticeO2Ion, pm25, pm10, db));
+                    System.out.println(message);
+                }
             }
         };
         udpServer.start();
@@ -60,10 +66,10 @@ public class Main {
      * @param db
      * @return
      */
-    private static String upLoadData(String code, String name, float temperature, float humidity, float negaticeo2ion, float pm25, float pm10, float db) {
+    private static String upLoadData(String code, String name,  String location,float temperature, float humidity, float negaticeo2ion, float pm25, float pm10, float db) {
         Date dNow = new Date( );
-        SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
-        String dataStr = "{\"pointCode\":\""+code+"\",\"pointName\":\""+name+"\",\"temperature\":"+String.format("%.1f",temperature)+",\"humidity\":"+String.format("%.1f",humidity)+",\"negaticeo2ion\":"+String.format("%.1f",negaticeo2ion)+",\"pm25\":"+String.format("%.1f",pm25)+",\"pm10\":"+String.format("%.1f",pm10)+",\"db\":"+String.format("%.1f",db)+",\"updateTime\":\""+ft.format(dNow)+"\"}";
+        SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
+        String dataStr = "{\"pointCode\":\""+code+"\",\"pointName\":\""+name+"\",\"pointLocation\":\""+location+"\",\"temperature\":"+String.format("%.1f",temperature)+",\"humidity\":"+String.format("%.1f",humidity)+",\"negaticeo2ion\":"+String.format("%.1f",negaticeo2ion)+",\"pm25\":"+String.format("%.1f",pm25)+",\"pm10\":"+String.format("%.1f",pm10)+",\"db\":"+String.format("%.1f",db)+",\"updateTime\":\""+ft.format(dNow)+"\"}";
         System.out.println(dataStr);
         return dataStr;
     }

+ 38 - 9
src/MysqlTool.java

@@ -6,13 +6,12 @@ import java.sql.*;
 public class MysqlTool {
 
     // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL
-    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
-    static final String DB_URL = "jdbc:mysql://localhost:3306/new_school";
+    //static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
+    //static final String DB_URL = "jdbc:mysql://localhost:3306/new_school";
 
     // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL
-    //static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
-    //static final String DB_URL = "jdbc:mysql://localhost:3306/demo?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
-
+    static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
+    static final String DB_URL = "jdbc:mysql://172.16.20.44:3306/new_school?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&useSSL=false";
     // 数据库的用户名与密码,需要根据自己的设置
     static final String USER = "root";
     static final String PASS = "123456";
@@ -58,10 +57,10 @@ public class MysqlTool {
                 String name = rs.getString("point_name");
 
                 // 输出数据
-                System.out.print("ID: " + id);
-                System.out.print(",名称: " + name);
-                System.out.print(",编号: " + code);
-                System.out.print("\n");
+//                System.out.print("ID: " + id);
+//                System.out.print(",名称: " + name);
+//                System.out.print(",编号: " + code);
+//                System.out.print("\n");
             }
             // 完成后关闭
             rs.close();
@@ -104,6 +103,36 @@ public class MysqlTool {
         return name;
     }
 
+
+    /**
+     * 根据code查找名字
+     * @param code
+     * @return
+     */
+    public String queryLocationByCade(String code){
+        String location = null;
+        try{
+            String sql;
+            sql = "SELECT point_location FROM environment_list where point_code=\""+code+"\";";
+            ResultSet rs = stmt.executeQuery(sql);
+//            ResultSetMetaData data = rs.getMetaData();  // 获取字段名
+            if(rs.next())
+            {
+                location=rs.getString("point_location");
+                //System.out.print("名称: " + name+"\n");
+            }
+            // 完成后关闭
+            rs.close();
+        }catch(SQLException se){
+            // 处理 JDBC 错误
+            se.printStackTrace();
+        }catch(Exception e){
+            // 处理 Class.forName 错误
+            e.printStackTrace();
+        }
+        return location;
+    }
+
     /**
      * 按照ID插入时间信息
      * @param id

+ 1 - 1
src/UDPServer.java

@@ -34,7 +34,7 @@ public abstract class UDPServer extends Thread {
                 // 依次解析数据
                 for (int i=0;i<datagramPacket.getLength();i++)
                 {
-                    System.out.print(String.format("%x ",buf[i]));
+                   System.out.print(String.format("%x ",buf[i]));
                     packet = parser.message_parse_char(buf[i]);
                     if(packet != null){
                         System.out.println("解析成功");

+ 1 - 2
src/factoryProtocol/Packet.java

@@ -8,9 +8,8 @@ public class Packet {
     public  byte version;
     public  byte[]  imei = new byte[6];
     public int session;   // 4个字节长度
-    public byte  order = (byte) 0xA8;   // 固定
+    public byte  order = (byte) 0x03;   // 固定
     public int len = 0;   // 固定字节长度 24
-    public byte[]  versionFix = {0x00,0x01,0x00,0x01};  // 固定
     public Payload payload = null;   // 每4个字节合并成一个,如果温度是23.1的话 在报文中的表现是 00 00 00 e7,为231/10.0f
     public static final byte FCS = (byte) 0x00;  // 固定
 

+ 3 - 12
src/factoryProtocol/Parser.java

@@ -8,11 +8,10 @@ public class Parser {
     private static final int VERSION1 = 4;   // 环境设备固定是1字节
     private static final int IMEI = 5;       // 环境设备固定是6字节, 物联网卡的卡号
     private static final int SESSION = 6;    // 环境设备固定是4字节, 累加的数字
-    private static final int ORDER = 7;      // 环境设备固定是1字节 {0xA8}
+    private static final int ORDER = 7;      // 环境设备固定是1字节 {0x03}
     private static final int LEN = 8;  //    // 环境设备固定2字节
-    private static final int VERSION2 = 9;   // 环境设备固定是4字节  {0x00,0x01,0x00,0x01}
-    private static final int DATA = 10;      // 环境设备固定是24字节
-    private static final int FCS = 11;       // 环境设备固定是1字节 {0x00}
+    private static final int DATA = 9;      // 环境设备固定是24字节
+    private static final int FCS = 10;       // 环境设备固定是1字节 {0x00}
 
     private static boolean msg_received;
 
@@ -71,15 +70,7 @@ public class Parser {
                 lenTemp--;
                 if(lenTemp==0){
                     states = LEN;
-                    lenTemp = 4;
                     packet.setPayloadLen(packet.len);
-                }
-                break;
-            case VERSION2:
-                packet.versionFix[4-lenTemp] = b;
-                lenTemp--;
-                if(lenTemp==0){
-                    states = VERSION2;
                     packet.cleanPayload();
                 }
                 break;